From 0c2d105a6efbcd209796a62670a3844920caccff Mon Sep 17 00:00:00 2001 From: Pdf Bot Date: Sat, 2 Apr 2016 16:42:38 +0100 Subject: [PATCH] PDF.js version 1.4.187 - See mozilla/pdf.js@055d642bf2047629420eb6d22ecd52c5d47ee6d4 --- bower.json | 2 +- build/pdf.combined.js | 4 ++-- build/pdf.js | 36 ++++++++++++++++++++++++++++-------- build/pdf.worker.js | 4 ++-- package.json | 2 +- 5 files changed, 34 insertions(+), 14 deletions(-) diff --git a/bower.json b/bower.json index 5417585e6..910fb440a 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "pdfjs-dist", - "version": "1.4.185", + "version": "1.4.187", "main": [ "build/pdf.js", "build/pdf.worker.js" diff --git a/build/pdf.combined.js b/build/pdf.combined.js index ce35c79f7..0566fd89a 100644 --- a/build/pdf.combined.js +++ b/build/pdf.combined.js @@ -28,8 +28,8 @@ factory((root.pdfjsDistBuildPdfCombined = {})); // Use strict in our context only - users might not want it 'use strict'; -var pdfjsVersion = '1.4.185'; -var pdfjsBuild = 'a250c15'; +var pdfjsVersion = '1.4.187'; +var pdfjsBuild = '055d642'; var pdfjsFilePath = typeof document !== 'undefined' && document.currentScript ? diff --git a/build/pdf.js b/build/pdf.js index ef167cc83..7243000f1 100644 --- a/build/pdf.js +++ b/build/pdf.js @@ -28,8 +28,8 @@ factory((root.pdfjsDistBuildPdf = {})); // Use strict in our context only - users might not want it 'use strict'; -var pdfjsVersion = '1.4.185'; -var pdfjsBuild = 'a250c15'; +var pdfjsVersion = '1.4.187'; +var pdfjsBuild = '055d642'; var pdfjsFilePath = typeof document !== 'undefined' && document.currentScript ? @@ -9770,11 +9770,32 @@ var PDFWorker = (function PDFWorkerClosure() { // https://bugzilla.mozilla.org/show_bug.cgi?id=683280 var worker = new Worker(workerSrc); var messageHandler = new MessageHandler('main', 'worker', worker); - messageHandler.on('test', function PDFWorker_test(data) { + var terminateEarly = function() { + worker.removeEventListener('error', onWorkerError); + messageHandler.destroy(); + worker.terminate(); if (this.destroyed) { this._readyCapability.reject(new Error('Worker was destroyed')); - messageHandler.destroy(); - worker.terminate(); + } else { + // Fall back to fake worker if the termination is caused by an + // error (e.g. NetworkError / SecurityError). + this._setupFakeWorker(); + } + }.bind(this); + + var onWorkerError = function(event) { + if (!this._webWorker) { + // Worker failed to initialize due to an error. Clean up and fall + // back to the fake worker. + terminateEarly(); + } + }.bind(this); + worker.addEventListener('error', onWorkerError); + + messageHandler.on('test', function PDFWorker_test(data) { + worker.removeEventListener('error', onWorkerError); + if (this.destroyed) { + terminateEarly(); return; // worker was destroyed } var supportTypedArray = data && data.supportTypedArray; @@ -9805,10 +9826,9 @@ var PDFWorker = (function PDFWorkerClosure() { }); messageHandler.on('ready', function (data) { + worker.removeEventListener('error', onWorkerError); if (this.destroyed) { - this._readyCapability.reject(new Error('Worker was destroyed')); - messageHandler.destroy(); - worker.terminate(); + terminateEarly(); return; // worker was destroyed } try { diff --git a/build/pdf.worker.js b/build/pdf.worker.js index daa630a62..6f09dd6d6 100644 --- a/build/pdf.worker.js +++ b/build/pdf.worker.js @@ -28,8 +28,8 @@ factory((root.pdfjsDistBuildPdfWorker = {})); // Use strict in our context only - users might not want it 'use strict'; -var pdfjsVersion = '1.4.185'; -var pdfjsBuild = 'a250c15'; +var pdfjsVersion = '1.4.187'; +var pdfjsBuild = '055d642'; var pdfjsFilePath = typeof document !== 'undefined' && document.currentScript ? diff --git a/package.json b/package.json index bf88d1e10..a031ad309 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pdfjs-dist", - "version": "1.4.185", + "version": "1.4.187", "main": "build/pdf.js", "description": "Generic build of Mozilla's PDF.js library.", "keywords": [