From 8519f87efb3a24b1a8a9f03e2e8d0728a7cd642d Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Thu, 19 Dec 2019 18:11:56 +0100 Subject: [PATCH] Re-factor the `setupFakeWorkerGlobal` function (in `src/display/api.js`), and the `loadFakeWorker` function (in `web/app.js`) This patch reduces some duplication, by moving *all* fake worker loader code into the `setupFakeWorkerGlobal` function. Furthermore, the functions are simplified further by using `async`/`await` where appropriate. --- src/display/api.js | 70 +++++++++++++++++++--------------------------- web/app.js | 17 ++++------- 2 files changed, 34 insertions(+), 53 deletions(-) diff --git a/src/display/api.js b/src/display/api.js index 545060958..b66b7d857 100644 --- a/src/display/api.js +++ b/src/display/api.js @@ -1468,9 +1468,8 @@ const PDFWorker = (function PDFWorkerClosure() { let isWorkerDisabled = false; let fallbackWorkerSrc; let nextFakeWorkerId = 0; - let fakeWorkerFilesLoadedCapability; + let fakeWorkerCapability; - let fakeWorkerFilesLoader = null; if (typeof PDFJSDev !== 'undefined' && PDFJSDev.test('GENERIC')) { if (isNodeJS && typeof __non_webpack_require__ === 'function') { // Workers aren't supported in Node.js, force-disabling them there. @@ -1481,16 +1480,6 @@ const PDFWorker = (function PDFWorkerClosure() { } else { fallbackWorkerSrc = './pdf.worker.js'; } - fakeWorkerFilesLoader = function() { - return new Promise(function(resolve, reject) { - try { - const worker = __non_webpack_require__(getWorkerSrc()); - resolve(worker.WorkerMessageHandler); - } catch (ex) { - reject(ex); - } - }); - }; } else if (typeof document === 'object' && 'currentScript' in document) { const pdfjsFilePath = document.currentScript && document.currentScript.src; @@ -1525,39 +1514,36 @@ const PDFWorker = (function PDFWorkerClosure() { // Loads worker code into main thread. function setupFakeWorkerGlobal() { - if (fakeWorkerFilesLoadedCapability) { - return fakeWorkerFilesLoadedCapability.promise; + if (fakeWorkerCapability) { + return fakeWorkerCapability.promise; } - fakeWorkerFilesLoadedCapability = createPromiseCapability(); + fakeWorkerCapability = createPromiseCapability(); - const mainWorkerMessageHandler = getMainThreadWorkerMessageHandler(); - if (mainWorkerMessageHandler) { - // The worker was already loaded using e.g. a `