1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-26 10:08:06 +02:00

Merge pull request #14291 from Snuffleupagus/force-postMessageTransfers

[api-minor] Only use Workers when `postMessage` transfers are supported (PR 11123 follow-up)
This commit is contained in:
Tim van der Meij 2021-11-19 20:02:51 +01:00 committed by GitHub
commit 41ac3f0c07
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 41 deletions

View file

@ -75,16 +75,9 @@ class WorkerMessageHandler {
}
testMessageProcessed = true;
// check if Uint8Array can be sent to worker
if (!(data instanceof Uint8Array)) {
handler.send("test", null);
return;
}
// making sure postMessage transfers are working
const supportTransfers = data[0] === 255;
handler.postMessageTransfers = supportTransfers;
handler.send("test", { supportTransfers });
// Ensure that `TypedArray`s can be sent to the worker,
// and that `postMessage` transfers are supported.
handler.send("test", data instanceof Uint8Array && data[0] === 255);
});
handler.on("configure", function wphConfigure(data) {
@ -156,10 +149,6 @@ class WorkerMessageHandler {
const workerHandlerName = docParams.docId + "_worker";
let handler = new MessageHandler(workerHandlerName, docId, port);
// Ensure that postMessage transfers are always correctly enabled/disabled,
// to prevent "DataCloneError" in browsers without transfers support.
handler.postMessageTransfers = docParams.postMessageTransfers;
function ensureNotTerminated() {
if (terminated) {
throw new Error("Worker was terminated");