Refactor fake worker loading (issue 3862)
This commit is contained in:
parent
13efe84d37
commit
3c78c7b8bc
@ -640,6 +640,7 @@ var WorkerTransport = (function WorkerTransportClosure() {
|
||||
pdfDataRangeTransport, progressCallback) {
|
||||
this.pdfDataRangeTransport = pdfDataRangeTransport;
|
||||
|
||||
this.workerInitializedCapability = workerInitializedCapability;
|
||||
this.workerReadyCapability = workerReadyCapability;
|
||||
this.progressCallback = progressCallback;
|
||||
this.commonObjs = new PDFObjects();
|
||||
@ -678,11 +679,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));
|
||||
this.setupFakeWorker();
|
||||
}
|
||||
}.bind(this));
|
||||
|
||||
@ -704,11 +701,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));
|
||||
this.setupFakeWorker();
|
||||
}
|
||||
WorkerTransport.prototype = {
|
||||
destroy: function WorkerTransport_destroy() {
|
||||
@ -723,7 +716,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
|
||||
@ -741,25 +736,25 @@ var WorkerTransport = (function WorkerTransportClosure() {
|
||||
// });
|
||||
//#endif
|
||||
}
|
||||
return PDFJS.fakeWorkerFilesLoadedCapability.promise;
|
||||
},
|
||||
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 = {
|
||||
postMessage: function WorkerTransport_postMessage(obj) {
|
||||
fakeWorker.onmessage({data: obj});
|
||||
},
|
||||
terminate: function WorkerTransport_terminate() {}
|
||||
};
|
||||
|
||||
setupFakeWorker: function WorkerTransport_setupFakeWorker() {
|
||||
warn('Setting up fake worker.');
|
||||
// If we don't use a worker, just post/sendMessage to the main thread.
|
||||
var fakeWorker = {
|
||||
postMessage: function WorkerTransport_postMessage(obj) {
|
||||
fakeWorker.onmessage({data: obj});
|
||||
},
|
||||
terminate: function WorkerTransport_terminate() {}
|
||||
};
|
||||
var messageHandler = new MessageHandler('main', fakeWorker);
|
||||
this.setupMessageHandler(messageHandler);
|
||||
|
||||
var messageHandler = new MessageHandler('main', fakeWorker);
|
||||
this.setupMessageHandler(messageHandler);
|
||||
// If the main thread is our worker, setup the handling for the messages
|
||||
// the main thread sends to it self.
|
||||
PDFJS.WorkerMessageHandler.setup(messageHandler);
|
||||
|
||||
// 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…
x
Reference in New Issue
Block a user