[src/display/api.js] Use private static class fields, rather than shadowed getter work-arounds (PR 13813, 13882 follow-up)

At the time private static class fields were to new, however that's no longer an issue and we can thus (ever so slightly) simplify the code.
This commit is contained in:
Jonas Jenwald 2022-03-16 12:55:01 +01:00
parent 90c5e9882b
commit d5c9be341d

View File

@ -533,9 +533,7 @@ async function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {
* after which individual pages can be rendered.
*/
class PDFDocumentLoadingTask {
static get idCounters() {
return shadow(this, "idCounters", { doc: 0 });
}
static #docId = 0;
constructor() {
this._capability = createPromiseCapability();
@ -546,7 +544,7 @@ class PDFDocumentLoadingTask {
* Unique identifier for the document loading task.
* @type {string}
*/
this.docId = `d${PDFDocumentLoadingTask.idCounters.doc++}`;
this.docId = `d${PDFDocumentLoadingTask.#docId++}`;
/**
* Whether the loading task is destroyed or not.
@ -2017,16 +2015,14 @@ if (typeof PDFJSDev === "undefined" || PDFJSDev.test("GENERIC")) {
* @param {PDFWorkerParameters} params - The worker initialization parameters.
*/
class PDFWorker {
static get _workerPorts() {
return shadow(this, "_workerPorts", new WeakMap());
}
static #workerPorts = new WeakMap();
constructor({
name = null,
port = null,
verbosity = getVerbosityLevel(),
} = {}) {
if (port && PDFWorker._workerPorts.has(port)) {
if (port && PDFWorker.#workerPorts.has(port)) {
throw new Error("Cannot use more than one PDFWorker per port.");
}
@ -2040,7 +2036,7 @@ class PDFWorker {
this._messageHandler = null;
if (port) {
PDFWorker._workerPorts.set(port, this);
PDFWorker.#workerPorts.set(port, this);
this._initializeFromPort(port);
return;
}
@ -2245,7 +2241,7 @@ class PDFWorker {
this._webWorker.terminate();
this._webWorker = null;
}
PDFWorker._workerPorts.delete(this._port);
PDFWorker.#workerPorts.delete(this._port);
this._port = null;
if (this._messageHandler) {
this._messageHandler.destroy();
@ -2260,8 +2256,8 @@ class PDFWorker {
if (!params?.port) {
throw new Error("PDFWorker.fromPort - invalid method signature.");
}
if (this._workerPorts.has(params.port)) {
return this._workerPorts.get(params.port);
if (this.#workerPorts.has(params.port)) {
return this.#workerPorts.get(params.port);
}
return new PDFWorker(params);
}
@ -3196,9 +3192,7 @@ class RenderTask {
* @ignore
*/
class InternalRenderTask {
static get canvasInUse() {
return shadow(this, "canvasInUse", new WeakSet());
}
static #canvasInUse = new WeakSet();
constructor({
callback,
@ -3251,14 +3245,14 @@ class InternalRenderTask {
return;
}
if (this._canvas) {
if (InternalRenderTask.canvasInUse.has(this._canvas)) {
if (InternalRenderTask.#canvasInUse.has(this._canvas)) {
throw new Error(
"Cannot use the same canvas during multiple render() operations. " +
"Use different canvas or ensure previous operations were " +
"cancelled or completed."
);
}
InternalRenderTask.canvasInUse.add(this._canvas);
InternalRenderTask.#canvasInUse.add(this._canvas);
}
if (this._pdfBug && globalThis.StepperManager?.enabled) {
@ -3298,7 +3292,7 @@ class InternalRenderTask {
this.gfx.endDrawing();
}
if (this._canvas) {
InternalRenderTask.canvasInUse.delete(this._canvas);
InternalRenderTask.#canvasInUse.delete(this._canvas);
}
this.callback(
error ||
@ -3364,7 +3358,7 @@ class InternalRenderTask {
if (this.operatorList.lastChunk) {
this.gfx.endDrawing();
if (this._canvas) {
InternalRenderTask.canvasInUse.delete(this._canvas);
InternalRenderTask.#canvasInUse.delete(this._canvas);
}
this.callback();
}