From 96c3aea4fc662a314fb0c080a87fc300982363f9 Mon Sep 17 00:00:00 2001 From: Sebastian Hengst Date: Fri, 6 Oct 2017 18:36:44 +0200 Subject: [PATCH] Backed out changeset c1c3cb16a29b (bug 1406405) for frequently failing browser/extensions/pdfjs/test/browser_pdfjs_main.js. r=backout --- browser/extensions/pdfjs/README.mozilla | 4 +- browser/extensions/pdfjs/content/build/pdf.js | 54 +++++++------------ .../pdfjs/content/build/pdf.worker.js | 36 +++---------- .../extensions/pdfjs/content/web/viewer.js | 12 ++--- 4 files changed, 34 insertions(+), 72 deletions(-) diff --git a/browser/extensions/pdfjs/README.mozilla b/browser/extensions/pdfjs/README.mozilla index 8653e8745b4a..30b3e1b46c9e 100644 --- a/browser/extensions/pdfjs/README.mozilla +++ b/browser/extensions/pdfjs/README.mozilla @@ -1,5 +1,5 @@ This is the PDF.js project output, https://github.com/mozilla/pdf.js -Current extension version is: 1.9.628 +Current extension version is: 1.9.607 -Taken from upstream commit: 460c4e38 +Taken from upstream commit: b3f84112 diff --git a/browser/extensions/pdfjs/content/build/pdf.js b/browser/extensions/pdfjs/content/build/pdf.js index 7b8572c1e1a5..7b9ac79644c7 100644 --- a/browser/extensions/pdfjs/content/build/pdf.js +++ b/browser/extensions/pdfjs/content/build/pdf.js @@ -706,6 +706,9 @@ var Util = function UtilClosure() { } return result; }; + Util.sign = function Util_sign(num) { + return num < 0 ? -1 : 1; + }; var ROMAN_NUMBER_MAP = ['', 'C', 'CC', 'CCC', 'CD', 'D', 'DC', 'DCC', 'DCCC', 'CM', '', 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC', '', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX']; Util.toRoman = function Util_toRoman(number, lowerCase) { assert(Number.isInteger(number) && number > 0, 'The number should be a positive integer.'); @@ -1362,31 +1365,8 @@ MessageHandler.prototype = { this.comObj.postMessage(message); } }, - close(reason) { + destroy() { this.comObj.removeEventListener('message', this._onComObjOnMessage); - for (let i in this.callbacksCapabilities) { - const callbackCapability = this.callbacksCapabilities[i]; - callbackCapability.reject(reason); - } - for (let i in this.streamSinks) { - const sink = this.streamSinks[i]; - sink.sinkCapability.reject(reason); - } - for (let i in this.streamControllers) { - const controller = this.streamControllers[i]; - if (!controller.isClosed) { - controller.controller.error(reason); - } - if (controller.startCall) { - controller.startCall.reject(reason); - } - if (controller.pullCall) { - controller.pullCall.reject(reason); - } - if (controller.cancelCall) { - controller.cancelCall.reject(reason); - } - } } }; function loadJpegStream(id, imageUrl, objs) { @@ -2013,7 +1993,7 @@ function _fetchDocument(worker, source, pdfDataRangeTransport, docId) { if (worker.destroyed) { return Promise.reject(new Error('Worker was destroyed')); } - let apiVersion = '1.9.628'; + let apiVersion = '1.9.607'; source.disableAutoFetch = (0, _dom_utils.getDefaultSetting)('disableAutoFetch'); source.disableStream = (0, _dom_utils.getDefaultSetting)('disableStream'); source.chunkedViewerLoading = !!pdfDataRangeTransport; @@ -2579,7 +2559,7 @@ var PDFWorker = function PDFWorkerClosure() { var messageHandler = new _util.MessageHandler('main', 'worker', worker); var terminateEarly = () => { worker.removeEventListener('error', onWorkerError); - messageHandler.close(new Error('Worker was terminated')); + messageHandler.destroy(); worker.terminate(); if (this.destroyed) { this._readyCapability.reject(new Error('Worker was destroyed')); @@ -2612,7 +2592,7 @@ var PDFWorker = function PDFWorkerClosure() { messageHandler.send('configure', { verbosity: (0, _util.getVerbosityLevel)() }); } else { this._setupFakeWorker(); - messageHandler.close(new Error('Worker was terminated')); + messageHandler.destroy(); worker.terminate(); } }); @@ -2683,7 +2663,7 @@ var PDFWorker = function PDFWorkerClosure() { pdfWorkerPorts.delete(this._port); this._port = null; if (this._messageHandler) { - this._messageHandler.close(new _util.AbortException('Worker was destroyed')); + this._messageHandler.destroy(); this._messageHandler = null; } } @@ -2743,7 +2723,7 @@ var WorkerTransport = function WorkerTransportClosure() { this._networkStream.cancelAllRequests(); } if (this.messageHandler) { - this.messageHandler.close(new _util.AbortException('Worker was destroyed')); + this.messageHandler.destroy(); this.messageHandler = null; } this.destroyCapability.resolve(); @@ -3334,8 +3314,8 @@ var _UnsupportedManager = function UnsupportedManagerClosure() { }(); var version, build; { - exports.version = version = '1.9.628'; - exports.build = build = '460c4e38'; + exports.version = version = '1.9.607'; + exports.build = build = 'b3f84112'; } exports.getDocument = getDocument; exports.LoopbackPort = LoopbackPort; @@ -5074,8 +5054,8 @@ exports.SVGGraphics = SVGGraphics; "use strict"; -var pdfjsVersion = '1.9.628'; -var pdfjsBuild = '460c4e38'; +var pdfjsVersion = '1.9.607'; +var pdfjsBuild = 'b3f84112'; var pdfjsSharedUtil = __w_pdfjs_require__(0); var pdfjsDisplayGlobal = __w_pdfjs_require__(13); var pdfjsDisplayAPI = __w_pdfjs_require__(3); @@ -8173,7 +8153,7 @@ if (isReadableStreamSupported) { Object.defineProperty(exports, "__esModule", { value: true }); -exports.PDFJS = exports.globalScope = undefined; +exports.PDFJS = exports.isWorker = exports.globalScope = undefined; var _api = __w_pdfjs_require__(3); @@ -8195,13 +8175,14 @@ var _svg = __w_pdfjs_require__(8); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var isWorker = typeof window === 'undefined'; if (!_global_scope2.default.PDFJS) { _global_scope2.default.PDFJS = {}; } var PDFJS = _global_scope2.default.PDFJS; { - PDFJS.version = '1.9.628'; - PDFJS.build = '460c4e38'; + PDFJS.version = '1.9.607'; + PDFJS.build = 'b3f84112'; } PDFJS.pdfBug = false; if (PDFJS.verbosity !== undefined) { @@ -8279,6 +8260,7 @@ PDFJS.Metadata = _metadata.Metadata; PDFJS.SVGGraphics = _svg.SVGGraphics; PDFJS.UnsupportedManager = _api._UnsupportedManager; exports.globalScope = _global_scope2.default; +exports.isWorker = isWorker; exports.PDFJS = PDFJS; /***/ }), diff --git a/browser/extensions/pdfjs/content/build/pdf.worker.js b/browser/extensions/pdfjs/content/build/pdf.worker.js index 688a41e3d437..5f54f3dfa375 100644 --- a/browser/extensions/pdfjs/content/build/pdf.worker.js +++ b/browser/extensions/pdfjs/content/build/pdf.worker.js @@ -706,6 +706,9 @@ var Util = function UtilClosure() { } return result; }; + Util.sign = function Util_sign(num) { + return num < 0 ? -1 : 1; + }; var ROMAN_NUMBER_MAP = ['', 'C', 'CC', 'CCC', 'CD', 'D', 'DC', 'DCC', 'DCCC', 'CM', '', 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC', '', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX']; Util.toRoman = function Util_toRoman(number, lowerCase) { assert(Number.isInteger(number) && number > 0, 'The number should be a positive integer.'); @@ -1362,31 +1365,8 @@ MessageHandler.prototype = { this.comObj.postMessage(message); } }, - close(reason) { + destroy() { this.comObj.removeEventListener('message', this._onComObjOnMessage); - for (let i in this.callbacksCapabilities) { - const callbackCapability = this.callbacksCapabilities[i]; - callbackCapability.reject(reason); - } - for (let i in this.streamSinks) { - const sink = this.streamSinks[i]; - sink.sinkCapability.reject(reason); - } - for (let i in this.streamControllers) { - const controller = this.streamControllers[i]; - if (!controller.isClosed) { - controller.controller.error(reason); - } - if (controller.startCall) { - controller.startCall.reject(reason); - } - if (controller.pullCall) { - controller.pullCall.reject(reason); - } - if (controller.cancelCall) { - controller.cancelCall.reject(reason); - } - } } }; function loadJpegStream(id, imageUrl, objs) { @@ -23846,8 +23826,8 @@ exports.PostScriptCompiler = PostScriptCompiler; "use strict"; -var pdfjsVersion = '1.9.628'; -var pdfjsBuild = '460c4e38'; +var pdfjsVersion = '1.9.607'; +var pdfjsBuild = 'b3f84112'; var pdfjsCoreWorker = __w_pdfjs_require__(18); exports.WorkerMessageHandler = pdfjsCoreWorker.WorkerMessageHandler; @@ -24042,7 +24022,7 @@ var WorkerMessageHandler = { var cancelXHRs = null; var WorkerTasks = []; let apiVersion = docParams.apiVersion; - let workerVersion = '1.9.628'; + let workerVersion = '1.9.607'; if (apiVersion !== null && apiVersion !== workerVersion) { throw new Error(`The API version "${apiVersion}" does not match ` + `the Worker version "${workerVersion}".`); } @@ -24405,7 +24385,7 @@ var WorkerMessageHandler = { task.terminate(); }); return Promise.all(waitOn).then(function () { - handler.close(new _util.AbortException('Worker was terminated')); + handler.destroy(); handler = null; }); }); diff --git a/browser/extensions/pdfjs/content/web/viewer.js b/browser/extensions/pdfjs/content/web/viewer.js index e72acb0b3dfb..22f4409719d0 100644 --- a/browser/extensions/pdfjs/content/web/viewer.js +++ b/browser/extensions/pdfjs/content/web/viewer.js @@ -4441,7 +4441,7 @@ class PDFHistory { this._blockHashChange = 0; this._currentHash = getCurrentHash(); this._numPositionUpdates = 0; - this._uid = this._maxUid = 0; + this._currentUid = this._uid = 0; this._destination = null; this._position = null; if (!this._isValidState(state) || resetHistory) { @@ -4526,7 +4526,7 @@ class PDFHistory { return; } let state = window.history.state; - if (this._isValidState(state) && state.uid < this._maxUid) { + if (this._isValidState(state) && state.uid < this._uid - 1) { window.history.forward(); } } @@ -4537,14 +4537,13 @@ class PDFHistory { let shouldReplace = forceReplace || !this._destination; let newState = { fingerprint: this.fingerprint, - uid: shouldReplace ? this._uid : this._uid + 1, + uid: shouldReplace ? this._currentUid : this._uid, destination }; this._updateInternalState(destination, newState.uid); if (shouldReplace) { window.history.replaceState(newState, ''); } else { - this._maxUid = this._uid; window.history.pushState(newState, ''); } } @@ -4604,7 +4603,8 @@ class PDFHistory { delete destination.temporary; } this._destination = destination; - this._uid = uid; + this._currentUid = uid; + this._uid = this._currentUid + 1; this._numPositionUpdates = 0; } _updateViewarea({ location }) { @@ -4638,7 +4638,7 @@ class PDFHistory { hashChanged = this._currentHash !== newHash; this._currentHash = newHash; if (!state || false) { - this._uid++; + this._currentUid = this._uid; let { hash, page, rotation } = parseCurrentHash(this.linkService); this._pushOrReplaceState({ hash,