|
|
@ -438,7 +438,7 @@ function setPDFNetworkStreamClass(cls) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var WorkerMessageHandler = { |
|
|
|
var WorkerMessageHandler = { |
|
|
|
setup: function wphSetup(handler, port) { |
|
|
|
setup(handler, port) { |
|
|
|
var testMessageProcessed = false; |
|
|
|
var testMessageProcessed = false; |
|
|
|
handler.on('test', function wphSetupTest(data) { |
|
|
|
handler.on('test', function wphSetupTest(data) { |
|
|
|
if (testMessageProcessed) { |
|
|
|
if (testMessageProcessed) { |
|
|
@ -481,7 +481,7 @@ var WorkerMessageHandler = { |
|
|
|
return WorkerMessageHandler.createDocumentHandler(data, port); |
|
|
|
return WorkerMessageHandler.createDocumentHandler(data, port); |
|
|
|
}); |
|
|
|
}); |
|
|
|
}, |
|
|
|
}, |
|
|
|
createDocumentHandler: function wphCreateDocumentHandler(docParams, port) { |
|
|
|
createDocumentHandler(docParams, port) { |
|
|
|
// This context is actually holds references on pdfManager and handler,
|
|
|
|
// This context is actually holds references on pdfManager and handler,
|
|
|
|
// until the latter is destroyed.
|
|
|
|
// until the latter is destroyed.
|
|
|
|
var pdfManager; |
|
|
|
var pdfManager; |
|
|
@ -956,18 +956,23 @@ var WorkerMessageHandler = { |
|
|
|
docParams = null; // we don't need docParams anymore -- saving memory.
|
|
|
|
docParams = null; // we don't need docParams anymore -- saving memory.
|
|
|
|
}); |
|
|
|
}); |
|
|
|
return workerHandlerName; |
|
|
|
return workerHandlerName; |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
initializeFromPort(port) { |
|
|
|
|
|
|
|
var handler = new MessageHandler('worker', 'main', port); |
|
|
|
|
|
|
|
WorkerMessageHandler.setup(handler, port); |
|
|
|
|
|
|
|
handler.send('ready', null); |
|
|
|
|
|
|
|
}, |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
function initializeWorker() { |
|
|
|
function isMessagePort(maybePort) { |
|
|
|
var handler = new MessageHandler('worker', 'main', self); |
|
|
|
return typeof maybePort.postMessage === 'function' && |
|
|
|
WorkerMessageHandler.setup(handler, self); |
|
|
|
('onmessage' in maybePort); |
|
|
|
handler.send('ready', null); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// Worker thread (and not node.js)?
|
|
|
|
// Worker thread (and not node.js)?
|
|
|
|
if (typeof window === 'undefined' && !isNodeJS()) { |
|
|
|
if (typeof window === 'undefined' && !isNodeJS() && |
|
|
|
initializeWorker(); |
|
|
|
typeof self !== 'undefined' && isMessagePort(self)) { |
|
|
|
|
|
|
|
WorkerMessageHandler.initializeFromPort(self); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
exports.setPDFNetworkStreamClass = setPDFNetworkStreamClass; |
|
|
|
exports.setPDFNetworkStreamClass = setPDFNetworkStreamClass; |
|
|
|