From c02d0aa2cbf973dfe3213fd07b0a25e3c30b65ba Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Mon, 15 Aug 2022 11:44:26 +0200 Subject: [PATCH] A couple of small `PDFWorker` changes - Remove the `typeof Worker` check, since all browsers have had `Worker` support for many years now; see https://developer.mozilla.org/en-US/docs/Web/API/Worker#browser_compatibility Furthermore the `new Worker(...)` call is wrapped in try-catch, which means that we'll still fallback to "fake workers" if necessary. - Limit the `fallbackWorkerSrc` handling, in the `PDFWorker.workerSrc` getter, to only GENERIC builds since that's the only place where it's defined anyway. --- src/display/api.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/display/api.js b/src/display/api.js index 10d2e574c..0d2943669 100644 --- a/src/display/api.js +++ b/src/display/api.js @@ -2120,11 +2120,10 @@ class PDFWorker { // Right now, the requirement is, that an Uint8Array is still an // Uint8Array as it arrives on the worker. (Chrome added this with v.15.) if ( - typeof Worker !== "undefined" && !PDFWorkerUtil.isWorkerDisabled && !PDFWorker._mainThreadWorkerMessageHandler ) { - let workerSrc = PDFWorker.workerSrc; + let { workerSrc } = PDFWorker; try { // Wraps workerSrc path into blob URL, if the former does not belong @@ -2299,7 +2298,10 @@ class PDFWorker { if (GlobalWorkerOptions.workerSrc) { return GlobalWorkerOptions.workerSrc; } - if (PDFWorkerUtil.fallbackWorkerSrc !== null) { + if ( + (typeof PDFJSDev === "undefined" || PDFJSDev.test("GENERIC")) && + PDFWorkerUtil.fallbackWorkerSrc !== null + ) { if (!isNodeJS) { deprecated('No "GlobalWorkerOptions.workerSrc" specified.'); }