Merge pull request #8363 from yurydelendik/worker-fromport
Adds initializeFromPort to the WorkerMessageHandler.
This commit is contained in:
commit
84f174bb2f
@ -438,7 +438,7 @@ function setPDFNetworkStreamClass(cls) {
|
||||
}
|
||||
|
||||
var WorkerMessageHandler = {
|
||||
setup: function wphSetup(handler, port) {
|
||||
setup(handler, port) {
|
||||
var testMessageProcessed = false;
|
||||
handler.on('test', function wphSetupTest(data) {
|
||||
if (testMessageProcessed) {
|
||||
@ -481,7 +481,7 @@ var WorkerMessageHandler = {
|
||||
return WorkerMessageHandler.createDocumentHandler(data, port);
|
||||
});
|
||||
},
|
||||
createDocumentHandler: function wphCreateDocumentHandler(docParams, port) {
|
||||
createDocumentHandler(docParams, port) {
|
||||
// This context is actually holds references on pdfManager and handler,
|
||||
// until the latter is destroyed.
|
||||
var pdfManager;
|
||||
@ -956,18 +956,23 @@ var WorkerMessageHandler = {
|
||||
docParams = null; // we don't need docParams anymore -- saving memory.
|
||||
});
|
||||
return workerHandlerName;
|
||||
}
|
||||
},
|
||||
initializeFromPort(port) {
|
||||
var handler = new MessageHandler('worker', 'main', port);
|
||||
WorkerMessageHandler.setup(handler, port);
|
||||
handler.send('ready', null);
|
||||
},
|
||||
};
|
||||
|
||||
function initializeWorker() {
|
||||
var handler = new MessageHandler('worker', 'main', self);
|
||||
WorkerMessageHandler.setup(handler, self);
|
||||
handler.send('ready', null);
|
||||
function isMessagePort(maybePort) {
|
||||
return typeof maybePort.postMessage === 'function' &&
|
||||
('onmessage' in maybePort);
|
||||
}
|
||||
|
||||
// Worker thread (and not node.js)?
|
||||
if (typeof window === 'undefined' && !isNodeJS()) {
|
||||
initializeWorker();
|
||||
if (typeof window === 'undefined' && !isNodeJS() &&
|
||||
typeof self !== 'undefined' && isMessagePort(self)) {
|
||||
WorkerMessageHandler.initializeFromPort(self);
|
||||
}
|
||||
|
||||
exports.setPDFNetworkStreamClass = setPDFNetworkStreamClass;
|
||||
|
Loading…
x
Reference in New Issue
Block a user