Browse Source

PDF.js version 1.8.312 - See mozilla/pdf.js@e81c067de2b39324d3992b189c4d50a19569f2de

master v1.8.312
pdfjsbot 8 years ago
parent
commit
c2e4066d94
  1. 2
      bower.json
  2. 245
      build/pdf.combined.js
  3. 285
      build/pdf.js
  4. 10
      build/pdf.min.js
  5. 34
      build/pdf.worker.js
  6. 6
      build/pdf.worker.min.js
  7. 14
      lib/display/annotation_layer.js
  8. 191
      lib/display/api.js
  9. 18
      lib/display/dom_utils.js
  10. 4
      lib/display/global.js
  11. 17
      lib/display/svg.js
  12. 7
      lib/display/text_layer.js
  13. 4
      lib/pdf.js
  14. 4
      lib/pdf.worker.js
  15. 20
      lib/shared/compatibility.js
  16. 10
      lib/shared/util.js
  17. 2
      package.json
  18. 20
      web/compatibility.js

2
bower.json

@ -1,6 +1,6 @@
{ {
"name": "pdfjs-dist", "name": "pdfjs-dist",
"version": "1.8.310", "version": "1.8.312",
"main": [ "main": [
"build/pdf.js", "build/pdf.js",
"build/pdf.worker.js" "build/pdf.worker.js"

245
build/pdf.combined.js

@ -989,6 +989,8 @@ var createObjectURL = function createObjectURLClosure() {
}; };
}(); }();
function MessageHandler(sourceName, targetName, comObj) { function MessageHandler(sourceName, targetName, comObj) {
var _this = this;
this.sourceName = sourceName; this.sourceName = sourceName;
this.targetName = targetName; this.targetName = targetName;
this.comObj = comObj; this.comObj = comObj;
@ -996,9 +998,9 @@ function MessageHandler(sourceName, targetName, comObj) {
this.postMessageTransfers = true; this.postMessageTransfers = true;
var callbacksCapabilities = this.callbacksCapabilities = Object.create(null); var callbacksCapabilities = this.callbacksCapabilities = Object.create(null);
var ah = this.actionHandler = Object.create(null); var ah = this.actionHandler = Object.create(null);
this._onComObjOnMessage = function messageHandlerComObjOnMessage(event) { this._onComObjOnMessage = function (event) {
var data = event.data; var data = event.data;
if (data.targetName !== this.sourceName) { if (data.targetName !== _this.sourceName) {
return; return;
} }
if (data.isReply) { if (data.isReply) {
@ -1017,7 +1019,7 @@ function MessageHandler(sourceName, targetName, comObj) {
} else if (data.action in ah) { } else if (data.action in ah) {
var action = ah[data.action]; var action = ah[data.action];
if (data.callbackId) { if (data.callbackId) {
var sourceName = this.sourceName; var sourceName = _this.sourceName;
var targetName = data.sourceName; var targetName = data.sourceName;
Promise.resolve().then(function () { Promise.resolve().then(function () {
return action[0].call(action[1], data.data); return action[0].call(action[1], data.data);
@ -1047,7 +1049,7 @@ function MessageHandler(sourceName, targetName, comObj) {
} else { } else {
error('Unknown action from worker: ' + data.action); error('Unknown action from worker: ' + data.action);
} }
}.bind(this); };
comObj.addEventListener('message', this._onComObjOnMessage); comObj.addEventListener('message', this._onComObjOnMessage);
} }
MessageHandler.prototype = { MessageHandler.prototype = {
@ -3157,15 +3159,17 @@ var DOMCMapReaderFactory = function DOMCMapReaderFactoryClosure() {
} }
DOMCMapReaderFactory.prototype = { DOMCMapReaderFactory.prototype = {
fetch: function fetch(params) { fetch: function fetch(params) {
var _this = this;
var name = params.name; var name = params.name;
if (!name) { if (!name) {
return Promise.reject(new Error('CMap name must be specified.')); return Promise.reject(new Error('CMap name must be specified.'));
} }
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
var url = this.baseUrl + name + (this.isCompressed ? '.bcmap' : ''); var url = _this.baseUrl + name + (_this.isCompressed ? '.bcmap' : '');
var request = new XMLHttpRequest(); var request = new XMLHttpRequest();
request.open('GET', url, true); request.open('GET', url, true);
if (this.isCompressed) { if (_this.isCompressed) {
request.responseType = 'arraybuffer'; request.responseType = 'arraybuffer';
} }
request.onreadystatechange = function () { request.onreadystatechange = function () {
@ -3174,23 +3178,23 @@ var DOMCMapReaderFactory = function DOMCMapReaderFactoryClosure() {
} }
if (request.status === 200 || request.status === 0) { if (request.status === 200 || request.status === 0) {
var data; var data;
if (this.isCompressed && request.response) { if (_this.isCompressed && request.response) {
data = new Uint8Array(request.response); data = new Uint8Array(request.response);
} else if (!this.isCompressed && request.responseText) { } else if (!_this.isCompressed && request.responseText) {
data = (0, _util.stringToBytes)(request.responseText); data = (0, _util.stringToBytes)(request.responseText);
} }
if (data) { if (data) {
resolve({ resolve({
cMapData: data, cMapData: data,
compressionType: this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE compressionType: _this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE
}); });
return; return;
} }
} }
reject(new Error('Unable to load ' + (this.isCompressed ? 'binary ' : '') + 'CMap at: ' + url)); reject(new Error('Unable to load ' + (_this.isCompressed ? 'binary ' : '') + 'CMap at: ' + url));
}.bind(this); };
request.send(null); request.send(null);
}.bind(this)); });
} }
}; };
return DOMCMapReaderFactory; return DOMCMapReaderFactory;
@ -11004,12 +11008,13 @@ var LinkAnnotationElement = function LinkAnnotationElementClosure() {
this.container.appendChild(link); this.container.appendChild(link);
return this.container; return this.container;
}, },
_bindLink: function LinkAnnotationElement_bindLink(link, destination) { _bindLink: function _bindLink(link, destination) {
var self = this; var _this = this;
link.href = this.linkService.getDestinationHash(destination); link.href = this.linkService.getDestinationHash(destination);
link.onclick = function () { link.onclick = function () {
if (destination) { if (destination) {
self.linkService.navigateTo(destination); _this.linkService.navigateTo(destination);
} }
return false; return false;
}; };
@ -11017,11 +11022,12 @@ var LinkAnnotationElement = function LinkAnnotationElementClosure() {
link.className = 'internalLink'; link.className = 'internalLink';
} }
}, },
_bindNamedAction: function LinkAnnotationElement_bindNamedAction(link, action) { _bindNamedAction: function _bindNamedAction(link, action) {
var self = this; var _this2 = this;
link.href = this.linkService.getAnchorUrl(''); link.href = this.linkService.getAnchorUrl('');
link.onclick = function () { link.onclick = function () {
self.linkService.executeNamedAction(action); _this2.linkService.executeNamedAction(action);
return false; return false;
}; };
link.className = 'internalLink'; link.className = 'internalLink';
@ -11649,15 +11655,17 @@ var PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {
return this._capability.promise; return this._capability.promise;
}, },
destroy: function destroy() { destroy: function destroy() {
var _this = this;
this.destroyed = true; this.destroyed = true;
var transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy(); var transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy();
return transportDestroyed.then(function () { return transportDestroyed.then(function () {
this._transport = null; _this._transport = null;
if (this._worker) { if (_this._worker) {
this._worker.destroy(); _this._worker.destroy();
this._worker = null; _this._worker = null;
} }
}.bind(this)); });
}, },
then: function PDFDocumentLoadingTask_then(onFulfilled, onRejected) { then: function PDFDocumentLoadingTask_then(onFulfilled, onRejected) {
@ -11692,20 +11700,24 @@ var PDFDataRangeTransport = function pdfDataRangeTransportClosure() {
} }
}, },
onDataProgress: function PDFDataRangeTransport_onDataProgress(loaded) { onDataProgress: function PDFDataRangeTransport_onDataProgress(loaded) {
var _this2 = this;
this._readyCapability.promise.then(function () { this._readyCapability.promise.then(function () {
var listeners = this._progressListeners; var listeners = _this2._progressListeners;
for (var i = 0, n = listeners.length; i < n; ++i) { for (var i = 0, n = listeners.length; i < n; ++i) {
listeners[i](loaded); listeners[i](loaded);
} }
}.bind(this)); });
}, },
onDataProgressiveRead: function PDFDataRangeTransport_onDataProgress(chunk) { onDataProgressiveRead: function PDFDataRangeTransport_onDataProgress(chunk) {
var _this3 = this;
this._readyCapability.promise.then(function () { this._readyCapability.promise.then(function () {
var listeners = this._progressiveReadListeners; var listeners = _this3._progressiveReadListeners;
for (var i = 0, n = listeners.length; i < n; ++i) { for (var i = 0, n = listeners.length; i < n; ++i) {
listeners[i](chunk); listeners[i](chunk);
} }
}.bind(this)); });
}, },
transportReady: function PDFDataRangeTransport_transportReady() { transportReady: function PDFDataRangeTransport_transportReady() {
this._readyCapability.resolve(); this._readyCapability.resolve();
@ -11820,6 +11832,8 @@ var PDFPageProxy = function PDFPageProxyClosure() {
return this.annotationsPromise; return this.annotationsPromise;
}, },
render: function PDFPageProxy_render(params) { render: function PDFPageProxy_render(params) {
var _this4 = this;
var stats = this.stats; var stats = this.stats;
stats.time('Overall'); stats.time('Overall');
this.pendingCleanup = false; this.pendingCleanup = false;
@ -11844,6 +11858,23 @@ var PDFPageProxy = function PDFPageProxyClosure() {
renderInteractiveForms: params.renderInteractiveForms === true renderInteractiveForms: params.renderInteractiveForms === true
}); });
} }
var complete = function complete(error) {
var i = intentState.renderTasks.indexOf(internalRenderTask);
if (i >= 0) {
intentState.renderTasks.splice(i, 1);
}
if (_this4.cleanupAfterRender) {
_this4.pendingCleanup = true;
}
_this4._tryCleanup();
if (error) {
internalRenderTask.capability.reject(error);
} else {
internalRenderTask.capability.resolve();
}
stats.timeEnd('Rendering');
stats.timeEnd('Overall');
};
var internalRenderTask = new InternalRenderTask(complete, params, this.objs, this.commonObjs, intentState.operatorList, this.pageNumber, canvasFactory); var internalRenderTask = new InternalRenderTask(complete, params, this.objs, this.commonObjs, intentState.operatorList, this.pageNumber, canvasFactory);
internalRenderTask.useRequestAnimationFrame = renderingIntent !== 'print'; internalRenderTask.useRequestAnimationFrame = renderingIntent !== 'print';
if (!intentState.renderTasks) { if (!intentState.renderTasks) {
@ -11855,35 +11886,15 @@ var PDFPageProxy = function PDFPageProxyClosure() {
(0, _util.deprecated)('render is used with continueCallback parameter'); (0, _util.deprecated)('render is used with continueCallback parameter');
renderTask.onContinue = params.continueCallback; renderTask.onContinue = params.continueCallback;
} }
var self = this; intentState.displayReadyCapability.promise.then(function (transparency) {
intentState.displayReadyCapability.promise.then(function pageDisplayReadyPromise(transparency) { if (_this4.pendingCleanup) {
if (self.pendingCleanup) {
complete(); complete();
return; return;
} }
stats.time('Rendering'); stats.time('Rendering');
internalRenderTask.initializeGraphics(transparency); internalRenderTask.initializeGraphics(transparency);
internalRenderTask.operatorListChanged(); internalRenderTask.operatorListChanged();
}, function pageDisplayReadPromiseError(reason) { }, complete);
complete(reason);
});
function complete(error) {
var i = intentState.renderTasks.indexOf(internalRenderTask);
if (i >= 0) {
intentState.renderTasks.splice(i, 1);
}
if (self.cleanupAfterRender) {
self.pendingCleanup = true;
}
self._tryCleanup();
if (error) {
internalRenderTask.capability.reject(error);
} else {
internalRenderTask.capability.resolve();
}
stats.timeEnd('Rendering');
stats.timeEnd('Overall');
}
return renderTask; return renderTask;
}, },
getOperatorList: function PDFPageProxy_getOperatorList() { getOperatorList: function PDFPageProxy_getOperatorList() {
@ -12010,6 +12021,8 @@ var LoopbackPort = function () {
_createClass(LoopbackPort, [{ _createClass(LoopbackPort, [{
key: 'postMessage', key: 'postMessage',
value: function postMessage(obj, transfers) { value: function postMessage(obj, transfers) {
var _this5 = this;
function cloneValue(value) { function cloneValue(value) {
if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) !== 'object' || value === null) { if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) !== 'object' || value === null) {
return value; return value;
@ -12055,10 +12068,10 @@ var LoopbackPort = function () {
var cloned = new WeakMap(); var cloned = new WeakMap();
var e = { data: cloneValue(obj) }; var e = { data: cloneValue(obj) };
this._deferred.then(function () { this._deferred.then(function () {
this._listeners.forEach(function (listener) { _this5._listeners.forEach(function (listener) {
listener.call(this, e); listener.call(this, e);
}, this); }, _this5);
}.bind(this)); });
} }
}, { }, {
key: 'addEventListener', key: 'addEventListener',
@ -12145,25 +12158,27 @@ var PDFWorker = function PDFWorkerClosure() {
this._setupFakeWorker(); this._setupFakeWorker();
}, },
_setupFakeWorker: function PDFWorker_setupFakeWorker() { _setupFakeWorker: function PDFWorker_setupFakeWorker() {
var _this6 = this;
if (!isWorkerDisabled && !(0, _dom_utils.getDefaultSetting)('disableWorker')) { if (!isWorkerDisabled && !(0, _dom_utils.getDefaultSetting)('disableWorker')) {
(0, _util.warn)('Setting up fake worker.'); (0, _util.warn)('Setting up fake worker.');
isWorkerDisabled = true; isWorkerDisabled = true;
} }
setupFakeWorkerGlobal().then(function (WorkerMessageHandler) { setupFakeWorkerGlobal().then(function (WorkerMessageHandler) {
if (this.destroyed) { if (_this6.destroyed) {
this._readyCapability.reject(new Error('Worker was destroyed')); _this6._readyCapability.reject(new Error('Worker was destroyed'));
return; return;
} }
var isTypedArraysPresent = Uint8Array !== Float32Array; var isTypedArraysPresent = Uint8Array !== Float32Array;
var port = new LoopbackPort(isTypedArraysPresent); var port = new LoopbackPort(isTypedArraysPresent);
this._port = port; _this6._port = port;
var id = 'fake' + nextFakeWorkerId++; var id = 'fake' + nextFakeWorkerId++;
var workerHandler = new _util.MessageHandler(id + '_worker', id, port); var workerHandler = new _util.MessageHandler(id + '_worker', id, port);
WorkerMessageHandler.setup(workerHandler, port); WorkerMessageHandler.setup(workerHandler, port);
var messageHandler = new _util.MessageHandler(id, id + '_worker', port); var messageHandler = new _util.MessageHandler(id, id + '_worker', port);
this._messageHandler = messageHandler; _this6._messageHandler = messageHandler;
this._readyCapability.resolve(); _this6._readyCapability.resolve();
}.bind(this)); });
}, },
destroy: function PDFWorker_destroy() { destroy: function PDFWorker_destroy() {
this.destroyed = true; this.destroyed = true;
@ -12201,6 +12216,8 @@ var WorkerTransport = function WorkerTransportClosure() {
} }
WorkerTransport.prototype = { WorkerTransport.prototype = {
destroy: function WorkerTransport_destroy() { destroy: function WorkerTransport_destroy() {
var _this7 = this;
if (this.destroyCapability) { if (this.destroyCapability) {
return this.destroyCapability.promise; return this.destroyCapability.promise;
} }
@ -12217,20 +12234,19 @@ var WorkerTransport = function WorkerTransportClosure() {
}); });
this.pageCache = []; this.pageCache = [];
this.pagePromises = []; this.pagePromises = [];
var self = this;
var terminated = this.messageHandler.sendWithPromise('Terminate', null); var terminated = this.messageHandler.sendWithPromise('Terminate', null);
waitOn.push(terminated); waitOn.push(terminated);
Promise.all(waitOn).then(function () { Promise.all(waitOn).then(function () {
self.fontLoader.clear(); _this7.fontLoader.clear();
if (self.pdfDataRangeTransport) { if (_this7.pdfDataRangeTransport) {
self.pdfDataRangeTransport.abort(); _this7.pdfDataRangeTransport.abort();
self.pdfDataRangeTransport = null; _this7.pdfDataRangeTransport = null;
} }
if (self.messageHandler) { if (_this7.messageHandler) {
self.messageHandler.destroy(); _this7.messageHandler.destroy();
self.messageHandler = null; _this7.messageHandler = null;
} }
self.destroyCapability.resolve(); _this7.destroyCapability.resolve();
}, this.destroyCapability.reject); }, this.destroyCapability.reject);
return this.destroyCapability.promise; return this.destroyCapability.promise;
}, },
@ -12264,12 +12280,12 @@ var WorkerTransport = function WorkerTransportClosure() {
loadingTask._capability.resolve(pdfDocument); loadingTask._capability.resolve(pdfDocument);
}, this); }, this);
messageHandler.on('PasswordRequest', function transportPasswordRequest(exception) { messageHandler.on('PasswordRequest', function transportPasswordRequest(exception) {
var _this = this; var _this8 = this;
this._passwordCapability = (0, _util.createPromiseCapability)(); this._passwordCapability = (0, _util.createPromiseCapability)();
if (loadingTask.onPassword) { if (loadingTask.onPassword) {
var updatePassword = function updatePassword(password) { var updatePassword = function updatePassword(password) {
_this._passwordCapability.resolve({ password: password }); _this8._passwordCapability.resolve({ password: password });
}; };
loadingTask.onPassword(updatePassword, exception.code); loadingTask.onPassword(updatePassword, exception.code);
} else { } else {
@ -12316,6 +12332,8 @@ var WorkerTransport = function WorkerTransportClosure() {
page._renderPageChunk(data.operatorList, data.intent); page._renderPageChunk(data.operatorList, data.intent);
}, this); }, this);
messageHandler.on('commonobj', function transportObj(data) { messageHandler.on('commonobj', function transportObj(data) {
var _this9 = this;
if (this.destroyed) { if (this.destroyed) {
return; return;
} }
@ -12346,9 +12364,10 @@ var WorkerTransport = function WorkerTransportClosure() {
disableFontFace: (0, _dom_utils.getDefaultSetting)('disableFontFace'), disableFontFace: (0, _dom_utils.getDefaultSetting)('disableFontFace'),
fontRegistry: fontRegistry fontRegistry: fontRegistry
}); });
this.fontLoader.bind([font], function fontReady(fontObjs) { var fontReady = function fontReady(fontObjs) {
this.commonObjs.resolve(id, font); _this9.commonObjs.resolve(id, font);
}.bind(this)); };
this.fontLoader.bind([font], fontReady);
break; break;
case 'FontPath': case 'FontPath':
this.commonObjs.resolve(id, data[2]); this.commonObjs.resolve(id, data[2]);
@ -12488,6 +12507,8 @@ var WorkerTransport = function WorkerTransportClosure() {
return this.messageHandler.sendWithPromise('GetData', null); return this.messageHandler.sendWithPromise('GetData', null);
}, },
getPage: function WorkerTransport_getPage(pageNumber, capability) { getPage: function WorkerTransport_getPage(pageNumber, capability) {
var _this10 = this;
if (!(0, _util.isInt)(pageNumber) || pageNumber <= 0 || pageNumber > this.numPages) { if (!(0, _util.isInt)(pageNumber) || pageNumber <= 0 || pageNumber > this.numPages) {
return Promise.reject(new Error('Invalid page request')); return Promise.reject(new Error('Invalid page request'));
} }
@ -12496,13 +12517,13 @@ var WorkerTransport = function WorkerTransportClosure() {
return this.pagePromises[pageIndex]; return this.pagePromises[pageIndex];
} }
var promise = this.messageHandler.sendWithPromise('GetPage', { pageIndex: pageIndex }).then(function (pageInfo) { var promise = this.messageHandler.sendWithPromise('GetPage', { pageIndex: pageIndex }).then(function (pageInfo) {
if (this.destroyed) { if (_this10.destroyed) {
throw new Error('Transport destroyed'); throw new Error('Transport destroyed');
} }
var page = new PDFPageProxy(pageIndex, pageInfo, this); var page = new PDFPageProxy(pageIndex, pageInfo, _this10);
this.pageCache[pageIndex] = page; _this10.pageCache[pageIndex] = page;
return page; return page;
}.bind(this)); });
this.pagePromises[pageIndex] = promise; this.pagePromises[pageIndex] = promise;
return promise; return promise;
}, },
@ -12547,16 +12568,18 @@ var WorkerTransport = function WorkerTransportClosure() {
return this.messageHandler.sendWithPromise('GetStats', null); return this.messageHandler.sendWithPromise('GetStats', null);
}, },
startCleanup: function WorkerTransport_startCleanup() { startCleanup: function WorkerTransport_startCleanup() {
this.messageHandler.sendWithPromise('Cleanup', null).then(function endCleanup() { var _this11 = this;
for (var i = 0, ii = this.pageCache.length; i < ii; i++) {
var page = this.pageCache[i]; this.messageHandler.sendWithPromise('Cleanup', null).then(function () {
for (var i = 0, ii = _this11.pageCache.length; i < ii; i++) {
var page = _this11.pageCache[i];
if (page) { if (page) {
page.cleanup(); page.cleanup();
} }
} }
this.commonObjs.clear(); _this11.commonObjs.clear();
this.fontLoader.clear(); _this11.fontLoader.clear();
}.bind(this)); });
} }
}; };
return WorkerTransport; return WorkerTransport;
@ -12750,8 +12773,8 @@ var _UnsupportedManager = function UnsupportedManagerClosure() {
}(); }();
var version, build; var version, build;
{ {
exports.version = version = '1.8.310'; exports.version = version = '1.8.312';
exports.build = build = 'e42fc546'; exports.build = build = 'e81c067d';
} }
exports.getDocument = getDocument; exports.getDocument = getDocument;
exports.LoopbackPort = LoopbackPort; exports.LoopbackPort = LoopbackPort;
@ -13069,10 +13092,11 @@ var SVGGraphics = function SVGGraphics() {
this.restore(); this.restore();
}, },
loadDependencies: function SVGGraphics_loadDependencies(operatorList) { loadDependencies: function SVGGraphics_loadDependencies(operatorList) {
var _this = this;
var fnArray = operatorList.fnArray; var fnArray = operatorList.fnArray;
var fnArrayLen = fnArray.length; var fnArrayLen = fnArray.length;
var argsArray = operatorList.argsArray; var argsArray = operatorList.argsArray;
var self = this;
for (var i = 0; i < fnArrayLen; i++) { for (var i = 0; i < fnArrayLen; i++) {
if (_util.OPS.dependency === fnArray[i]) { if (_util.OPS.dependency === fnArray[i]) {
var deps = argsArray[i]; var deps = argsArray[i];
@ -13082,11 +13106,11 @@ var SVGGraphics = function SVGGraphics() {
var promise; var promise;
if (common) { if (common) {
promise = new Promise(function (resolve) { promise = new Promise(function (resolve) {
self.commonObjs.get(obj, resolve); _this.commonObjs.get(obj, resolve);
}); });
} else { } else {
promise = new Promise(function (resolve) { promise = new Promise(function (resolve) {
self.objs.get(obj, resolve); _this.objs.get(obj, resolve);
}); });
} }
this.current.dependencies.push(promise); this.current.dependencies.push(promise);
@ -13101,14 +13125,16 @@ var SVGGraphics = function SVGGraphics() {
this.tgrp = null; this.tgrp = null;
}, },
getSVG: function SVGGraphics_getSVG(operatorList, viewport) { getSVG: function SVGGraphics_getSVG(operatorList, viewport) {
var _this2 = this;
this.viewport = viewport; this.viewport = viewport;
var svgElement = this._initialize(viewport); var svgElement = this._initialize(viewport);
return this.loadDependencies(operatorList).then(function () { return this.loadDependencies(operatorList).then(function () {
this.transformMatrix = _util.IDENTITY_MATRIX; _this2.transformMatrix = _util.IDENTITY_MATRIX;
var opTree = this.convertOpList(operatorList); var opTree = _this2.convertOpList(operatorList);
this.executeOpTree(opTree); _this2.executeOpTree(opTree);
return svgElement; return svgElement;
}.bind(this)); });
}, },
convertOpList: function SVGGraphics_convertOpList(operatorList) { convertOpList: function SVGGraphics_convertOpList(operatorList) {
var argsArray = operatorList.argsArray; var argsArray = operatorList.argsArray;
@ -14141,6 +14167,8 @@ var renderTextLayer = function renderTextLayerClosure() {
this._capability.reject('canceled'); this._capability.reject('canceled');
}, },
_render: function TextLayer_render(timeout) { _render: function TextLayer_render(timeout) {
var _this = this;
var textItems = this._textContent.items; var textItems = this._textContent.items;
var textStyles = this._textContent.styles; var textStyles = this._textContent.styles;
for (var i = 0, len = textItems.length; i < len; i++) { for (var i = 0, len = textItems.length; i < len; i++) {
@ -14149,10 +14177,9 @@ var renderTextLayer = function renderTextLayerClosure() {
if (!timeout) { if (!timeout) {
render(this); render(this);
} else { } else {
var self = this;
this._renderTimer = setTimeout(function () { this._renderTimer = setTimeout(function () {
render(self); render(_this);
self._renderTimer = null; _this._renderTimer = null;
}, timeout); }, timeout);
} }
}, },
@ -28089,8 +28116,8 @@ if (!_util.globalScope.PDFJS) {
} }
var PDFJS = _util.globalScope.PDFJS; var PDFJS = _util.globalScope.PDFJS;
{ {
PDFJS.version = '1.8.310'; PDFJS.version = '1.8.312';
PDFJS.build = 'e42fc546'; PDFJS.build = 'e81c067d';
} }
PDFJS.pdfBug = false; PDFJS.pdfBug = false;
if (PDFJS.verbosity !== undefined) { if (PDFJS.verbosity !== undefined) {
@ -43629,8 +43656,8 @@ exports.TilingPattern = TilingPattern;
"use strict"; "use strict";
var pdfjsVersion = '1.8.310'; var pdfjsVersion = '1.8.312';
var pdfjsBuild = 'e42fc546'; var pdfjsBuild = 'e81c067d';
var pdfjsSharedUtil = __w_pdfjs_require__(0); var pdfjsSharedUtil = __w_pdfjs_require__(0);
var pdfjsDisplayGlobal = __w_pdfjs_require__(26); var pdfjsDisplayGlobal = __w_pdfjs_require__(26);
var pdfjsDisplayAPI = __w_pdfjs_require__(10); var pdfjsDisplayAPI = __w_pdfjs_require__(10);
@ -44445,16 +44472,18 @@ if (typeof PDFJS === 'undefined' || !PDFJS.compatibilityChecked) {
} }
}, },
scheduleRejectionCheck: function scheduleRejectionCheck() { scheduleRejectionCheck: function scheduleRejectionCheck() {
var _this = this;
if (this.pendingRejectionCheck) { if (this.pendingRejectionCheck) {
return; return;
} }
this.pendingRejectionCheck = true; this.pendingRejectionCheck = true;
setTimeout(function rejectionCheck() { setTimeout(function () {
this.pendingRejectionCheck = false; _this.pendingRejectionCheck = false;
var now = Date.now(); var now = Date.now();
for (var i = 0; i < this.unhandledRejections.length; i++) { for (var i = 0; i < _this.unhandledRejections.length; i++) {
if (now - this.unhandledRejections[i].time > REJECTION_TIMEOUT) { if (now - _this.unhandledRejections[i].time > REJECTION_TIMEOUT) {
var unhandled = this.unhandledRejections[i].promise._value; var unhandled = _this.unhandledRejections[i].promise._value;
var msg = 'Unhandled rejection: ' + unhandled; var msg = 'Unhandled rejection: ' + unhandled;
if (unhandled.stack) { if (unhandled.stack) {
msg += '\n' + unhandled.stack; msg += '\n' + unhandled.stack;
@ -44464,14 +44493,14 @@ if (typeof PDFJS === 'undefined' || !PDFJS.compatibilityChecked) {
} catch (_) { } catch (_) {
console.warn(msg); console.warn(msg);
} }
this.unhandledRejections.splice(i); _this.unhandledRejections.splice(i);
i--; i--;
} }
} }
if (this.unhandledRejections.length) { if (_this.unhandledRejections.length) {
this.scheduleRejectionCheck(); _this.scheduleRejectionCheck();
} }
}.bind(this), REJECTION_TIMEOUT); }, REJECTION_TIMEOUT);
} }
}; };
var Promise = function Promise(resolver) { var Promise = function Promise(resolver) {

285
build/pdf.js

@ -989,6 +989,8 @@ var createObjectURL = function createObjectURLClosure() {
}; };
}(); }();
function MessageHandler(sourceName, targetName, comObj) { function MessageHandler(sourceName, targetName, comObj) {
var _this = this;
this.sourceName = sourceName; this.sourceName = sourceName;
this.targetName = targetName; this.targetName = targetName;
this.comObj = comObj; this.comObj = comObj;
@ -996,9 +998,9 @@ function MessageHandler(sourceName, targetName, comObj) {
this.postMessageTransfers = true; this.postMessageTransfers = true;
var callbacksCapabilities = this.callbacksCapabilities = Object.create(null); var callbacksCapabilities = this.callbacksCapabilities = Object.create(null);
var ah = this.actionHandler = Object.create(null); var ah = this.actionHandler = Object.create(null);
this._onComObjOnMessage = function messageHandlerComObjOnMessage(event) { this._onComObjOnMessage = function (event) {
var data = event.data; var data = event.data;
if (data.targetName !== this.sourceName) { if (data.targetName !== _this.sourceName) {
return; return;
} }
if (data.isReply) { if (data.isReply) {
@ -1017,7 +1019,7 @@ function MessageHandler(sourceName, targetName, comObj) {
} else if (data.action in ah) { } else if (data.action in ah) {
var action = ah[data.action]; var action = ah[data.action];
if (data.callbackId) { if (data.callbackId) {
var sourceName = this.sourceName; var sourceName = _this.sourceName;
var targetName = data.sourceName; var targetName = data.sourceName;
Promise.resolve().then(function () { Promise.resolve().then(function () {
return action[0].call(action[1], data.data); return action[0].call(action[1], data.data);
@ -1047,7 +1049,7 @@ function MessageHandler(sourceName, targetName, comObj) {
} else { } else {
error('Unknown action from worker: ' + data.action); error('Unknown action from worker: ' + data.action);
} }
}.bind(this); };
comObj.addEventListener('message', this._onComObjOnMessage); comObj.addEventListener('message', this._onComObjOnMessage);
} }
MessageHandler.prototype = { MessageHandler.prototype = {
@ -1225,15 +1227,17 @@ var DOMCMapReaderFactory = function DOMCMapReaderFactoryClosure() {
} }
DOMCMapReaderFactory.prototype = { DOMCMapReaderFactory.prototype = {
fetch: function fetch(params) { fetch: function fetch(params) {
var _this = this;
var name = params.name; var name = params.name;
if (!name) { if (!name) {
return Promise.reject(new Error('CMap name must be specified.')); return Promise.reject(new Error('CMap name must be specified.'));
} }
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
var url = this.baseUrl + name + (this.isCompressed ? '.bcmap' : ''); var url = _this.baseUrl + name + (_this.isCompressed ? '.bcmap' : '');
var request = new XMLHttpRequest(); var request = new XMLHttpRequest();
request.open('GET', url, true); request.open('GET', url, true);
if (this.isCompressed) { if (_this.isCompressed) {
request.responseType = 'arraybuffer'; request.responseType = 'arraybuffer';
} }
request.onreadystatechange = function () { request.onreadystatechange = function () {
@ -1242,23 +1246,23 @@ var DOMCMapReaderFactory = function DOMCMapReaderFactoryClosure() {
} }
if (request.status === 200 || request.status === 0) { if (request.status === 200 || request.status === 0) {
var data; var data;
if (this.isCompressed && request.response) { if (_this.isCompressed && request.response) {
data = new Uint8Array(request.response); data = new Uint8Array(request.response);
} else if (!this.isCompressed && request.responseText) { } else if (!_this.isCompressed && request.responseText) {
data = (0, _util.stringToBytes)(request.responseText); data = (0, _util.stringToBytes)(request.responseText);
} }
if (data) { if (data) {
resolve({ resolve({
cMapData: data, cMapData: data,
compressionType: this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE compressionType: _this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE
}); });
return; return;
} }
} }
reject(new Error('Unable to load ' + (this.isCompressed ? 'binary ' : '') + 'CMap at: ' + url)); reject(new Error('Unable to load ' + (_this.isCompressed ? 'binary ' : '') + 'CMap at: ' + url));
}.bind(this); };
request.send(null); request.send(null);
}.bind(this)); });
} }
}; };
return DOMCMapReaderFactory; return DOMCMapReaderFactory;
@ -1602,12 +1606,13 @@ var LinkAnnotationElement = function LinkAnnotationElementClosure() {
this.container.appendChild(link); this.container.appendChild(link);
return this.container; return this.container;
}, },
_bindLink: function LinkAnnotationElement_bindLink(link, destination) { _bindLink: function _bindLink(link, destination) {
var self = this; var _this = this;
link.href = this.linkService.getDestinationHash(destination); link.href = this.linkService.getDestinationHash(destination);
link.onclick = function () { link.onclick = function () {
if (destination) { if (destination) {
self.linkService.navigateTo(destination); _this.linkService.navigateTo(destination);
} }
return false; return false;
}; };
@ -1615,11 +1620,12 @@ var LinkAnnotationElement = function LinkAnnotationElementClosure() {
link.className = 'internalLink'; link.className = 'internalLink';
} }
}, },
_bindNamedAction: function LinkAnnotationElement_bindNamedAction(link, action) { _bindNamedAction: function _bindNamedAction(link, action) {
var self = this; var _this2 = this;
link.href = this.linkService.getAnchorUrl(''); link.href = this.linkService.getAnchorUrl('');
link.onclick = function () { link.onclick = function () {
self.linkService.executeNamedAction(action); _this2.linkService.executeNamedAction(action);
return false; return false;
}; };
link.className = 'internalLink'; link.className = 'internalLink';
@ -2271,15 +2277,17 @@ var PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {
return this._capability.promise; return this._capability.promise;
}, },
destroy: function destroy() { destroy: function destroy() {
var _this = this;
this.destroyed = true; this.destroyed = true;
var transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy(); var transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy();
return transportDestroyed.then(function () { return transportDestroyed.then(function () {
this._transport = null; _this._transport = null;
if (this._worker) { if (_this._worker) {
this._worker.destroy(); _this._worker.destroy();
this._worker = null; _this._worker = null;
} }
}.bind(this)); });
}, },
then: function PDFDocumentLoadingTask_then(onFulfilled, onRejected) { then: function PDFDocumentLoadingTask_then(onFulfilled, onRejected) {
@ -2314,20 +2322,24 @@ var PDFDataRangeTransport = function pdfDataRangeTransportClosure() {
} }
}, },
onDataProgress: function PDFDataRangeTransport_onDataProgress(loaded) { onDataProgress: function PDFDataRangeTransport_onDataProgress(loaded) {
var _this2 = this;
this._readyCapability.promise.then(function () { this._readyCapability.promise.then(function () {
var listeners = this._progressListeners; var listeners = _this2._progressListeners;
for (var i = 0, n = listeners.length; i < n; ++i) { for (var i = 0, n = listeners.length; i < n; ++i) {
listeners[i](loaded); listeners[i](loaded);
} }
}.bind(this)); });
}, },
onDataProgressiveRead: function PDFDataRangeTransport_onDataProgress(chunk) { onDataProgressiveRead: function PDFDataRangeTransport_onDataProgress(chunk) {
var _this3 = this;
this._readyCapability.promise.then(function () { this._readyCapability.promise.then(function () {
var listeners = this._progressiveReadListeners; var listeners = _this3._progressiveReadListeners;
for (var i = 0, n = listeners.length; i < n; ++i) { for (var i = 0, n = listeners.length; i < n; ++i) {
listeners[i](chunk); listeners[i](chunk);
} }
}.bind(this)); });
}, },
transportReady: function PDFDataRangeTransport_transportReady() { transportReady: function PDFDataRangeTransport_transportReady() {
this._readyCapability.resolve(); this._readyCapability.resolve();
@ -2442,6 +2454,8 @@ var PDFPageProxy = function PDFPageProxyClosure() {
return this.annotationsPromise; return this.annotationsPromise;
}, },
render: function PDFPageProxy_render(params) { render: function PDFPageProxy_render(params) {
var _this4 = this;
var stats = this.stats; var stats = this.stats;
stats.time('Overall'); stats.time('Overall');
this.pendingCleanup = false; this.pendingCleanup = false;
@ -2466,6 +2480,23 @@ var PDFPageProxy = function PDFPageProxyClosure() {
renderInteractiveForms: params.renderInteractiveForms === true renderInteractiveForms: params.renderInteractiveForms === true
}); });
} }
var complete = function complete(error) {
var i = intentState.renderTasks.indexOf(internalRenderTask);
if (i >= 0) {
intentState.renderTasks.splice(i, 1);
}
if (_this4.cleanupAfterRender) {
_this4.pendingCleanup = true;
}
_this4._tryCleanup();
if (error) {
internalRenderTask.capability.reject(error);
} else {
internalRenderTask.capability.resolve();
}
stats.timeEnd('Rendering');
stats.timeEnd('Overall');
};
var internalRenderTask = new InternalRenderTask(complete, params, this.objs, this.commonObjs, intentState.operatorList, this.pageNumber, canvasFactory); var internalRenderTask = new InternalRenderTask(complete, params, this.objs, this.commonObjs, intentState.operatorList, this.pageNumber, canvasFactory);
internalRenderTask.useRequestAnimationFrame = renderingIntent !== 'print'; internalRenderTask.useRequestAnimationFrame = renderingIntent !== 'print';
if (!intentState.renderTasks) { if (!intentState.renderTasks) {
@ -2477,35 +2508,15 @@ var PDFPageProxy = function PDFPageProxyClosure() {
(0, _util.deprecated)('render is used with continueCallback parameter'); (0, _util.deprecated)('render is used with continueCallback parameter');
renderTask.onContinue = params.continueCallback; renderTask.onContinue = params.continueCallback;
} }
var self = this; intentState.displayReadyCapability.promise.then(function (transparency) {
intentState.displayReadyCapability.promise.then(function pageDisplayReadyPromise(transparency) { if (_this4.pendingCleanup) {
if (self.pendingCleanup) {
complete(); complete();
return; return;
} }
stats.time('Rendering'); stats.time('Rendering');
internalRenderTask.initializeGraphics(transparency); internalRenderTask.initializeGraphics(transparency);
internalRenderTask.operatorListChanged(); internalRenderTask.operatorListChanged();
}, function pageDisplayReadPromiseError(reason) { }, complete);
complete(reason);
});
function complete(error) {
var i = intentState.renderTasks.indexOf(internalRenderTask);
if (i >= 0) {
intentState.renderTasks.splice(i, 1);
}
if (self.cleanupAfterRender) {
self.pendingCleanup = true;
}
self._tryCleanup();
if (error) {
internalRenderTask.capability.reject(error);
} else {
internalRenderTask.capability.resolve();
}
stats.timeEnd('Rendering');
stats.timeEnd('Overall');
}
return renderTask; return renderTask;
}, },
getOperatorList: function PDFPageProxy_getOperatorList() { getOperatorList: function PDFPageProxy_getOperatorList() {
@ -2632,6 +2643,8 @@ var LoopbackPort = function () {
_createClass(LoopbackPort, [{ _createClass(LoopbackPort, [{
key: 'postMessage', key: 'postMessage',
value: function postMessage(obj, transfers) { value: function postMessage(obj, transfers) {
var _this5 = this;
function cloneValue(value) { function cloneValue(value) {
if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) !== 'object' || value === null) { if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) !== 'object' || value === null) {
return value; return value;
@ -2677,10 +2690,10 @@ var LoopbackPort = function () {
var cloned = new WeakMap(); var cloned = new WeakMap();
var e = { data: cloneValue(obj) }; var e = { data: cloneValue(obj) };
this._deferred.then(function () { this._deferred.then(function () {
this._listeners.forEach(function (listener) { _this5._listeners.forEach(function (listener) {
listener.call(this, e); listener.call(this, e);
}, this); }, _this5);
}.bind(this)); });
} }
}, { }, {
key: 'addEventListener', key: 'addEventListener',
@ -2766,6 +2779,8 @@ var PDFWorker = function PDFWorkerClosure() {
this._readyCapability.resolve(); this._readyCapability.resolve();
}, },
_initialize: function PDFWorker_initialize() { _initialize: function PDFWorker_initialize() {
var _this6 = this;
if (!isWorkerDisabled && !(0, _dom_utils.getDefaultSetting)('disableWorker') && typeof Worker !== 'undefined') { if (!isWorkerDisabled && !(0, _dom_utils.getDefaultSetting)('disableWorker') && typeof Worker !== 'undefined') {
var workerSrc = getWorkerSrc(); var workerSrc = getWorkerSrc();
try { try {
@ -2774,44 +2789,44 @@ var PDFWorker = function PDFWorkerClosure() {
} }
var worker = new Worker(workerSrc); var worker = new Worker(workerSrc);
var messageHandler = new _util.MessageHandler('main', 'worker', worker); var messageHandler = new _util.MessageHandler('main', 'worker', worker);
var terminateEarly = function () { var terminateEarly = function terminateEarly() {
worker.removeEventListener('error', onWorkerError); worker.removeEventListener('error', onWorkerError);
messageHandler.destroy(); messageHandler.destroy();
worker.terminate(); worker.terminate();
if (this.destroyed) { if (_this6.destroyed) {
this._readyCapability.reject(new Error('Worker was destroyed')); _this6._readyCapability.reject(new Error('Worker was destroyed'));
} else { } else {
this._setupFakeWorker(); _this6._setupFakeWorker();
} }
}.bind(this); };
var onWorkerError = function (event) { var onWorkerError = function onWorkerError() {
if (!this._webWorker) { if (!_this6._webWorker) {
terminateEarly(); terminateEarly();
} }
}.bind(this); };
worker.addEventListener('error', onWorkerError); worker.addEventListener('error', onWorkerError);
messageHandler.on('test', function PDFWorker_test(data) { messageHandler.on('test', function (data) {
worker.removeEventListener('error', onWorkerError); worker.removeEventListener('error', onWorkerError);
if (this.destroyed) { if (_this6.destroyed) {
terminateEarly(); terminateEarly();
return; return;
} }
var supportTypedArray = data && data.supportTypedArray; var supportTypedArray = data && data.supportTypedArray;
if (supportTypedArray) { if (supportTypedArray) {
this._messageHandler = messageHandler; _this6._messageHandler = messageHandler;
this._port = worker; _this6._port = worker;
this._webWorker = worker; _this6._webWorker = worker;
if (!data.supportTransfers) { if (!data.supportTransfers) {
isPostMessageTransfersDisabled = true; isPostMessageTransfersDisabled = true;
} }
this._readyCapability.resolve(); _this6._readyCapability.resolve();
messageHandler.send('configure', { verbosity: (0, _util.getVerbosityLevel)() }); messageHandler.send('configure', { verbosity: (0, _util.getVerbosityLevel)() });
} else { } else {
this._setupFakeWorker(); _this6._setupFakeWorker();
messageHandler.destroy(); messageHandler.destroy();
worker.terminate(); worker.terminate();
} }
}.bind(this)); });
messageHandler.on('console_log', function (data) { messageHandler.on('console_log', function (data) {
console.log.apply(console, data); console.log.apply(console, data);
}); });
@ -2820,16 +2835,16 @@ var PDFWorker = function PDFWorkerClosure() {
}); });
messageHandler.on('ready', function (data) { messageHandler.on('ready', function (data) {
worker.removeEventListener('error', onWorkerError); worker.removeEventListener('error', onWorkerError);
if (this.destroyed) { if (_this6.destroyed) {
terminateEarly(); terminateEarly();
return; return;
} }
try { try {
sendTest(); sendTest();
} catch (e) { } catch (e) {
this._setupFakeWorker(); _this6._setupFakeWorker();
} }
}.bind(this)); });
var sendTest = function sendTest() { var sendTest = function sendTest() {
var postMessageTransfers = (0, _dom_utils.getDefaultSetting)('postMessageTransfers') && !isPostMessageTransfersDisabled; var postMessageTransfers = (0, _dom_utils.getDefaultSetting)('postMessageTransfers') && !isPostMessageTransfersDisabled;
var testObj = new Uint8Array([postMessageTransfers ? 255 : 0]); var testObj = new Uint8Array([postMessageTransfers ? 255 : 0]);
@ -2850,25 +2865,27 @@ var PDFWorker = function PDFWorkerClosure() {
this._setupFakeWorker(); this._setupFakeWorker();
}, },
_setupFakeWorker: function PDFWorker_setupFakeWorker() { _setupFakeWorker: function PDFWorker_setupFakeWorker() {
var _this7 = this;
if (!isWorkerDisabled && !(0, _dom_utils.getDefaultSetting)('disableWorker')) { if (!isWorkerDisabled && !(0, _dom_utils.getDefaultSetting)('disableWorker')) {
(0, _util.warn)('Setting up fake worker.'); (0, _util.warn)('Setting up fake worker.');
isWorkerDisabled = true; isWorkerDisabled = true;
} }
setupFakeWorkerGlobal().then(function (WorkerMessageHandler) { setupFakeWorkerGlobal().then(function (WorkerMessageHandler) {
if (this.destroyed) { if (_this7.destroyed) {
this._readyCapability.reject(new Error('Worker was destroyed')); _this7._readyCapability.reject(new Error('Worker was destroyed'));
return; return;
} }
var isTypedArraysPresent = Uint8Array !== Float32Array; var isTypedArraysPresent = Uint8Array !== Float32Array;
var port = new LoopbackPort(isTypedArraysPresent); var port = new LoopbackPort(isTypedArraysPresent);
this._port = port; _this7._port = port;
var id = 'fake' + nextFakeWorkerId++; var id = 'fake' + nextFakeWorkerId++;
var workerHandler = new _util.MessageHandler(id + '_worker', id, port); var workerHandler = new _util.MessageHandler(id + '_worker', id, port);
WorkerMessageHandler.setup(workerHandler, port); WorkerMessageHandler.setup(workerHandler, port);
var messageHandler = new _util.MessageHandler(id, id + '_worker', port); var messageHandler = new _util.MessageHandler(id, id + '_worker', port);
this._messageHandler = messageHandler; _this7._messageHandler = messageHandler;
this._readyCapability.resolve(); _this7._readyCapability.resolve();
}.bind(this)); });
}, },
destroy: function PDFWorker_destroy() { destroy: function PDFWorker_destroy() {
this.destroyed = true; this.destroyed = true;
@ -2906,6 +2923,8 @@ var WorkerTransport = function WorkerTransportClosure() {
} }
WorkerTransport.prototype = { WorkerTransport.prototype = {
destroy: function WorkerTransport_destroy() { destroy: function WorkerTransport_destroy() {
var _this8 = this;
if (this.destroyCapability) { if (this.destroyCapability) {
return this.destroyCapability.promise; return this.destroyCapability.promise;
} }
@ -2922,20 +2941,19 @@ var WorkerTransport = function WorkerTransportClosure() {
}); });
this.pageCache = []; this.pageCache = [];
this.pagePromises = []; this.pagePromises = [];
var self = this;
var terminated = this.messageHandler.sendWithPromise('Terminate', null); var terminated = this.messageHandler.sendWithPromise('Terminate', null);
waitOn.push(terminated); waitOn.push(terminated);
Promise.all(waitOn).then(function () { Promise.all(waitOn).then(function () {
self.fontLoader.clear(); _this8.fontLoader.clear();
if (self.pdfDataRangeTransport) { if (_this8.pdfDataRangeTransport) {
self.pdfDataRangeTransport.abort(); _this8.pdfDataRangeTransport.abort();
self.pdfDataRangeTransport = null; _this8.pdfDataRangeTransport = null;
} }
if (self.messageHandler) { if (_this8.messageHandler) {
self.messageHandler.destroy(); _this8.messageHandler.destroy();
self.messageHandler = null; _this8.messageHandler = null;
} }
self.destroyCapability.resolve(); _this8.destroyCapability.resolve();
}, this.destroyCapability.reject); }, this.destroyCapability.reject);
return this.destroyCapability.promise; return this.destroyCapability.promise;
}, },
@ -2969,12 +2987,12 @@ var WorkerTransport = function WorkerTransportClosure() {
loadingTask._capability.resolve(pdfDocument); loadingTask._capability.resolve(pdfDocument);
}, this); }, this);
messageHandler.on('PasswordRequest', function transportPasswordRequest(exception) { messageHandler.on('PasswordRequest', function transportPasswordRequest(exception) {
var _this = this; var _this9 = this;
this._passwordCapability = (0, _util.createPromiseCapability)(); this._passwordCapability = (0, _util.createPromiseCapability)();
if (loadingTask.onPassword) { if (loadingTask.onPassword) {
var updatePassword = function updatePassword(password) { var updatePassword = function updatePassword(password) {
_this._passwordCapability.resolve({ password: password }); _this9._passwordCapability.resolve({ password: password });
}; };
loadingTask.onPassword(updatePassword, exception.code); loadingTask.onPassword(updatePassword, exception.code);
} else { } else {
@ -3021,6 +3039,8 @@ var WorkerTransport = function WorkerTransportClosure() {
page._renderPageChunk(data.operatorList, data.intent); page._renderPageChunk(data.operatorList, data.intent);
}, this); }, this);
messageHandler.on('commonobj', function transportObj(data) { messageHandler.on('commonobj', function transportObj(data) {
var _this10 = this;
if (this.destroyed) { if (this.destroyed) {
return; return;
} }
@ -3051,9 +3071,10 @@ var WorkerTransport = function WorkerTransportClosure() {
disableFontFace: (0, _dom_utils.getDefaultSetting)('disableFontFace'), disableFontFace: (0, _dom_utils.getDefaultSetting)('disableFontFace'),
fontRegistry: fontRegistry fontRegistry: fontRegistry
}); });
this.fontLoader.bind([font], function fontReady(fontObjs) { var fontReady = function fontReady(fontObjs) {
this.commonObjs.resolve(id, font); _this10.commonObjs.resolve(id, font);
}.bind(this)); };
this.fontLoader.bind([font], fontReady);
break; break;
case 'FontPath': case 'FontPath':
this.commonObjs.resolve(id, data[2]); this.commonObjs.resolve(id, data[2]);
@ -3193,6 +3214,8 @@ var WorkerTransport = function WorkerTransportClosure() {
return this.messageHandler.sendWithPromise('GetData', null); return this.messageHandler.sendWithPromise('GetData', null);
}, },
getPage: function WorkerTransport_getPage(pageNumber, capability) { getPage: function WorkerTransport_getPage(pageNumber, capability) {
var _this11 = this;
if (!(0, _util.isInt)(pageNumber) || pageNumber <= 0 || pageNumber > this.numPages) { if (!(0, _util.isInt)(pageNumber) || pageNumber <= 0 || pageNumber > this.numPages) {
return Promise.reject(new Error('Invalid page request')); return Promise.reject(new Error('Invalid page request'));
} }
@ -3201,13 +3224,13 @@ var WorkerTransport = function WorkerTransportClosure() {
return this.pagePromises[pageIndex]; return this.pagePromises[pageIndex];
} }
var promise = this.messageHandler.sendWithPromise('GetPage', { pageIndex: pageIndex }).then(function (pageInfo) { var promise = this.messageHandler.sendWithPromise('GetPage', { pageIndex: pageIndex }).then(function (pageInfo) {
if (this.destroyed) { if (_this11.destroyed) {
throw new Error('Transport destroyed'); throw new Error('Transport destroyed');
} }
var page = new PDFPageProxy(pageIndex, pageInfo, this); var page = new PDFPageProxy(pageIndex, pageInfo, _this11);
this.pageCache[pageIndex] = page; _this11.pageCache[pageIndex] = page;
return page; return page;
}.bind(this)); });
this.pagePromises[pageIndex] = promise; this.pagePromises[pageIndex] = promise;
return promise; return promise;
}, },
@ -3252,16 +3275,18 @@ var WorkerTransport = function WorkerTransportClosure() {
return this.messageHandler.sendWithPromise('GetStats', null); return this.messageHandler.sendWithPromise('GetStats', null);
}, },
startCleanup: function WorkerTransport_startCleanup() { startCleanup: function WorkerTransport_startCleanup() {
this.messageHandler.sendWithPromise('Cleanup', null).then(function endCleanup() { var _this12 = this;
for (var i = 0, ii = this.pageCache.length; i < ii; i++) {
var page = this.pageCache[i]; this.messageHandler.sendWithPromise('Cleanup', null).then(function () {
for (var i = 0, ii = _this12.pageCache.length; i < ii; i++) {
var page = _this12.pageCache[i];
if (page) { if (page) {
page.cleanup(); page.cleanup();
} }
} }
this.commonObjs.clear(); _this12.commonObjs.clear();
this.fontLoader.clear(); _this12.fontLoader.clear();
}.bind(this)); });
} }
}; };
return WorkerTransport; return WorkerTransport;
@ -3455,8 +3480,8 @@ var _UnsupportedManager = function UnsupportedManagerClosure() {
}(); }();
var version, build; var version, build;
{ {
exports.version = version = '1.8.310'; exports.version = version = '1.8.312';
exports.build = build = 'e42fc546'; exports.build = build = 'e81c067d';
} }
exports.getDocument = getDocument; exports.getDocument = getDocument;
exports.LoopbackPort = LoopbackPort; exports.LoopbackPort = LoopbackPort;
@ -3774,10 +3799,11 @@ var SVGGraphics = function SVGGraphics() {
this.restore(); this.restore();
}, },
loadDependencies: function SVGGraphics_loadDependencies(operatorList) { loadDependencies: function SVGGraphics_loadDependencies(operatorList) {
var _this = this;
var fnArray = operatorList.fnArray; var fnArray = operatorList.fnArray;
var fnArrayLen = fnArray.length; var fnArrayLen = fnArray.length;
var argsArray = operatorList.argsArray; var argsArray = operatorList.argsArray;
var self = this;
for (var i = 0; i < fnArrayLen; i++) { for (var i = 0; i < fnArrayLen; i++) {
if (_util.OPS.dependency === fnArray[i]) { if (_util.OPS.dependency === fnArray[i]) {
var deps = argsArray[i]; var deps = argsArray[i];
@ -3787,11 +3813,11 @@ var SVGGraphics = function SVGGraphics() {
var promise; var promise;
if (common) { if (common) {
promise = new Promise(function (resolve) { promise = new Promise(function (resolve) {
self.commonObjs.get(obj, resolve); _this.commonObjs.get(obj, resolve);
}); });
} else { } else {
promise = new Promise(function (resolve) { promise = new Promise(function (resolve) {
self.objs.get(obj, resolve); _this.objs.get(obj, resolve);
}); });
} }
this.current.dependencies.push(promise); this.current.dependencies.push(promise);
@ -3806,14 +3832,16 @@ var SVGGraphics = function SVGGraphics() {
this.tgrp = null; this.tgrp = null;
}, },
getSVG: function SVGGraphics_getSVG(operatorList, viewport) { getSVG: function SVGGraphics_getSVG(operatorList, viewport) {
var _this2 = this;
this.viewport = viewport; this.viewport = viewport;
var svgElement = this._initialize(viewport); var svgElement = this._initialize(viewport);
return this.loadDependencies(operatorList).then(function () { return this.loadDependencies(operatorList).then(function () {
this.transformMatrix = _util.IDENTITY_MATRIX; _this2.transformMatrix = _util.IDENTITY_MATRIX;
var opTree = this.convertOpList(operatorList); var opTree = _this2.convertOpList(operatorList);
this.executeOpTree(opTree); _this2.executeOpTree(opTree);
return svgElement; return svgElement;
}.bind(this)); });
}, },
convertOpList: function SVGGraphics_convertOpList(operatorList) { convertOpList: function SVGGraphics_convertOpList(operatorList) {
var argsArray = operatorList.argsArray; var argsArray = operatorList.argsArray;
@ -4847,6 +4875,8 @@ var renderTextLayer = function renderTextLayerClosure() {
this._capability.reject('canceled'); this._capability.reject('canceled');
}, },
_render: function TextLayer_render(timeout) { _render: function TextLayer_render(timeout) {
var _this = this;
var textItems = this._textContent.items; var textItems = this._textContent.items;
var textStyles = this._textContent.styles; var textStyles = this._textContent.styles;
for (var i = 0, len = textItems.length; i < len; i++) { for (var i = 0, len = textItems.length; i < len; i++) {
@ -4855,10 +4885,9 @@ var renderTextLayer = function renderTextLayerClosure() {
if (!timeout) { if (!timeout) {
render(this); render(this);
} else { } else {
var self = this;
this._renderTimer = setTimeout(function () { this._renderTimer = setTimeout(function () {
render(self); render(_this);
self._renderTimer = null; _this._renderTimer = null;
}, timeout); }, timeout);
} }
}, },
@ -5424,8 +5453,8 @@ if (!_util.globalScope.PDFJS) {
} }
var PDFJS = _util.globalScope.PDFJS; var PDFJS = _util.globalScope.PDFJS;
{ {
PDFJS.version = '1.8.310'; PDFJS.version = '1.8.312';
PDFJS.build = 'e42fc546'; PDFJS.build = 'e81c067d';
} }
PDFJS.pdfBug = false; PDFJS.pdfBug = false;
if (PDFJS.verbosity !== undefined) { if (PDFJS.verbosity !== undefined) {
@ -7920,8 +7949,8 @@ exports.TilingPattern = TilingPattern;
"use strict"; "use strict";
var pdfjsVersion = '1.8.310'; var pdfjsVersion = '1.8.312';
var pdfjsBuild = 'e42fc546'; var pdfjsBuild = 'e81c067d';
var pdfjsSharedUtil = __w_pdfjs_require__(0); var pdfjsSharedUtil = __w_pdfjs_require__(0);
var pdfjsDisplayGlobal = __w_pdfjs_require__(9); var pdfjsDisplayGlobal = __w_pdfjs_require__(9);
var pdfjsDisplayAPI = __w_pdfjs_require__(3); var pdfjsDisplayAPI = __w_pdfjs_require__(3);
@ -8736,16 +8765,18 @@ if (typeof PDFJS === 'undefined' || !PDFJS.compatibilityChecked) {
} }
}, },
scheduleRejectionCheck: function scheduleRejectionCheck() { scheduleRejectionCheck: function scheduleRejectionCheck() {
var _this = this;
if (this.pendingRejectionCheck) { if (this.pendingRejectionCheck) {
return; return;
} }
this.pendingRejectionCheck = true; this.pendingRejectionCheck = true;
setTimeout(function rejectionCheck() { setTimeout(function () {
this.pendingRejectionCheck = false; _this.pendingRejectionCheck = false;
var now = Date.now(); var now = Date.now();
for (var i = 0; i < this.unhandledRejections.length; i++) { for (var i = 0; i < _this.unhandledRejections.length; i++) {
if (now - this.unhandledRejections[i].time > REJECTION_TIMEOUT) { if (now - _this.unhandledRejections[i].time > REJECTION_TIMEOUT) {
var unhandled = this.unhandledRejections[i].promise._value; var unhandled = _this.unhandledRejections[i].promise._value;
var msg = 'Unhandled rejection: ' + unhandled; var msg = 'Unhandled rejection: ' + unhandled;
if (unhandled.stack) { if (unhandled.stack) {
msg += '\n' + unhandled.stack; msg += '\n' + unhandled.stack;
@ -8755,14 +8786,14 @@ if (typeof PDFJS === 'undefined' || !PDFJS.compatibilityChecked) {
} catch (_) { } catch (_) {
console.warn(msg); console.warn(msg);
} }
this.unhandledRejections.splice(i); _this.unhandledRejections.splice(i);
i--; i--;
} }
} }
if (this.unhandledRejections.length) { if (_this.unhandledRejections.length) {
this.scheduleRejectionCheck(); _this.scheduleRejectionCheck();
} }
}.bind(this), REJECTION_TIMEOUT); }, REJECTION_TIMEOUT);
} }
}; };
var Promise = function Promise(resolver) { var Promise = function Promise(resolver) {

10
build/pdf.min.js vendored

File diff suppressed because one or more lines are too long

34
build/pdf.worker.js vendored

@ -989,6 +989,8 @@ var createObjectURL = function createObjectURLClosure() {
}; };
}(); }();
function MessageHandler(sourceName, targetName, comObj) { function MessageHandler(sourceName, targetName, comObj) {
var _this = this;
this.sourceName = sourceName; this.sourceName = sourceName;
this.targetName = targetName; this.targetName = targetName;
this.comObj = comObj; this.comObj = comObj;
@ -996,9 +998,9 @@ function MessageHandler(sourceName, targetName, comObj) {
this.postMessageTransfers = true; this.postMessageTransfers = true;
var callbacksCapabilities = this.callbacksCapabilities = Object.create(null); var callbacksCapabilities = this.callbacksCapabilities = Object.create(null);
var ah = this.actionHandler = Object.create(null); var ah = this.actionHandler = Object.create(null);
this._onComObjOnMessage = function messageHandlerComObjOnMessage(event) { this._onComObjOnMessage = function (event) {
var data = event.data; var data = event.data;
if (data.targetName !== this.sourceName) { if (data.targetName !== _this.sourceName) {
return; return;
} }
if (data.isReply) { if (data.isReply) {
@ -1017,7 +1019,7 @@ function MessageHandler(sourceName, targetName, comObj) {
} else if (data.action in ah) { } else if (data.action in ah) {
var action = ah[data.action]; var action = ah[data.action];
if (data.callbackId) { if (data.callbackId) {
var sourceName = this.sourceName; var sourceName = _this.sourceName;
var targetName = data.sourceName; var targetName = data.sourceName;
Promise.resolve().then(function () { Promise.resolve().then(function () {
return action[0].call(action[1], data.data); return action[0].call(action[1], data.data);
@ -1047,7 +1049,7 @@ function MessageHandler(sourceName, targetName, comObj) {
} else { } else {
error('Unknown action from worker: ' + data.action); error('Unknown action from worker: ' + data.action);
} }
}.bind(this); };
comObj.addEventListener('message', this._onComObjOnMessage); comObj.addEventListener('message', this._onComObjOnMessage);
} }
MessageHandler.prototype = { MessageHandler.prototype = {
@ -37020,8 +37022,8 @@ exports.Type1Parser = Type1Parser;
"use strict"; "use strict";
var pdfjsVersion = '1.8.310'; var pdfjsVersion = '1.8.312';
var pdfjsBuild = 'e42fc546'; var pdfjsBuild = 'e81c067d';
var pdfjsCoreWorker = __w_pdfjs_require__(8); var pdfjsCoreWorker = __w_pdfjs_require__(8);
{ {
__w_pdfjs_require__(19); __w_pdfjs_require__(19);
@ -37807,16 +37809,18 @@ if (typeof PDFJS === 'undefined' || !PDFJS.compatibilityChecked) {
} }
}, },
scheduleRejectionCheck: function scheduleRejectionCheck() { scheduleRejectionCheck: function scheduleRejectionCheck() {
var _this = this;
if (this.pendingRejectionCheck) { if (this.pendingRejectionCheck) {
return; return;
} }
this.pendingRejectionCheck = true; this.pendingRejectionCheck = true;
setTimeout(function rejectionCheck() { setTimeout(function () {
this.pendingRejectionCheck = false; _this.pendingRejectionCheck = false;
var now = Date.now(); var now = Date.now();
for (var i = 0; i < this.unhandledRejections.length; i++) { for (var i = 0; i < _this.unhandledRejections.length; i++) {
if (now - this.unhandledRejections[i].time > REJECTION_TIMEOUT) { if (now - _this.unhandledRejections[i].time > REJECTION_TIMEOUT) {
var unhandled = this.unhandledRejections[i].promise._value; var unhandled = _this.unhandledRejections[i].promise._value;
var msg = 'Unhandled rejection: ' + unhandled; var msg = 'Unhandled rejection: ' + unhandled;
if (unhandled.stack) { if (unhandled.stack) {
msg += '\n' + unhandled.stack; msg += '\n' + unhandled.stack;
@ -37826,14 +37830,14 @@ if (typeof PDFJS === 'undefined' || !PDFJS.compatibilityChecked) {
} catch (_) { } catch (_) {
console.warn(msg); console.warn(msg);
} }
this.unhandledRejections.splice(i); _this.unhandledRejections.splice(i);
i--; i--;
} }
} }
if (this.unhandledRejections.length) { if (_this.unhandledRejections.length) {
this.scheduleRejectionCheck(); _this.scheduleRejectionCheck();
} }
}.bind(this), REJECTION_TIMEOUT); }, REJECTION_TIMEOUT);
} }
}; };
var Promise = function Promise(resolver) { var Promise = function Promise(resolver) {

6
build/pdf.worker.min.js vendored

File diff suppressed because one or more lines are too long

14
lib/display/annotation_layer.js

@ -185,12 +185,13 @@ var LinkAnnotationElement = function LinkAnnotationElementClosure() {
this.container.appendChild(link); this.container.appendChild(link);
return this.container; return this.container;
}, },
_bindLink: function LinkAnnotationElement_bindLink(link, destination) { _bindLink: function _bindLink(link, destination) {
var self = this; var _this = this;
link.href = this.linkService.getDestinationHash(destination); link.href = this.linkService.getDestinationHash(destination);
link.onclick = function () { link.onclick = function () {
if (destination) { if (destination) {
self.linkService.navigateTo(destination); _this.linkService.navigateTo(destination);
} }
return false; return false;
}; };
@ -198,11 +199,12 @@ var LinkAnnotationElement = function LinkAnnotationElementClosure() {
link.className = 'internalLink'; link.className = 'internalLink';
} }
}, },
_bindNamedAction: function LinkAnnotationElement_bindNamedAction(link, action) { _bindNamedAction: function _bindNamedAction(link, action) {
var self = this; var _this2 = this;
link.href = this.linkService.getAnchorUrl(''); link.href = this.linkService.getAnchorUrl('');
link.onclick = function () { link.onclick = function () {
self.linkService.executeNamedAction(action); _this2.linkService.executeNamedAction(action);
return false; return false;
}; };
link.className = 'internalLink'; link.className = 'internalLink';

191
lib/display/api.js

@ -202,15 +202,17 @@ var PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {
return this._capability.promise; return this._capability.promise;
}, },
destroy: function destroy() { destroy: function destroy() {
var _this = this;
this.destroyed = true; this.destroyed = true;
var transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy(); var transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy();
return transportDestroyed.then(function () { return transportDestroyed.then(function () {
this._transport = null; _this._transport = null;
if (this._worker) { if (_this._worker) {
this._worker.destroy(); _this._worker.destroy();
this._worker = null; _this._worker = null;
} }
}.bind(this)); });
}, },
then: function PDFDocumentLoadingTask_then(onFulfilled, onRejected) { then: function PDFDocumentLoadingTask_then(onFulfilled, onRejected) {
@ -245,20 +247,24 @@ var PDFDataRangeTransport = function pdfDataRangeTransportClosure() {
} }
}, },
onDataProgress: function PDFDataRangeTransport_onDataProgress(loaded) { onDataProgress: function PDFDataRangeTransport_onDataProgress(loaded) {
var _this2 = this;
this._readyCapability.promise.then(function () { this._readyCapability.promise.then(function () {
var listeners = this._progressListeners; var listeners = _this2._progressListeners;
for (var i = 0, n = listeners.length; i < n; ++i) { for (var i = 0, n = listeners.length; i < n; ++i) {
listeners[i](loaded); listeners[i](loaded);
} }
}.bind(this)); });
}, },
onDataProgressiveRead: function PDFDataRangeTransport_onDataProgress(chunk) { onDataProgressiveRead: function PDFDataRangeTransport_onDataProgress(chunk) {
var _this3 = this;
this._readyCapability.promise.then(function () { this._readyCapability.promise.then(function () {
var listeners = this._progressiveReadListeners; var listeners = _this3._progressiveReadListeners;
for (var i = 0, n = listeners.length; i < n; ++i) { for (var i = 0, n = listeners.length; i < n; ++i) {
listeners[i](chunk); listeners[i](chunk);
} }
}.bind(this)); });
}, },
transportReady: function PDFDataRangeTransport_transportReady() { transportReady: function PDFDataRangeTransport_transportReady() {
this._readyCapability.resolve(); this._readyCapability.resolve();
@ -373,6 +379,8 @@ var PDFPageProxy = function PDFPageProxyClosure() {
return this.annotationsPromise; return this.annotationsPromise;
}, },
render: function PDFPageProxy_render(params) { render: function PDFPageProxy_render(params) {
var _this4 = this;
var stats = this.stats; var stats = this.stats;
stats.time('Overall'); stats.time('Overall');
this.pendingCleanup = false; this.pendingCleanup = false;
@ -397,6 +405,23 @@ var PDFPageProxy = function PDFPageProxyClosure() {
renderInteractiveForms: params.renderInteractiveForms === true renderInteractiveForms: params.renderInteractiveForms === true
}); });
} }
var complete = function complete(error) {
var i = intentState.renderTasks.indexOf(internalRenderTask);
if (i >= 0) {
intentState.renderTasks.splice(i, 1);
}
if (_this4.cleanupAfterRender) {
_this4.pendingCleanup = true;
}
_this4._tryCleanup();
if (error) {
internalRenderTask.capability.reject(error);
} else {
internalRenderTask.capability.resolve();
}
stats.timeEnd('Rendering');
stats.timeEnd('Overall');
};
var internalRenderTask = new InternalRenderTask(complete, params, this.objs, this.commonObjs, intentState.operatorList, this.pageNumber, canvasFactory); var internalRenderTask = new InternalRenderTask(complete, params, this.objs, this.commonObjs, intentState.operatorList, this.pageNumber, canvasFactory);
internalRenderTask.useRequestAnimationFrame = renderingIntent !== 'print'; internalRenderTask.useRequestAnimationFrame = renderingIntent !== 'print';
if (!intentState.renderTasks) { if (!intentState.renderTasks) {
@ -408,35 +433,15 @@ var PDFPageProxy = function PDFPageProxyClosure() {
(0, _util.deprecated)('render is used with continueCallback parameter'); (0, _util.deprecated)('render is used with continueCallback parameter');
renderTask.onContinue = params.continueCallback; renderTask.onContinue = params.continueCallback;
} }
var self = this; intentState.displayReadyCapability.promise.then(function (transparency) {
intentState.displayReadyCapability.promise.then(function pageDisplayReadyPromise(transparency) { if (_this4.pendingCleanup) {
if (self.pendingCleanup) {
complete(); complete();
return; return;
} }
stats.time('Rendering'); stats.time('Rendering');
internalRenderTask.initializeGraphics(transparency); internalRenderTask.initializeGraphics(transparency);
internalRenderTask.operatorListChanged(); internalRenderTask.operatorListChanged();
}, function pageDisplayReadPromiseError(reason) { }, complete);
complete(reason);
});
function complete(error) {
var i = intentState.renderTasks.indexOf(internalRenderTask);
if (i >= 0) {
intentState.renderTasks.splice(i, 1);
}
if (self.cleanupAfterRender) {
self.pendingCleanup = true;
}
self._tryCleanup();
if (error) {
internalRenderTask.capability.reject(error);
} else {
internalRenderTask.capability.resolve();
}
stats.timeEnd('Rendering');
stats.timeEnd('Overall');
}
return renderTask; return renderTask;
}, },
getOperatorList: function PDFPageProxy_getOperatorList() { getOperatorList: function PDFPageProxy_getOperatorList() {
@ -563,6 +568,8 @@ var LoopbackPort = function () {
_createClass(LoopbackPort, [{ _createClass(LoopbackPort, [{
key: 'postMessage', key: 'postMessage',
value: function postMessage(obj, transfers) { value: function postMessage(obj, transfers) {
var _this5 = this;
function cloneValue(value) { function cloneValue(value) {
if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) !== 'object' || value === null) { if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) !== 'object' || value === null) {
return value; return value;
@ -608,10 +615,10 @@ var LoopbackPort = function () {
var cloned = new WeakMap(); var cloned = new WeakMap();
var e = { data: cloneValue(obj) }; var e = { data: cloneValue(obj) };
this._deferred.then(function () { this._deferred.then(function () {
this._listeners.forEach(function (listener) { _this5._listeners.forEach(function (listener) {
listener.call(this, e); listener.call(this, e);
}, this); }, _this5);
}.bind(this)); });
} }
}, { }, {
key: 'addEventListener', key: 'addEventListener',
@ -697,6 +704,8 @@ var PDFWorker = function PDFWorkerClosure() {
this._readyCapability.resolve(); this._readyCapability.resolve();
}, },
_initialize: function PDFWorker_initialize() { _initialize: function PDFWorker_initialize() {
var _this6 = this;
if (!isWorkerDisabled && !(0, _dom_utils.getDefaultSetting)('disableWorker') && typeof Worker !== 'undefined') { if (!isWorkerDisabled && !(0, _dom_utils.getDefaultSetting)('disableWorker') && typeof Worker !== 'undefined') {
var workerSrc = getWorkerSrc(); var workerSrc = getWorkerSrc();
try { try {
@ -705,44 +714,44 @@ var PDFWorker = function PDFWorkerClosure() {
} }
var worker = new Worker(workerSrc); var worker = new Worker(workerSrc);
var messageHandler = new _util.MessageHandler('main', 'worker', worker); var messageHandler = new _util.MessageHandler('main', 'worker', worker);
var terminateEarly = function () { var terminateEarly = function terminateEarly() {
worker.removeEventListener('error', onWorkerError); worker.removeEventListener('error', onWorkerError);
messageHandler.destroy(); messageHandler.destroy();
worker.terminate(); worker.terminate();
if (this.destroyed) { if (_this6.destroyed) {
this._readyCapability.reject(new Error('Worker was destroyed')); _this6._readyCapability.reject(new Error('Worker was destroyed'));
} else { } else {
this._setupFakeWorker(); _this6._setupFakeWorker();
} }
}.bind(this); };
var onWorkerError = function (event) { var onWorkerError = function onWorkerError() {
if (!this._webWorker) { if (!_this6._webWorker) {
terminateEarly(); terminateEarly();
} }
}.bind(this); };
worker.addEventListener('error', onWorkerError); worker.addEventListener('error', onWorkerError);
messageHandler.on('test', function PDFWorker_test(data) { messageHandler.on('test', function (data) {
worker.removeEventListener('error', onWorkerError); worker.removeEventListener('error', onWorkerError);
if (this.destroyed) { if (_this6.destroyed) {
terminateEarly(); terminateEarly();
return; return;
} }
var supportTypedArray = data && data.supportTypedArray; var supportTypedArray = data && data.supportTypedArray;
if (supportTypedArray) { if (supportTypedArray) {
this._messageHandler = messageHandler; _this6._messageHandler = messageHandler;
this._port = worker; _this6._port = worker;
this._webWorker = worker; _this6._webWorker = worker;
if (!data.supportTransfers) { if (!data.supportTransfers) {
isPostMessageTransfersDisabled = true; isPostMessageTransfersDisabled = true;
} }
this._readyCapability.resolve(); _this6._readyCapability.resolve();
messageHandler.send('configure', { verbosity: (0, _util.getVerbosityLevel)() }); messageHandler.send('configure', { verbosity: (0, _util.getVerbosityLevel)() });
} else { } else {
this._setupFakeWorker(); _this6._setupFakeWorker();
messageHandler.destroy(); messageHandler.destroy();
worker.terminate(); worker.terminate();
} }
}.bind(this)); });
messageHandler.on('console_log', function (data) { messageHandler.on('console_log', function (data) {
console.log.apply(console, data); console.log.apply(console, data);
}); });
@ -751,16 +760,16 @@ var PDFWorker = function PDFWorkerClosure() {
}); });
messageHandler.on('ready', function (data) { messageHandler.on('ready', function (data) {
worker.removeEventListener('error', onWorkerError); worker.removeEventListener('error', onWorkerError);
if (this.destroyed) { if (_this6.destroyed) {
terminateEarly(); terminateEarly();
return; return;
} }
try { try {
sendTest(); sendTest();
} catch (e) { } catch (e) {
this._setupFakeWorker(); _this6._setupFakeWorker();
} }
}.bind(this)); });
var sendTest = function sendTest() { var sendTest = function sendTest() {
var postMessageTransfers = (0, _dom_utils.getDefaultSetting)('postMessageTransfers') && !isPostMessageTransfersDisabled; var postMessageTransfers = (0, _dom_utils.getDefaultSetting)('postMessageTransfers') && !isPostMessageTransfersDisabled;
var testObj = new Uint8Array([postMessageTransfers ? 255 : 0]); var testObj = new Uint8Array([postMessageTransfers ? 255 : 0]);
@ -781,25 +790,27 @@ var PDFWorker = function PDFWorkerClosure() {
this._setupFakeWorker(); this._setupFakeWorker();
}, },
_setupFakeWorker: function PDFWorker_setupFakeWorker() { _setupFakeWorker: function PDFWorker_setupFakeWorker() {
var _this7 = this;
if (!isWorkerDisabled && !(0, _dom_utils.getDefaultSetting)('disableWorker')) { if (!isWorkerDisabled && !(0, _dom_utils.getDefaultSetting)('disableWorker')) {
(0, _util.warn)('Setting up fake worker.'); (0, _util.warn)('Setting up fake worker.');
isWorkerDisabled = true; isWorkerDisabled = true;
} }
setupFakeWorkerGlobal().then(function (WorkerMessageHandler) { setupFakeWorkerGlobal().then(function (WorkerMessageHandler) {
if (this.destroyed) { if (_this7.destroyed) {
this._readyCapability.reject(new Error('Worker was destroyed')); _this7._readyCapability.reject(new Error('Worker was destroyed'));
return; return;
} }
var isTypedArraysPresent = Uint8Array !== Float32Array; var isTypedArraysPresent = Uint8Array !== Float32Array;
var port = new LoopbackPort(isTypedArraysPresent); var port = new LoopbackPort(isTypedArraysPresent);
this._port = port; _this7._port = port;
var id = 'fake' + nextFakeWorkerId++; var id = 'fake' + nextFakeWorkerId++;
var workerHandler = new _util.MessageHandler(id + '_worker', id, port); var workerHandler = new _util.MessageHandler(id + '_worker', id, port);
WorkerMessageHandler.setup(workerHandler, port); WorkerMessageHandler.setup(workerHandler, port);
var messageHandler = new _util.MessageHandler(id, id + '_worker', port); var messageHandler = new _util.MessageHandler(id, id + '_worker', port);
this._messageHandler = messageHandler; _this7._messageHandler = messageHandler;
this._readyCapability.resolve(); _this7._readyCapability.resolve();
}.bind(this)); });
}, },
destroy: function PDFWorker_destroy() { destroy: function PDFWorker_destroy() {
this.destroyed = true; this.destroyed = true;
@ -837,6 +848,8 @@ var WorkerTransport = function WorkerTransportClosure() {
} }
WorkerTransport.prototype = { WorkerTransport.prototype = {
destroy: function WorkerTransport_destroy() { destroy: function WorkerTransport_destroy() {
var _this8 = this;
if (this.destroyCapability) { if (this.destroyCapability) {
return this.destroyCapability.promise; return this.destroyCapability.promise;
} }
@ -853,20 +866,19 @@ var WorkerTransport = function WorkerTransportClosure() {
}); });
this.pageCache = []; this.pageCache = [];
this.pagePromises = []; this.pagePromises = [];
var self = this;
var terminated = this.messageHandler.sendWithPromise('Terminate', null); var terminated = this.messageHandler.sendWithPromise('Terminate', null);
waitOn.push(terminated); waitOn.push(terminated);
Promise.all(waitOn).then(function () { Promise.all(waitOn).then(function () {
self.fontLoader.clear(); _this8.fontLoader.clear();
if (self.pdfDataRangeTransport) { if (_this8.pdfDataRangeTransport) {
self.pdfDataRangeTransport.abort(); _this8.pdfDataRangeTransport.abort();
self.pdfDataRangeTransport = null; _this8.pdfDataRangeTransport = null;
} }
if (self.messageHandler) { if (_this8.messageHandler) {
self.messageHandler.destroy(); _this8.messageHandler.destroy();
self.messageHandler = null; _this8.messageHandler = null;
} }
self.destroyCapability.resolve(); _this8.destroyCapability.resolve();
}, this.destroyCapability.reject); }, this.destroyCapability.reject);
return this.destroyCapability.promise; return this.destroyCapability.promise;
}, },
@ -900,12 +912,12 @@ var WorkerTransport = function WorkerTransportClosure() {
loadingTask._capability.resolve(pdfDocument); loadingTask._capability.resolve(pdfDocument);
}, this); }, this);
messageHandler.on('PasswordRequest', function transportPasswordRequest(exception) { messageHandler.on('PasswordRequest', function transportPasswordRequest(exception) {
var _this = this; var _this9 = this;
this._passwordCapability = (0, _util.createPromiseCapability)(); this._passwordCapability = (0, _util.createPromiseCapability)();
if (loadingTask.onPassword) { if (loadingTask.onPassword) {
var updatePassword = function updatePassword(password) { var updatePassword = function updatePassword(password) {
_this._passwordCapability.resolve({ password: password }); _this9._passwordCapability.resolve({ password: password });
}; };
loadingTask.onPassword(updatePassword, exception.code); loadingTask.onPassword(updatePassword, exception.code);
} else { } else {
@ -952,6 +964,8 @@ var WorkerTransport = function WorkerTransportClosure() {
page._renderPageChunk(data.operatorList, data.intent); page._renderPageChunk(data.operatorList, data.intent);
}, this); }, this);
messageHandler.on('commonobj', function transportObj(data) { messageHandler.on('commonobj', function transportObj(data) {
var _this10 = this;
if (this.destroyed) { if (this.destroyed) {
return; return;
} }
@ -982,9 +996,10 @@ var WorkerTransport = function WorkerTransportClosure() {
disableFontFace: (0, _dom_utils.getDefaultSetting)('disableFontFace'), disableFontFace: (0, _dom_utils.getDefaultSetting)('disableFontFace'),
fontRegistry: fontRegistry fontRegistry: fontRegistry
}); });
this.fontLoader.bind([font], function fontReady(fontObjs) { var fontReady = function fontReady(fontObjs) {
this.commonObjs.resolve(id, font); _this10.commonObjs.resolve(id, font);
}.bind(this)); };
this.fontLoader.bind([font], fontReady);
break; break;
case 'FontPath': case 'FontPath':
this.commonObjs.resolve(id, data[2]); this.commonObjs.resolve(id, data[2]);
@ -1124,6 +1139,8 @@ var WorkerTransport = function WorkerTransportClosure() {
return this.messageHandler.sendWithPromise('GetData', null); return this.messageHandler.sendWithPromise('GetData', null);
}, },
getPage: function WorkerTransport_getPage(pageNumber, capability) { getPage: function WorkerTransport_getPage(pageNumber, capability) {
var _this11 = this;
if (!(0, _util.isInt)(pageNumber) || pageNumber <= 0 || pageNumber > this.numPages) { if (!(0, _util.isInt)(pageNumber) || pageNumber <= 0 || pageNumber > this.numPages) {
return Promise.reject(new Error('Invalid page request')); return Promise.reject(new Error('Invalid page request'));
} }
@ -1132,13 +1149,13 @@ var WorkerTransport = function WorkerTransportClosure() {
return this.pagePromises[pageIndex]; return this.pagePromises[pageIndex];
} }
var promise = this.messageHandler.sendWithPromise('GetPage', { pageIndex: pageIndex }).then(function (pageInfo) { var promise = this.messageHandler.sendWithPromise('GetPage', { pageIndex: pageIndex }).then(function (pageInfo) {
if (this.destroyed) { if (_this11.destroyed) {
throw new Error('Transport destroyed'); throw new Error('Transport destroyed');
} }
var page = new PDFPageProxy(pageIndex, pageInfo, this); var page = new PDFPageProxy(pageIndex, pageInfo, _this11);
this.pageCache[pageIndex] = page; _this11.pageCache[pageIndex] = page;
return page; return page;
}.bind(this)); });
this.pagePromises[pageIndex] = promise; this.pagePromises[pageIndex] = promise;
return promise; return promise;
}, },
@ -1183,16 +1200,18 @@ var WorkerTransport = function WorkerTransportClosure() {
return this.messageHandler.sendWithPromise('GetStats', null); return this.messageHandler.sendWithPromise('GetStats', null);
}, },
startCleanup: function WorkerTransport_startCleanup() { startCleanup: function WorkerTransport_startCleanup() {
this.messageHandler.sendWithPromise('Cleanup', null).then(function endCleanup() { var _this12 = this;
for (var i = 0, ii = this.pageCache.length; i < ii; i++) {
var page = this.pageCache[i]; this.messageHandler.sendWithPromise('Cleanup', null).then(function () {
for (var i = 0, ii = _this12.pageCache.length; i < ii; i++) {
var page = _this12.pageCache[i];
if (page) { if (page) {
page.cleanup(); page.cleanup();
} }
} }
this.commonObjs.clear(); _this12.commonObjs.clear();
this.fontLoader.clear(); _this12.fontLoader.clear();
}.bind(this)); });
} }
}; };
return WorkerTransport; return WorkerTransport;
@ -1386,8 +1405,8 @@ var _UnsupportedManager = function UnsupportedManagerClosure() {
}(); }();
var version, build; var version, build;
{ {
exports.version = version = '1.8.310'; exports.version = version = '1.8.312';
exports.build = build = 'e42fc546'; exports.build = build = 'e81c067d';
} }
exports.getDocument = getDocument; exports.getDocument = getDocument;
exports.LoopbackPort = LoopbackPort; exports.LoopbackPort = LoopbackPort;

18
lib/display/dom_utils.js

@ -56,15 +56,17 @@ var DOMCMapReaderFactory = function DOMCMapReaderFactoryClosure() {
} }
DOMCMapReaderFactory.prototype = { DOMCMapReaderFactory.prototype = {
fetch: function fetch(params) { fetch: function fetch(params) {
var _this = this;
var name = params.name; var name = params.name;
if (!name) { if (!name) {
return Promise.reject(new Error('CMap name must be specified.')); return Promise.reject(new Error('CMap name must be specified.'));
} }
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
var url = this.baseUrl + name + (this.isCompressed ? '.bcmap' : ''); var url = _this.baseUrl + name + (_this.isCompressed ? '.bcmap' : '');
var request = new XMLHttpRequest(); var request = new XMLHttpRequest();
request.open('GET', url, true); request.open('GET', url, true);
if (this.isCompressed) { if (_this.isCompressed) {
request.responseType = 'arraybuffer'; request.responseType = 'arraybuffer';
} }
request.onreadystatechange = function () { request.onreadystatechange = function () {
@ -73,23 +75,23 @@ var DOMCMapReaderFactory = function DOMCMapReaderFactoryClosure() {
} }
if (request.status === 200 || request.status === 0) { if (request.status === 200 || request.status === 0) {
var data; var data;
if (this.isCompressed && request.response) { if (_this.isCompressed && request.response) {
data = new Uint8Array(request.response); data = new Uint8Array(request.response);
} else if (!this.isCompressed && request.responseText) { } else if (!_this.isCompressed && request.responseText) {
data = (0, _util.stringToBytes)(request.responseText); data = (0, _util.stringToBytes)(request.responseText);
} }
if (data) { if (data) {
resolve({ resolve({
cMapData: data, cMapData: data,
compressionType: this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE compressionType: _this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE
}); });
return; return;
} }
} }
reject(new Error('Unable to load ' + (this.isCompressed ? 'binary ' : '') + 'CMap at: ' + url)); reject(new Error('Unable to load ' + (_this.isCompressed ? 'binary ' : '') + 'CMap at: ' + url));
}.bind(this); };
request.send(null); request.send(null);
}.bind(this)); });
} }
}; };
return DOMCMapReaderFactory; return DOMCMapReaderFactory;

4
lib/display/global.js

@ -39,8 +39,8 @@ if (!_util.globalScope.PDFJS) {
} }
var PDFJS = _util.globalScope.PDFJS; var PDFJS = _util.globalScope.PDFJS;
{ {
PDFJS.version = '1.8.310'; PDFJS.version = '1.8.312';
PDFJS.build = 'e42fc546'; PDFJS.build = 'e81c067d';
} }
PDFJS.pdfBug = false; PDFJS.pdfBug = false;
if (PDFJS.verbosity !== undefined) { if (PDFJS.verbosity !== undefined) {

17
lib/display/svg.js

@ -313,10 +313,11 @@ var SVGGraphics = function SVGGraphics() {
this.restore(); this.restore();
}, },
loadDependencies: function SVGGraphics_loadDependencies(operatorList) { loadDependencies: function SVGGraphics_loadDependencies(operatorList) {
var _this = this;
var fnArray = operatorList.fnArray; var fnArray = operatorList.fnArray;
var fnArrayLen = fnArray.length; var fnArrayLen = fnArray.length;
var argsArray = operatorList.argsArray; var argsArray = operatorList.argsArray;
var self = this;
for (var i = 0; i < fnArrayLen; i++) { for (var i = 0; i < fnArrayLen; i++) {
if (_util.OPS.dependency === fnArray[i]) { if (_util.OPS.dependency === fnArray[i]) {
var deps = argsArray[i]; var deps = argsArray[i];
@ -326,11 +327,11 @@ var SVGGraphics = function SVGGraphics() {
var promise; var promise;
if (common) { if (common) {
promise = new Promise(function (resolve) { promise = new Promise(function (resolve) {
self.commonObjs.get(obj, resolve); _this.commonObjs.get(obj, resolve);
}); });
} else { } else {
promise = new Promise(function (resolve) { promise = new Promise(function (resolve) {
self.objs.get(obj, resolve); _this.objs.get(obj, resolve);
}); });
} }
this.current.dependencies.push(promise); this.current.dependencies.push(promise);
@ -345,14 +346,16 @@ var SVGGraphics = function SVGGraphics() {
this.tgrp = null; this.tgrp = null;
}, },
getSVG: function SVGGraphics_getSVG(operatorList, viewport) { getSVG: function SVGGraphics_getSVG(operatorList, viewport) {
var _this2 = this;
this.viewport = viewport; this.viewport = viewport;
var svgElement = this._initialize(viewport); var svgElement = this._initialize(viewport);
return this.loadDependencies(operatorList).then(function () { return this.loadDependencies(operatorList).then(function () {
this.transformMatrix = _util.IDENTITY_MATRIX; _this2.transformMatrix = _util.IDENTITY_MATRIX;
var opTree = this.convertOpList(operatorList); var opTree = _this2.convertOpList(operatorList);
this.executeOpTree(opTree); _this2.executeOpTree(opTree);
return svgElement; return svgElement;
}.bind(this)); });
}, },
convertOpList: function SVGGraphics_convertOpList(operatorList) { convertOpList: function SVGGraphics_convertOpList(operatorList) {
var argsArray = operatorList.argsArray; var argsArray = operatorList.argsArray;

7
lib/display/text_layer.js

@ -421,6 +421,8 @@ var renderTextLayer = function renderTextLayerClosure() {
this._capability.reject('canceled'); this._capability.reject('canceled');
}, },
_render: function TextLayer_render(timeout) { _render: function TextLayer_render(timeout) {
var _this = this;
var textItems = this._textContent.items; var textItems = this._textContent.items;
var textStyles = this._textContent.styles; var textStyles = this._textContent.styles;
for (var i = 0, len = textItems.length; i < len; i++) { for (var i = 0, len = textItems.length; i < len; i++) {
@ -429,10 +431,9 @@ var renderTextLayer = function renderTextLayerClosure() {
if (!timeout) { if (!timeout) {
render(this); render(this);
} else { } else {
var self = this;
this._renderTimer = setTimeout(function () { this._renderTimer = setTimeout(function () {
render(self); render(_this);
self._renderTimer = null; _this._renderTimer = null;
}, timeout); }, timeout);
} }
}, },

4
lib/pdf.js

@ -14,8 +14,8 @@
*/ */
'use strict'; 'use strict';
var pdfjsVersion = '1.8.310'; var pdfjsVersion = '1.8.312';
var pdfjsBuild = 'e42fc546'; var pdfjsBuild = 'e81c067d';
var pdfjsSharedUtil = require('./shared/util.js'); var pdfjsSharedUtil = require('./shared/util.js');
var pdfjsDisplayGlobal = require('./display/global.js'); var pdfjsDisplayGlobal = require('./display/global.js');
var pdfjsDisplayAPI = require('./display/api.js'); var pdfjsDisplayAPI = require('./display/api.js');

4
lib/pdf.worker.js vendored

@ -14,8 +14,8 @@
*/ */
'use strict'; 'use strict';
var pdfjsVersion = '1.8.310'; var pdfjsVersion = '1.8.312';
var pdfjsBuild = 'e42fc546'; var pdfjsBuild = 'e81c067d';
var pdfjsCoreWorker = require('./core/worker.js'); var pdfjsCoreWorker = require('./core/worker.js');
{ {
require('./core/network.js'); require('./core/network.js');

20
lib/shared/compatibility.js

@ -786,16 +786,18 @@ if (typeof PDFJS === 'undefined' || !PDFJS.compatibilityChecked) {
} }
}, },
scheduleRejectionCheck: function scheduleRejectionCheck() { scheduleRejectionCheck: function scheduleRejectionCheck() {
var _this = this;
if (this.pendingRejectionCheck) { if (this.pendingRejectionCheck) {
return; return;
} }
this.pendingRejectionCheck = true; this.pendingRejectionCheck = true;
setTimeout(function rejectionCheck() { setTimeout(function () {
this.pendingRejectionCheck = false; _this.pendingRejectionCheck = false;
var now = Date.now(); var now = Date.now();
for (var i = 0; i < this.unhandledRejections.length; i++) { for (var i = 0; i < _this.unhandledRejections.length; i++) {
if (now - this.unhandledRejections[i].time > REJECTION_TIMEOUT) { if (now - _this.unhandledRejections[i].time > REJECTION_TIMEOUT) {
var unhandled = this.unhandledRejections[i].promise._value; var unhandled = _this.unhandledRejections[i].promise._value;
var msg = 'Unhandled rejection: ' + unhandled; var msg = 'Unhandled rejection: ' + unhandled;
if (unhandled.stack) { if (unhandled.stack) {
msg += '\n' + unhandled.stack; msg += '\n' + unhandled.stack;
@ -805,14 +807,14 @@ if (typeof PDFJS === 'undefined' || !PDFJS.compatibilityChecked) {
} catch (_) { } catch (_) {
console.warn(msg); console.warn(msg);
} }
this.unhandledRejections.splice(i); _this.unhandledRejections.splice(i);
i--; i--;
} }
} }
if (this.unhandledRejections.length) { if (_this.unhandledRejections.length) {
this.scheduleRejectionCheck(); _this.scheduleRejectionCheck();
} }
}.bind(this), REJECTION_TIMEOUT); }, REJECTION_TIMEOUT);
} }
}; };
var Promise = function Promise(resolver) { var Promise = function Promise(resolver) {

10
lib/shared/util.js

@ -905,6 +905,8 @@ var createObjectURL = function createObjectURLClosure() {
}; };
}(); }();
function MessageHandler(sourceName, targetName, comObj) { function MessageHandler(sourceName, targetName, comObj) {
var _this = this;
this.sourceName = sourceName; this.sourceName = sourceName;
this.targetName = targetName; this.targetName = targetName;
this.comObj = comObj; this.comObj = comObj;
@ -912,9 +914,9 @@ function MessageHandler(sourceName, targetName, comObj) {
this.postMessageTransfers = true; this.postMessageTransfers = true;
var callbacksCapabilities = this.callbacksCapabilities = Object.create(null); var callbacksCapabilities = this.callbacksCapabilities = Object.create(null);
var ah = this.actionHandler = Object.create(null); var ah = this.actionHandler = Object.create(null);
this._onComObjOnMessage = function messageHandlerComObjOnMessage(event) { this._onComObjOnMessage = function (event) {
var data = event.data; var data = event.data;
if (data.targetName !== this.sourceName) { if (data.targetName !== _this.sourceName) {
return; return;
} }
if (data.isReply) { if (data.isReply) {
@ -933,7 +935,7 @@ function MessageHandler(sourceName, targetName, comObj) {
} else if (data.action in ah) { } else if (data.action in ah) {
var action = ah[data.action]; var action = ah[data.action];
if (data.callbackId) { if (data.callbackId) {
var sourceName = this.sourceName; var sourceName = _this.sourceName;
var targetName = data.sourceName; var targetName = data.sourceName;
Promise.resolve().then(function () { Promise.resolve().then(function () {
return action[0].call(action[1], data.data); return action[0].call(action[1], data.data);
@ -963,7 +965,7 @@ function MessageHandler(sourceName, targetName, comObj) {
} else { } else {
error('Unknown action from worker: ' + data.action); error('Unknown action from worker: ' + data.action);
} }
}.bind(this); };
comObj.addEventListener('message', this._onComObjOnMessage); comObj.addEventListener('message', this._onComObjOnMessage);
} }
MessageHandler.prototype = { MessageHandler.prototype = {

2
package.json

@ -1,6 +1,6 @@
{ {
"name": "pdfjs-dist", "name": "pdfjs-dist",
"version": "1.8.310", "version": "1.8.312",
"main": "build/pdf.js", "main": "build/pdf.js",
"description": "Generic build of Mozilla's PDF.js library.", "description": "Generic build of Mozilla's PDF.js library.",
"keywords": [ "keywords": [

20
web/compatibility.js

@ -870,16 +870,18 @@ if (typeof PDFJS === 'undefined' || !PDFJS.compatibilityChecked) {
} }
}, },
scheduleRejectionCheck: function scheduleRejectionCheck() { scheduleRejectionCheck: function scheduleRejectionCheck() {
var _this = this;
if (this.pendingRejectionCheck) { if (this.pendingRejectionCheck) {
return; return;
} }
this.pendingRejectionCheck = true; this.pendingRejectionCheck = true;
setTimeout(function rejectionCheck() { setTimeout(function () {
this.pendingRejectionCheck = false; _this.pendingRejectionCheck = false;
var now = Date.now(); var now = Date.now();
for (var i = 0; i < this.unhandledRejections.length; i++) { for (var i = 0; i < _this.unhandledRejections.length; i++) {
if (now - this.unhandledRejections[i].time > REJECTION_TIMEOUT) { if (now - _this.unhandledRejections[i].time > REJECTION_TIMEOUT) {
var unhandled = this.unhandledRejections[i].promise._value; var unhandled = _this.unhandledRejections[i].promise._value;
var msg = 'Unhandled rejection: ' + unhandled; var msg = 'Unhandled rejection: ' + unhandled;
if (unhandled.stack) { if (unhandled.stack) {
msg += '\n' + unhandled.stack; msg += '\n' + unhandled.stack;
@ -889,14 +891,14 @@ if (typeof PDFJS === 'undefined' || !PDFJS.compatibilityChecked) {
} catch (_) { } catch (_) {
console.warn(msg); console.warn(msg);
} }
this.unhandledRejections.splice(i); _this.unhandledRejections.splice(i);
i--; i--;
} }
} }
if (this.unhandledRejections.length) { if (_this.unhandledRejections.length) {
this.scheduleRejectionCheck(); _this.scheduleRejectionCheck();
} }
}.bind(this), REJECTION_TIMEOUT); }, REJECTION_TIMEOUT);
} }
}; };
var Promise = function Promise(resolver) { var Promise = function Promise(resolver) {

Loading…
Cancel
Save