From 3ddb1720d98144a177136c96e47d79bb26ca2d09 Mon Sep 17 00:00:00 2001 From: Jon Ribbens Date: Wed, 2 Oct 2013 17:22:33 +0100 Subject: [PATCH] Fix bug in api.js whereby fake workers didn't load the worker code PDFJS does not work on Windows Safari, due to the lack of support for workers passing typed arrays. At some point, the code to set up the fake worker so that things work on Safari seems to have become broken and nobody noticed - it was just calling setupFakeWorker() without actually calling loadFakeWorkerFiles(). With this patch, the PDFJS works again on Windows Safari. --- src/display/api.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/display/api.js b/src/display/api.js index 974aebb83..0ea27b983 100644 --- a/src/display/api.js +++ b/src/display/api.js @@ -494,11 +494,14 @@ var WorkerTransport = (function WorkerTransportClosure() { if (supportTypedArray) { this.worker = worker; this.setupMessageHandler(messageHandler); + workerInitializedPromise.resolve(); } else { globalScope.PDFJS.disableWorker = true; - this.setupFakeWorker(); + this.loadFakeWorkerFiles().then(function() { + this.setupFakeWorker(); + workerInitializedPromise.resolve(); + }.bind(this)); } - workerInitializedPromise.resolve(); }.bind(this)); var testObj = new Uint8Array(1);