From 0e2c6047e49eed38f7c3a0a0b02f7754abacec27 Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Tue, 9 Oct 2018 15:35:28 +0200 Subject: [PATCH] Ensure that `getMainThreadWorkerMessageHandler` won't accidentally break `getDocument` (PR 10139 follow-up) *This should have been part of PR 10139.* In the event that a user has attempted to manually load the worker file on the main-thread, but somehow failed to do that correctly, there's a possibility that `getMainThreadWorkerMessageHandler` could throw. Considering how/where that helper function is being called, an error could still prevent `PDFDocumentLoadingTask` from completing (regardless if it's being resolved/rejected). --- src/display/api.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/display/api.js b/src/display/api.js index 79b1dd0c5..5127c3219 100644 --- a/src/display/api.js +++ b/src/display/api.js @@ -1358,10 +1358,12 @@ var PDFWorker = (function PDFWorkerClosure() { } function getMainThreadWorkerMessageHandler() { - if (typeof window === 'undefined') { - return null; - } - return (window.pdfjsWorker && window.pdfjsWorker.WorkerMessageHandler); + try { + if (typeof window !== 'undefined') { + return (window.pdfjsWorker && window.pdfjsWorker.WorkerMessageHandler); + } + } catch (ex) { } + return null; } let fakeWorkerFilesLoadedCapability;