mirror of
https://github.com/mozilla/pdf.js.git
synced 2026-07-28 18:07:21 +02:00
Replace PDFWorker.fromPort with a generic PDFWorker.create method
This allows us to simply invoke `PDFWorker.create` unconditionally from the `getDocument` function, without having to manually check if a global `workerPort` is available first.
This commit is contained in:
parent
278fc064eb
commit
ab672f0b77
@ -38,14 +38,15 @@ import {
|
|||||||
PrintAnnotationStorage,
|
PrintAnnotationStorage,
|
||||||
SerializableEmpty,
|
SerializableEmpty,
|
||||||
} from "./annotation_storage.js";
|
} from "./annotation_storage.js";
|
||||||
import { FontFaceObject, FontLoader } from "./font_loader.js";
|
|
||||||
import {
|
import {
|
||||||
|
deprecated,
|
||||||
isDataScheme,
|
isDataScheme,
|
||||||
isValidFetchUrl,
|
isValidFetchUrl,
|
||||||
PageViewport,
|
PageViewport,
|
||||||
RenderingCancelledException,
|
RenderingCancelledException,
|
||||||
StatTimer,
|
StatTimer,
|
||||||
} from "./display_utils.js";
|
} from "./display_utils.js";
|
||||||
|
import { FontFaceObject, FontLoader } from "./font_loader.js";
|
||||||
import { MessageHandler, wrapReason } from "../shared/message_handler.js";
|
import { MessageHandler, wrapReason } from "../shared/message_handler.js";
|
||||||
import {
|
import {
|
||||||
NodeCanvasFactory,
|
NodeCanvasFactory,
|
||||||
@ -383,15 +384,12 @@ function getDocument(src = {}) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
if (!worker) {
|
if (!worker) {
|
||||||
const workerParams = {
|
|
||||||
verbosity,
|
|
||||||
port: GlobalWorkerOptions.workerPort,
|
|
||||||
};
|
|
||||||
// Worker was not provided -- creating and owning our own. If message port
|
// Worker was not provided -- creating and owning our own. If message port
|
||||||
// is specified in global worker options, using it.
|
// is specified in global worker options, using it.
|
||||||
worker = workerParams.port
|
worker = PDFWorker.create({
|
||||||
? PDFWorker.fromPort(workerParams)
|
verbosity,
|
||||||
: new PDFWorker(workerParams);
|
port: GlobalWorkerOptions.workerPort,
|
||||||
|
});
|
||||||
task._worker = worker;
|
task._worker = worker;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2131,6 +2129,16 @@ class PDFWorker {
|
|||||||
new Blob([wrapper], { type: "text/javascript" })
|
new Blob([wrapper], { type: "text/javascript" })
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
this.fromPort = params => {
|
||||||
|
deprecated(
|
||||||
|
"`PDFWorker.fromPort` - please use `PDFWorker.create` instead."
|
||||||
|
);
|
||||||
|
if (!params?.port) {
|
||||||
|
throw new Error("PDFWorker.fromPort - invalid method signature.");
|
||||||
|
}
|
||||||
|
return this.create(params);
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
if (typeof PDFJSDev === "undefined" || PDFJSDev.test("TESTING")) {
|
if (typeof PDFJSDev === "undefined" || PDFJSDev.test("TESTING")) {
|
||||||
@ -2364,15 +2372,12 @@ class PDFWorker {
|
|||||||
* @param {PDFWorkerParameters} params - The worker initialization parameters.
|
* @param {PDFWorkerParameters} params - The worker initialization parameters.
|
||||||
* @returns {PDFWorker}
|
* @returns {PDFWorker}
|
||||||
*/
|
*/
|
||||||
static fromPort(params) {
|
static create(params) {
|
||||||
if (!params?.port) {
|
const cachedPort = this.#workerPorts.get(params?.port);
|
||||||
throw new Error("PDFWorker.fromPort - invalid method signature.");
|
|
||||||
}
|
|
||||||
const cachedPort = this.#workerPorts.get(params.port);
|
|
||||||
if (cachedPort) {
|
if (cachedPort) {
|
||||||
if (cachedPort._pendingDestroy) {
|
if (cachedPort._pendingDestroy) {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
"PDFWorker.fromPort - the worker is being destroyed.\n" +
|
"PDFWorker.create - the worker is being destroyed.\n" +
|
||||||
"Please remember to await `PDFDocumentLoadingTask.destroy()`-calls."
|
"Please remember to await `PDFDocumentLoadingTask.destroy()`-calls."
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1082,7 +1082,7 @@ describe("api", function () {
|
|||||||
getDocument(tracemonkeyGetDocumentParams);
|
getDocument(tracemonkeyGetDocumentParams);
|
||||||
}).toThrow(
|
}).toThrow(
|
||||||
new Error(
|
new Error(
|
||||||
"PDFWorker.fromPort - the worker is being destroyed.\n" +
|
"PDFWorker.create - the worker is being destroyed.\n" +
|
||||||
"Please remember to await `PDFDocumentLoadingTask.destroy()`-calls."
|
"Please remember to await `PDFDocumentLoadingTask.destroy()`-calls."
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user