Merge pull request #8363 from yurydelendik/worker-fromport

Adds initializeFromPort to the WorkerMessageHandler.
This commit is contained in:
Yury Delendik 2017-05-02 19:22:20 -05:00 committed by GitHub
commit 84f174bb2f

View File

@ -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;