Browse Source

Merge pull request #4946 from Snuffleupagus/issue-3862

Refactor fake worker loading (issue 3862)
Yury Delendik 11 years ago
parent
commit
0f0f0688a1
  1. 21
      src/display/api.js

21
src/display/api.js

@ -707,6 +707,7 @@ var WorkerTransport = (function WorkerTransportClosure() { @@ -707,6 +707,7 @@ var WorkerTransport = (function WorkerTransportClosure() {
pdfDataRangeTransport, progressCallback) {
this.pdfDataRangeTransport = pdfDataRangeTransport;
this.workerInitializedCapability = workerInitializedCapability;
this.workerReadyCapability = workerReadyCapability;
this.progressCallback = progressCallback;
this.commonObjs = new PDFObjects();
@ -745,11 +746,7 @@ var WorkerTransport = (function WorkerTransportClosure() { @@ -745,11 +746,7 @@ var WorkerTransport = (function WorkerTransportClosure() {
this.setupMessageHandler(messageHandler);
workerInitializedCapability.resolve();
} else {
globalScope.PDFJS.disableWorker = true;
this.loadFakeWorkerFiles().then(function() {
this.setupFakeWorker();
workerInitializedCapability.resolve();
}.bind(this));
}
}.bind(this));
@ -771,11 +768,7 @@ var WorkerTransport = (function WorkerTransportClosure() { @@ -771,11 +768,7 @@ var WorkerTransport = (function WorkerTransportClosure() {
//#endif
// Either workers are disabled, not supported or have thrown an exception.
// Thus, we fallback to a faked worker.
globalScope.PDFJS.disableWorker = true;
this.loadFakeWorkerFiles().then(function() {
this.setupFakeWorker();
workerInitializedCapability.resolve();
}.bind(this));
}
WorkerTransport.prototype = {
destroy: function WorkerTransport_destroy() {
@ -790,7 +783,9 @@ var WorkerTransport = (function WorkerTransportClosure() { @@ -790,7 +783,9 @@ var WorkerTransport = (function WorkerTransportClosure() {
});
},
loadFakeWorkerFiles: function WorkerTransport_loadFakeWorkerFiles() {
setupFakeWorker: function WorkerTransport_setupFakeWorker() {
globalScope.PDFJS.disableWorker = true;
if (!PDFJS.fakeWorkerFilesLoadedCapability) {
PDFJS.fakeWorkerFilesLoadedCapability = createPromiseCapability();
// In the developer build load worker_loader which in turn loads all the
@ -808,10 +803,7 @@ var WorkerTransport = (function WorkerTransportClosure() { @@ -808,10 +803,7 @@ var WorkerTransport = (function WorkerTransportClosure() {
// });
//#endif
}
return PDFJS.fakeWorkerFilesLoadedCapability.promise;
},
setupFakeWorker: function WorkerTransport_setupFakeWorker() {
PDFJS.fakeWorkerFilesLoadedCapability.promise.then(function () {
warn('Setting up fake worker.');
// If we don't use a worker, just post/sendMessage to the main thread.
var fakeWorker = {
@ -827,6 +819,9 @@ var WorkerTransport = (function WorkerTransportClosure() { @@ -827,6 +819,9 @@ var WorkerTransport = (function WorkerTransportClosure() {
// If the main thread is our worker, setup the handling for the messages
// the main thread sends to it self.
PDFJS.WorkerMessageHandler.setup(messageHandler);
this.workerInitializedCapability.resolve();
}.bind(this));
},
setupMessageHandler:

Loading…
Cancel
Save