diff --git a/src/core/worker.js b/src/core/worker.js index f7fb7a2e4..ba6f0e0e0 100644 --- a/src/core/worker.js +++ b/src/core/worker.js @@ -480,6 +480,10 @@ var WorkerMessageHandler = PDFJS.WorkerMessageHandler = { var workerHandlerName = docParams.docId + '_worker'; var handler = new MessageHandler(workerHandlerName, docId, port); + // Ensure that postMessage transfers are correctly enabled/disabled, + // to prevent "DataCloneError" in older versions of IE (see issue 6957). + handler.postMessageTransfers = docParams.postMessageTransfers; + function ensureNotTerminated() { if (terminated) { throw new Error('Worker was terminated'); diff --git a/src/display/api.js b/src/display/api.js index a9b243256..6aa315644 100644 --- a/src/display/api.js +++ b/src/display/api.js @@ -454,7 +454,8 @@ function _fetchDocument(worker, source, pdfDataRangeTransport, docId) { cMapPacked: PDFJS.cMapPacked, disableFontFace: PDFJS.disableFontFace, disableCreateObjectURL: PDFJS.disableCreateObjectURL, - verbosity: PDFJS.verbosity + verbosity: PDFJS.verbosity, + postMessageTransfers: PDFJS.postMessageTransfers, }).then(function (workerId) { if (worker.destroyed) { throw new Error('Worker was destroyed');