mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-22 16:18:08 +02:00
Replaces all preprocessor directives with PDFJSDev calls.
This commit is contained in:
parent
bf52ff156d
commit
0576c9c6c6
32 changed files with 1145 additions and 904 deletions
|
@ -44,14 +44,15 @@ var MurmurHash3_64 = (function MurmurHash3_64Closure (seed) {
|
|||
}
|
||||
|
||||
var alwaysUseUint32ArrayView = false;
|
||||
//#if !(FIREFOX || MOZCENTRAL || CHROME)
|
||||
// old webkits have issues with non-aligned arrays
|
||||
try {
|
||||
new Uint32Array(new Uint8Array(5).buffer, 0, 1);
|
||||
} catch (e) {
|
||||
alwaysUseUint32ArrayView = true;
|
||||
if (typeof PDFJSDev === 'undefined' ||
|
||||
!PDFJSDev.test('FIREFOX || MOZCENTRAL || CHROME')) {
|
||||
// old webkits have issues with non-aligned arrays
|
||||
try {
|
||||
new Uint32Array(new Uint8Array(5).buffer, 0, 1);
|
||||
} catch (e) {
|
||||
alwaysUseUint32ArrayView = true;
|
||||
}
|
||||
}
|
||||
//#endif
|
||||
|
||||
MurmurHash3_64.prototype = {
|
||||
update: function MurmurHash3_64_update(input) {
|
||||
|
|
|
@ -18,24 +18,21 @@
|
|||
|
||||
'use strict';
|
||||
|
||||
|
||||
//#if (FIREFOX || MOZCENTRAL)
|
||||
//
|
||||
//Components.utils.import('resource://gre/modules/Services.jsm');
|
||||
//
|
||||
//var EXPORTED_SYMBOLS = ['NetworkManager'];
|
||||
//
|
||||
//var console = {
|
||||
// log: function console_log(aMsg) {
|
||||
// var msg = 'network.js: ' + (aMsg.join ? aMsg.join('') : aMsg);
|
||||
// Services.console.logStringMessage(msg);
|
||||
// // TODO(mack): dump() doesn't seem to work here...
|
||||
// dump(msg + '\n');
|
||||
// }
|
||||
//}
|
||||
//#endif
|
||||
|
||||
var NetworkManager = (function NetworkManagerClosure() {
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
define('pdfjs/core/network', ['exports', 'pdfjs/shared/util',
|
||||
'pdfjs/core/worker'], factory);
|
||||
} else if (typeof exports !== 'undefined') {
|
||||
factory(exports, require('../shared/util.js'), require('./worker.js'));
|
||||
} else {
|
||||
factory((root.pdfjsCoreNetwork = {}), root.pdfjsSharedUtil,
|
||||
root.pdfjsCoreWorker);
|
||||
}
|
||||
}(this, function (exports, sharedUtil, coreWorker) {
|
||||
if (typeof PDFJSDev !== 'undefined' && PDFJSDev.test('FIREFOX || MOZCENTRAL')) {
|
||||
throw new Error('Module "pdfjs/core/network" shall not ' +
|
||||
'be used with FIREFOX or MOZCENTRAL build.');
|
||||
}
|
||||
|
||||
var OK_RESPONSE = 200;
|
||||
var PARTIAL_CONTENT_RESPONSE = 206;
|
||||
|
@ -69,8 +66,9 @@ var NetworkManager = (function NetworkManagerClosure() {
|
|||
return array.buffer;
|
||||
}
|
||||
|
||||
//#if !(CHROME || FIREFOX || MOZCENTRAL)
|
||||
var supportsMozChunked = (function supportsMozChunkedClosure() {
|
||||
var supportsMozChunked =
|
||||
typeof PDFJSDev !== 'undefined' && PDFJSDev.test('CHROME') ? false :
|
||||
(function supportsMozChunkedClosure() {
|
||||
try {
|
||||
var x = new XMLHttpRequest();
|
||||
// Firefox 37- required .open() to be called before setting responseType.
|
||||
|
@ -86,7 +84,6 @@ var NetworkManager = (function NetworkManagerClosure() {
|
|||
return false;
|
||||
}
|
||||
})();
|
||||
//#endif
|
||||
|
||||
NetworkManager.prototype = {
|
||||
requestRange: function NetworkManager_requestRange(begin, end, listeners) {
|
||||
|
@ -128,15 +125,7 @@ var NetworkManager = (function NetworkManagerClosure() {
|
|||
pendingRequest.expectedStatus = 200;
|
||||
}
|
||||
|
||||
//#if CHROME
|
||||
// var useMozChunkedLoading = false;
|
||||
//#endif
|
||||
//#if (FIREFOX || MOZCENTRAL)
|
||||
// var useMozChunkedLoading = !!args.onProgressiveData;
|
||||
//#endif
|
||||
//#if !(CHROME || FIREFOX || MOZCENTRAL)
|
||||
var useMozChunkedLoading = supportsMozChunked && !!args.onProgressiveData;
|
||||
//#endif
|
||||
if (useMozChunkedLoading) {
|
||||
xhr.responseType = 'moz-chunked-arraybuffer';
|
||||
pendingRequest.onProgressiveData = args.onProgressiveData;
|
||||
|
@ -289,22 +278,6 @@ var NetworkManager = (function NetworkManagerClosure() {
|
|||
}
|
||||
};
|
||||
|
||||
return NetworkManager;
|
||||
})();
|
||||
|
||||
//#if !(FIREFOX || MOZCENTRAL)
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
define('pdfjs/core/network', ['exports', 'pdfjs/shared/util',
|
||||
'pdfjs/core/worker'], factory);
|
||||
} else if (typeof exports !== 'undefined') {
|
||||
factory(exports, require('../shared/util.js'), require('./worker.js'));
|
||||
} else {
|
||||
factory((root.pdfjsCoreNetwork = {}), root.pdfjsSharedUtil,
|
||||
root.pdfjsCoreWorker);
|
||||
}
|
||||
}(this, function (exports, sharedUtil, coreWorker) {
|
||||
|
||||
var assert = sharedUtil.assert;
|
||||
var createPromiseCapability = sharedUtil.createPromiseCapability;
|
||||
var isInt = sharedUtil.isInt;
|
||||
|
@ -638,4 +611,3 @@ var NetworkManager = (function NetworkManagerClosure() {
|
|||
exports.PDFNetworkStream = PDFNetworkStream;
|
||||
exports.NetworkManager = NetworkManager;
|
||||
}));
|
||||
//#endif
|
||||
|
|
|
@ -82,7 +82,8 @@ var WorkerTask = (function WorkerTaskClosure() {
|
|||
return WorkerTask;
|
||||
})();
|
||||
|
||||
//#if !PRODUCTION
|
||||
if (typeof PDFJSDev === 'undefined' || !PDFJSDev.test('PRODUCTION')) {
|
||||
/*jshint -W082 */
|
||||
/**
|
||||
* Interface that represents PDF data transport. If possible, it allows
|
||||
* progressively load entire or fragment of the PDF binary data.
|
||||
|
@ -210,7 +211,7 @@ IPDFStreamRangeReader.prototype = {
|
|||
*/
|
||||
onProgress: null,
|
||||
};
|
||||
//#endif
|
||||
}
|
||||
|
||||
/** @implements {IPDFStream} */
|
||||
var PDFWorkerStream = (function PDFWorkerStreamClosure() {
|
||||
|
@ -952,8 +953,8 @@ var WorkerMessageHandler = {
|
|||
};
|
||||
|
||||
function initializeWorker() {
|
||||
//#if !MOZCENTRAL
|
||||
if (!('console' in globalScope)) {
|
||||
if ((typeof PDFJSDev === 'undefined' || !PDFJSDev.test('MOZCENTRAL')) &&
|
||||
!('console' in globalScope)) {
|
||||
var consoleTimer = {};
|
||||
|
||||
var workerConsole = {
|
||||
|
@ -991,7 +992,6 @@ function initializeWorker() {
|
|||
|
||||
globalScope.console = workerConsole;
|
||||
}
|
||||
//#endif
|
||||
|
||||
var handler = new MessageHandler('worker', 'main', self);
|
||||
WorkerMessageHandler.setup(handler, self);
|
||||
|
|
|
@ -12,7 +12,8 @@
|
|||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
/* globals pdfjsFilePath, pdfjsVersion, pdfjsBuild, WeakMap */
|
||||
/* globals pdfjsFilePath, pdfjsVersion, pdfjsBuild, requirejs, pdfjsLibs,
|
||||
WeakMap */
|
||||
|
||||
'use strict';
|
||||
|
||||
|
@ -70,13 +71,39 @@ var isWorkerDisabled = false;
|
|||
var workerSrc;
|
||||
var isPostMessageTransfersDisabled = false;
|
||||
|
||||
//#if PRODUCTION && !SINGLE_FILE
|
||||
//#if GENERIC
|
||||
//#include $ROOT/src/frameworks.js
|
||||
//#else
|
||||
//var fakeWorkerFilesLoader = null;
|
||||
//#endif
|
||||
//#endif
|
||||
var fakeWorkerFilesLoader = null;
|
||||
var useRequireEnsure = false;
|
||||
if (typeof PDFJSDev !== 'undefined' &&
|
||||
PDFJSDev.test('GENERIC && !SINGLE_FILE')) {
|
||||
// For GENERIC build we need add support of different fake file loaders
|
||||
// for different frameworks.
|
||||
if (typeof window === 'undefined') {
|
||||
// node.js - disable worker and set require.ensure.
|
||||
isWorkerDisabled = true;
|
||||
if (typeof require.ensure === 'undefined') {
|
||||
require.ensure = require('node-ensure');
|
||||
}
|
||||
useRequireEnsure = true;
|
||||
}
|
||||
if (typeof __webpack_require__ !== 'undefined') {
|
||||
useRequireEnsure = true;
|
||||
}
|
||||
if (typeof requirejs !== 'undefined' && requirejs.toUrl) {
|
||||
workerSrc = requirejs.toUrl('pdfjs-dist/build/pdf.worker.js');
|
||||
}
|
||||
var dynamicLoaderSupported =
|
||||
typeof requirejs !== 'undefined' && requirejs.load;
|
||||
fakeWorkerFilesLoader = useRequireEnsure ? (function (callback) {
|
||||
require.ensure([], function () {
|
||||
var worker = require('./pdf.worker.js');
|
||||
callback(worker.WorkerMessageHandler);
|
||||
});
|
||||
}) : dynamicLoaderSupported ? (function (callback) {
|
||||
requirejs(['pdfjs-dist/build/pdf.worker'], function (worker) {
|
||||
callback(worker.WorkerMessageHandler);
|
||||
});
|
||||
}) : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Document initialization / loading parameters object.
|
||||
|
@ -1033,11 +1060,11 @@ var PDFWorker = (function PDFWorkerClosure() {
|
|||
if (getDefaultSetting('workerSrc')) {
|
||||
return getDefaultSetting('workerSrc');
|
||||
}
|
||||
//#if PRODUCTION && !(MOZCENTRAL || FIREFOX)
|
||||
// if (pdfjsFilePath) {
|
||||
// return pdfjsFilePath.replace(/\.js$/i, '.worker.js');
|
||||
// }
|
||||
//#endif
|
||||
if (typeof PDFJSDev !== 'undefined' &&
|
||||
PDFJSDev.test('PRODUCTION && !(MOZCENTRAL || FIREFOX)') &&
|
||||
pdfjsFilePath) {
|
||||
return pdfjsFilePath.replace(/\.js$/i, '.worker.js');
|
||||
}
|
||||
error('No PDFJS.workerSrc specified');
|
||||
}
|
||||
|
||||
|
@ -1046,12 +1073,14 @@ var PDFWorker = (function PDFWorkerClosure() {
|
|||
// Loads worker code into main thread.
|
||||
function setupFakeWorkerGlobal() {
|
||||
var WorkerMessageHandler;
|
||||
if (!fakeWorkerFilesLoadedCapability) {
|
||||
fakeWorkerFilesLoadedCapability = createPromiseCapability();
|
||||
// In the developer build load worker_loader which in turn loads all the
|
||||
// other files and resolves the promise. In production only the
|
||||
// pdf.worker.js file is needed.
|
||||
//#if !PRODUCTION
|
||||
if (fakeWorkerFilesLoadedCapability) {
|
||||
return fakeWorkerFilesLoadedCapability.promise;
|
||||
}
|
||||
fakeWorkerFilesLoadedCapability = createPromiseCapability();
|
||||
// In the developer build load worker_loader which in turn loads all the
|
||||
// other files and resolves the promise. In production only the
|
||||
// pdf.worker.js file is needed.
|
||||
if (typeof PDFJSDev === 'undefined' || !PDFJSDev.test('PRODUCTION')) {
|
||||
if (typeof amdRequire === 'function') {
|
||||
amdRequire(['pdfjs/core/network', 'pdfjs/core/worker'],
|
||||
function (network, worker) {
|
||||
|
@ -1065,19 +1094,16 @@ var PDFWorker = (function PDFWorkerClosure() {
|
|||
} else {
|
||||
throw new Error('AMD or CommonJS must be used to load fake worker.');
|
||||
}
|
||||
//#endif
|
||||
//#if PRODUCTION && SINGLE_FILE
|
||||
// WorkerMessageHandler = pdfjsLibs.pdfjsCoreWorker.WorkerMessageHandler;
|
||||
// fakeWorkerFilesLoadedCapability.resolve(WorkerMessageHandler);
|
||||
//#endif
|
||||
//#if PRODUCTION && !SINGLE_FILE
|
||||
// var loader = fakeWorkerFilesLoader || function (callback) {
|
||||
// Util.loadScript(getWorkerSrc(), function () {
|
||||
// callback(window.pdfjsDistBuildPdfWorker.WorkerMessageHandler);
|
||||
// });
|
||||
// };
|
||||
// loader(fakeWorkerFilesLoadedCapability.resolve);
|
||||
//#endif
|
||||
} else if (PDFJSDev.test('SINGLE_FILE')) {
|
||||
WorkerMessageHandler = pdfjsLibs.pdfjsCoreWorker.WorkerMessageHandler;
|
||||
fakeWorkerFilesLoadedCapability.resolve(WorkerMessageHandler);
|
||||
} else {
|
||||
var loader = fakeWorkerFilesLoader || function (callback) {
|
||||
Util.loadScript(getWorkerSrc(), function () {
|
||||
callback(window.pdfjsDistBuildPdfWorker.WorkerMessageHandler);
|
||||
});
|
||||
};
|
||||
loader(fakeWorkerFilesLoadedCapability.resolve);
|
||||
}
|
||||
return fakeWorkerFilesLoadedCapability.promise;
|
||||
}
|
||||
|
@ -1198,20 +1224,20 @@ var PDFWorker = (function PDFWorkerClosure() {
|
|||
// all requirements to run parts of pdf.js in a web worker.
|
||||
// Right now, the requirement is, that an Uint8Array is still an
|
||||
// Uint8Array as it arrives on the worker. (Chrome added this with v.15.)
|
||||
//#if !SINGLE_FILE
|
||||
if (!isWorkerDisabled && !getDefaultSetting('disableWorker') &&
|
||||
if ((typeof PDFJSDev === 'undefined' || !PDFJSDev.test('SINGLE_FILE')) &&
|
||||
!isWorkerDisabled && !getDefaultSetting('disableWorker') &&
|
||||
typeof Worker !== 'undefined') {
|
||||
var workerSrc = getWorkerSrc();
|
||||
|
||||
try {
|
||||
//#if GENERIC
|
||||
// // Wraps workerSrc path into blob URL, if the former does not belong
|
||||
// // to the same origin.
|
||||
// if (!isSameOrigin(window.location.href, workerSrc)) {
|
||||
// workerSrc = createCDNWrapper(
|
||||
// new URL(workerSrc, window.location).href);
|
||||
// }
|
||||
//#endif
|
||||
// Wraps workerSrc path into blob URL, if the former does not belong
|
||||
// to the same origin.
|
||||
if (typeof PDFJSDev !== 'undefined' && PDFJSDev.test('GENERIC') &&
|
||||
!isSameOrigin(window.location.href, workerSrc)) {
|
||||
workerSrc = createCDNWrapper(
|
||||
new URL(workerSrc, window.location).href);
|
||||
}
|
||||
|
||||
// Some versions of FF can't create a worker on localhost, see:
|
||||
// https://bugzilla.mozilla.org/show_bug.cgi?id=683280
|
||||
var worker = new Worker(workerSrc);
|
||||
|
@ -1311,7 +1337,6 @@ var PDFWorker = (function PDFWorkerClosure() {
|
|||
info('The worker has been disabled.');
|
||||
}
|
||||
}
|
||||
//#endif
|
||||
// Either workers are disabled, not supported or have thrown an exception.
|
||||
// Thus, we fallback to a faked worker.
|
||||
this._setupFakeWorker();
|
||||
|
|
|
@ -83,17 +83,19 @@ var CustomStyle = (function CustomStyleClosure() {
|
|||
return CustomStyle;
|
||||
})();
|
||||
|
||||
//#if !(FIREFOX || MOZCENTRAL || CHROME)
|
||||
function hasCanvasTypedArrays() {
|
||||
var canvas = document.createElement('canvas');
|
||||
canvas.width = canvas.height = 1;
|
||||
var ctx = canvas.getContext('2d');
|
||||
var imageData = ctx.createImageData(1, 1);
|
||||
return (typeof imageData.data.buffer !== 'undefined');
|
||||
var hasCanvasTypedArrays;
|
||||
if (typeof PDFJSDev === 'undefined' ||
|
||||
!PDFJSDev.test('FIREFOX || MOZCENTRAL || CHROME')) {
|
||||
hasCanvasTypedArrays = function hasCanvasTypedArrays() {
|
||||
var canvas = document.createElement('canvas');
|
||||
canvas.width = canvas.height = 1;
|
||||
var ctx = canvas.getContext('2d');
|
||||
var imageData = ctx.createImageData(1, 1);
|
||||
return (typeof imageData.data.buffer !== 'undefined');
|
||||
};
|
||||
} else {
|
||||
hasCanvasTypedArrays = function () { return true; };
|
||||
}
|
||||
//#else
|
||||
//function hasCanvasTypedArrays() { return true; }
|
||||
//#endif
|
||||
|
||||
var LinkTarget = {
|
||||
NONE: 0, // Default value.
|
||||
|
|
|
@ -36,14 +36,14 @@ var warn = sharedUtil.warn;
|
|||
function FontLoader(docId) {
|
||||
this.docId = docId;
|
||||
this.styleElement = null;
|
||||
//#if !(MOZCENTRAL)
|
||||
this.nativeFontFaces = [];
|
||||
this.loadTestFontId = 0;
|
||||
this.loadingContext = {
|
||||
requests: [],
|
||||
nextRequestId: 0
|
||||
};
|
||||
//#endif
|
||||
if (typeof PDFJSDev === 'undefined' || !PDFJSDev.test('MOZCENTRAL')) {
|
||||
this.nativeFontFaces = [];
|
||||
this.loadTestFontId = 0;
|
||||
this.loadingContext = {
|
||||
requests: [],
|
||||
nextRequestId: 0
|
||||
};
|
||||
}
|
||||
}
|
||||
FontLoader.prototype = {
|
||||
insertRule: function fontLoaderInsertRule(rule) {
|
||||
|
@ -65,18 +65,20 @@ FontLoader.prototype = {
|
|||
styleElement.parentNode.removeChild(styleElement);
|
||||
styleElement = this.styleElement = null;
|
||||
}
|
||||
//#if !(MOZCENTRAL)
|
||||
this.nativeFontFaces.forEach(function(nativeFontFace) {
|
||||
document.fonts.delete(nativeFontFace);
|
||||
});
|
||||
this.nativeFontFaces.length = 0;
|
||||
//#endif
|
||||
},
|
||||
//#if !(MOZCENTRAL)
|
||||
get loadTestFont() {
|
||||
if (typeof PDFJSDev === 'undefined' || !PDFJSDev.test('MOZCENTRAL')) {
|
||||
this.nativeFontFaces.forEach(function(nativeFontFace) {
|
||||
document.fonts.delete(nativeFontFace);
|
||||
});
|
||||
this.nativeFontFaces.length = 0;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
if (typeof PDFJSDev === 'undefined' || !PDFJSDev.test('MOZCENTRAL')) {
|
||||
var getLoadTestFont = function () {
|
||||
// This is a CFF font with 1 glyph for '.' that fills its entire width and
|
||||
// height.
|
||||
return shadow(this, 'loadTestFont', atob(
|
||||
return atob(
|
||||
'T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQAFQ' +
|
||||
'AABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAAALwA' +
|
||||
'AAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgAAAAGbm' +
|
||||
|
@ -98,16 +100,22 @@ FontLoader.prototype = {
|
|||
'A/gXBIwMAYuL+nz5tQXkD5j3CBLnEQACAQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWF' +
|
||||
'hYWFhYWFhYAAABAQAADwACAQEEE/t3Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQA' +
|
||||
'AAAAAAABAAAAAMmJbzEAAAAAzgTjFQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAg' +
|
||||
'ABAAAAAAAAAAAD6AAAAAAAAA=='
|
||||
));
|
||||
},
|
||||
'ABAAAAAAAAAAAD6AAAAAAAAA==');
|
||||
};
|
||||
Object.defineProperty(FontLoader.prototype, 'loadTestFont', {
|
||||
get: function () {
|
||||
return shadow(this, 'loadTestFont', getLoadTestFont());
|
||||
},
|
||||
configurable: true
|
||||
});
|
||||
|
||||
addNativeFontFace: function fontLoader_addNativeFontFace(nativeFontFace) {
|
||||
FontLoader.prototype.addNativeFontFace =
|
||||
function fontLoader_addNativeFontFace(nativeFontFace) {
|
||||
this.nativeFontFaces.push(nativeFontFace);
|
||||
document.fonts.add(nativeFontFace);
|
||||
},
|
||||
};
|
||||
|
||||
bind: function fontLoaderBind(fonts, callback) {
|
||||
FontLoader.prototype.bind = function fontLoaderBind(fonts, callback) {
|
||||
var rules = [];
|
||||
var fontsToLoad = [];
|
||||
var fontLoadPromises = [];
|
||||
|
@ -158,9 +166,10 @@ FontLoader.prototype = {
|
|||
} else {
|
||||
request.complete();
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
queueLoadingCallback: function FontLoader_queueLoadingCallback(callback) {
|
||||
FontLoader.prototype.queueLoadingCallback =
|
||||
function FontLoader_queueLoadingCallback(callback) {
|
||||
function LoadLoader_completeRequest() {
|
||||
assert(!request.end, 'completeRequest() cannot be called twice');
|
||||
request.end = Date.now();
|
||||
|
@ -182,11 +191,10 @@ FontLoader.prototype = {
|
|||
};
|
||||
context.requests.push(request);
|
||||
return request;
|
||||
},
|
||||
};
|
||||
|
||||
prepareFontLoadEvent: function fontLoaderPrepareFontLoadEvent(rules,
|
||||
fonts,
|
||||
request) {
|
||||
FontLoader.prototype.prepareFontLoadEvent =
|
||||
function fontLoaderPrepareFontLoadEvent(rules, fonts, request) {
|
||||
/** Hack begin */
|
||||
// There's currently no event when a font has finished downloading so the
|
||||
// following code is a dirty hack to 'guess' when a font is
|
||||
|
@ -285,36 +293,34 @@ FontLoader.prototype = {
|
|||
request.complete();
|
||||
});
|
||||
/** Hack end */
|
||||
}
|
||||
//#else
|
||||
//bind: function fontLoaderBind(fonts, callback) {
|
||||
// for (var i = 0, ii = fonts.length; i < ii; i++) {
|
||||
// var font = fonts[i];
|
||||
// if (font.attached) {
|
||||
// continue;
|
||||
// }
|
||||
//
|
||||
// font.attached = true;
|
||||
// var rule = font.createFontFaceRule();
|
||||
// if (rule) {
|
||||
// this.insertRule(rule);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// setTimeout(callback);
|
||||
//}
|
||||
//#endif
|
||||
};
|
||||
//#if !(MOZCENTRAL)
|
||||
FontLoader.isFontLoadingAPISupported = typeof document !== 'undefined' &&
|
||||
!!document.fonts;
|
||||
//#endif
|
||||
//#if !(MOZCENTRAL || CHROME)
|
||||
Object.defineProperty(FontLoader, 'isSyncFontLoadingSupported', {
|
||||
get: function () {
|
||||
};
|
||||
} else {
|
||||
FontLoader.prototype.bind = function fontLoaderBind(fonts, callback) {
|
||||
for (var i = 0, ii = fonts.length; i < ii; i++) {
|
||||
var font = fonts[i];
|
||||
if (font.attached) {
|
||||
continue;
|
||||
}
|
||||
|
||||
font.attached = true;
|
||||
var rule = font.createFontFaceRule();
|
||||
if (rule) {
|
||||
this.insertRule(rule);
|
||||
}
|
||||
}
|
||||
|
||||
setTimeout(callback);
|
||||
};
|
||||
}
|
||||
if (typeof PDFJSDev === 'undefined' || !PDFJSDev.test('MOZCENTRAL')) {
|
||||
FontLoader.isFontLoadingAPISupported = typeof document !== 'undefined' &&
|
||||
!!document.fonts;
|
||||
}
|
||||
if (typeof PDFJSDev === 'undefined' || !PDFJSDev.test('MOZCENTRAL || CHROME')) {
|
||||
var isSyncFontLoadingSupported = function isSyncFontLoadingSupported() {
|
||||
if (typeof navigator === 'undefined') {
|
||||
// node.js - we can pretend sync font loading is supported.
|
||||
return shadow(FontLoader, 'isSyncFontLoadingSupported', true);
|
||||
return true;
|
||||
}
|
||||
|
||||
var supported = false;
|
||||
|
@ -326,12 +332,17 @@ Object.defineProperty(FontLoader, 'isSyncFontLoadingSupported', {
|
|||
supported = true;
|
||||
}
|
||||
// TODO other browsers
|
||||
return shadow(FontLoader, 'isSyncFontLoadingSupported', supported);
|
||||
},
|
||||
enumerable: true,
|
||||
configurable: true
|
||||
});
|
||||
//#endif
|
||||
return supported;
|
||||
};
|
||||
Object.defineProperty(FontLoader, 'isSyncFontLoadingSupported', {
|
||||
get: function () {
|
||||
return shadow(FontLoader, 'isSyncFontLoadingSupported',
|
||||
isSyncFontLoadingSupported());
|
||||
},
|
||||
enumerable: true,
|
||||
configurable: true
|
||||
});
|
||||
}
|
||||
|
||||
var IsEvalSupportedCached = {
|
||||
get value() {
|
||||
|
@ -349,25 +360,27 @@ var FontFaceObject = (function FontFaceObjectClosure() {
|
|||
this.options = options;
|
||||
}
|
||||
FontFaceObject.prototype = {
|
||||
//#if !(MOZCENTRAL)
|
||||
createNativeFontFace: function FontFaceObject_createNativeFontFace() {
|
||||
if (!this.data) {
|
||||
return null;
|
||||
}
|
||||
if (typeof PDFJSDev === 'undefined' || !PDFJSDev.test('MOZCENTRAL')) {
|
||||
if (!this.data) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (this.options.disableFontFace) {
|
||||
this.disableFontFace = true;
|
||||
return null;
|
||||
}
|
||||
if (this.options.disableFontFace) {
|
||||
this.disableFontFace = true;
|
||||
return null;
|
||||
}
|
||||
|
||||
var nativeFontFace = new FontFace(this.loadedName, this.data, {});
|
||||
var nativeFontFace = new FontFace(this.loadedName, this.data, {});
|
||||
|
||||
if (this.options.fontRegistry) {
|
||||
this.options.fontRegistry.registerFont(this);
|
||||
if (this.options.fontRegistry) {
|
||||
this.options.fontRegistry.registerFont(this);
|
||||
}
|
||||
return nativeFontFace;
|
||||
} else {
|
||||
throw new Error('Not implemented: createNativeFontFace');
|
||||
}
|
||||
return nativeFontFace;
|
||||
},
|
||||
//#endif
|
||||
|
||||
createFontFaceRule: function FontFaceObject_createFontFaceRule() {
|
||||
if (!this.data) {
|
||||
|
@ -434,6 +447,7 @@ var FontFaceObject = (function FontFaceObjectClosure() {
|
|||
return this.compiledGlyphs[character];
|
||||
}
|
||||
};
|
||||
|
||||
return FontFaceObject;
|
||||
})();
|
||||
|
||||
|
|
|
@ -243,39 +243,39 @@
|
|||
PDFJS.isEvalSupported = (PDFJS.isEvalSupported === undefined ?
|
||||
true : PDFJS.isEvalSupported);
|
||||
|
||||
//#if !MOZCENTRAL
|
||||
var savedOpenExternalLinksInNewWindow = PDFJS.openExternalLinksInNewWindow;
|
||||
delete PDFJS.openExternalLinksInNewWindow;
|
||||
Object.defineProperty(PDFJS, 'openExternalLinksInNewWindow', {
|
||||
get: function () {
|
||||
return PDFJS.externalLinkTarget === LinkTarget.BLANK;
|
||||
},
|
||||
set: function (value) {
|
||||
if (value) {
|
||||
deprecated('PDFJS.openExternalLinksInNewWindow, please use ' +
|
||||
'"PDFJS.externalLinkTarget = PDFJS.LinkTarget.BLANK" instead.');
|
||||
}
|
||||
if (PDFJS.externalLinkTarget !== LinkTarget.NONE) {
|
||||
warn('PDFJS.externalLinkTarget is already initialized');
|
||||
return;
|
||||
}
|
||||
PDFJS.externalLinkTarget = value ? LinkTarget.BLANK : LinkTarget.NONE;
|
||||
},
|
||||
enumerable: true,
|
||||
configurable: true
|
||||
});
|
||||
if (savedOpenExternalLinksInNewWindow) {
|
||||
/**
|
||||
* (Deprecated) Opens external links in a new window if enabled.
|
||||
* The default behavior opens external links in the PDF.js window.
|
||||
*
|
||||
* NOTE: This property has been deprecated, please use
|
||||
* `PDFJS.externalLinkTarget = PDFJS.LinkTarget.BLANK` instead.
|
||||
* @var {boolean}
|
||||
*/
|
||||
PDFJS.openExternalLinksInNewWindow = savedOpenExternalLinksInNewWindow;
|
||||
if (typeof PDFJSDev === 'undefined' || !PDFJSDev.test('MOZCENTRAL')) {
|
||||
var savedOpenExternalLinksInNewWindow = PDFJS.openExternalLinksInNewWindow;
|
||||
delete PDFJS.openExternalLinksInNewWindow;
|
||||
Object.defineProperty(PDFJS, 'openExternalLinksInNewWindow', {
|
||||
get: function () {
|
||||
return PDFJS.externalLinkTarget === LinkTarget.BLANK;
|
||||
},
|
||||
set: function (value) {
|
||||
if (value) {
|
||||
deprecated('PDFJS.openExternalLinksInNewWindow, please use ' +
|
||||
'"PDFJS.externalLinkTarget = PDFJS.LinkTarget.BLANK" instead.');
|
||||
}
|
||||
if (PDFJS.externalLinkTarget !== LinkTarget.NONE) {
|
||||
warn('PDFJS.externalLinkTarget is already initialized');
|
||||
return;
|
||||
}
|
||||
PDFJS.externalLinkTarget = value ? LinkTarget.BLANK : LinkTarget.NONE;
|
||||
},
|
||||
enumerable: true,
|
||||
configurable: true
|
||||
});
|
||||
if (savedOpenExternalLinksInNewWindow) {
|
||||
/**
|
||||
* (Deprecated) Opens external links in a new window if enabled.
|
||||
* The default behavior opens external links in the PDF.js window.
|
||||
*
|
||||
* NOTE: This property has been deprecated, please use
|
||||
* `PDFJS.externalLinkTarget = PDFJS.LinkTarget.BLANK` instead.
|
||||
* @var {boolean}
|
||||
*/
|
||||
PDFJS.openExternalLinksInNewWindow = savedOpenExternalLinksInNewWindow;
|
||||
}
|
||||
}
|
||||
//#endif
|
||||
|
||||
PDFJS.getDocument = displayAPI.getDocument;
|
||||
PDFJS.PDFDataRangeTransport = displayAPI.PDFDataRangeTransport;
|
||||
|
|
|
@ -24,7 +24,8 @@
|
|||
factory((root.pdfjsDisplaySVG = {}), root.pdfjsSharedUtil);
|
||||
}
|
||||
}(this, function (exports, sharedUtil) {
|
||||
//#if (GENERIC || SINGLE_FILE)
|
||||
if (typeof PDFJSDev === 'undefined' ||
|
||||
PDFJSDev.test('GENERIC || SINGLE_FILE')) {
|
||||
var FONT_IDENTITY_MATRIX = sharedUtil.FONT_IDENTITY_MATRIX;
|
||||
var IDENTITY_MATRIX = sharedUtil.IDENTITY_MATRIX;
|
||||
var ImageKind = sharedUtil.ImageKind;
|
||||
|
@ -1208,5 +1209,5 @@ var SVGGraphics = (function SVGGraphicsClosure() {
|
|||
})();
|
||||
|
||||
exports.SVGGraphics = SVGGraphics;
|
||||
//#endif
|
||||
}
|
||||
}));
|
||||
|
|
|
@ -188,9 +188,10 @@ var renderTextLayer = (function renderTextLayerClosure() {
|
|||
}
|
||||
|
||||
var canvas = document.createElement('canvas');
|
||||
//#if MOZCENTRAL || FIREFOX || GENERIC
|
||||
canvas.mozOpaque = true;
|
||||
//#endif
|
||||
if (typeof PDFJSDev === 'undefined' ||
|
||||
PDFJSDev.test('FIREFOX || MOZCENTRAL || GENERIC')) {
|
||||
canvas.mozOpaque = true;
|
||||
}
|
||||
var ctx = canvas.getContext('2d', {alpha: false});
|
||||
|
||||
var lastFontSize;
|
||||
|
|
|
@ -1,47 +0,0 @@
|
|||
/* Copyright 2015 Mozilla Foundation
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
/* globals require, module, requirejs,
|
||||
workerSrc: true, isWorkerDisabled: true */
|
||||
|
||||
// included from api.js for GENERIC build
|
||||
|
||||
'use strict';
|
||||
|
||||
var useRequireEnsure = false;
|
||||
if (typeof window === 'undefined') {
|
||||
// node.js - disable worker and set require.ensure.
|
||||
isWorkerDisabled = true;
|
||||
if (typeof require.ensure === 'undefined') {
|
||||
require.ensure = require('node-ensure');
|
||||
}
|
||||
useRequireEnsure = true;
|
||||
}
|
||||
if (typeof __webpack_require__ !== 'undefined') {
|
||||
useRequireEnsure = true;
|
||||
}
|
||||
if (typeof requirejs !== 'undefined' && requirejs.toUrl) {
|
||||
workerSrc = requirejs.toUrl('pdfjs-dist/build/pdf.worker.js');
|
||||
}
|
||||
var dynamicLoaderSupported = typeof requirejs !== 'undefined' && requirejs.load;
|
||||
var fakeWorkerFilesLoader = useRequireEnsure ? (function (callback) {
|
||||
require.ensure([], function () {
|
||||
var worker = require('./pdf.worker.js');
|
||||
callback(worker.WorkerMessageHandler);
|
||||
});
|
||||
}) : dynamicLoaderSupported ? (function (callback) {
|
||||
requirejs(['pdfjs-dist/build/pdf.worker'], function (worker) {
|
||||
callback(worker.WorkerMessageHandler);
|
||||
});
|
||||
}) : null;
|
74
src/pdf.js
74
src/pdf.js
|
@ -18,18 +18,18 @@
|
|||
(function (root, factory) {
|
||||
'use strict';
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
//#expand define('__BUNDLE_AMD_NAME__', ['exports'], factory);
|
||||
define(PDFJSDev.eval('BUNDLE_AMD_NAME'), ['exports'], factory);
|
||||
} else if (typeof exports !== 'undefined') {
|
||||
factory(exports);
|
||||
} else {
|
||||
//#expand factory((root.__BUNDLE_JS_NAME__ = {}));
|
||||
factory((root[PDFJSDev.eval('BUNDLE_JS_NAME')] = {}));
|
||||
}
|
||||
}(this, function (exports) {
|
||||
// Use strict in our context only - users might not want it
|
||||
'use strict';
|
||||
|
||||
//#expand var pdfjsVersion = '__BUNDLE_VERSION__';
|
||||
//#expand var pdfjsBuild = '__BUNDLE_BUILD__';
|
||||
var pdfjsVersion = PDFJSDev.eval('BUNDLE_VERSION');
|
||||
var pdfjsBuild = PDFJSDev.eval('BUNDLE_BUILD');
|
||||
|
||||
var pdfjsFilePath =
|
||||
typeof document !== 'undefined' && document.currentScript ?
|
||||
|
@ -43,35 +43,39 @@
|
|||
|
||||
}).call(pdfjsLibs);
|
||||
|
||||
//#if MAIN_FILE
|
||||
exports.PDFJS = pdfjsLibs.pdfjsDisplayGlobal.PDFJS;
|
||||
exports.build = pdfjsLibs.pdfjsDisplayAPI.build;
|
||||
exports.version = pdfjsLibs.pdfjsDisplayAPI.version;
|
||||
exports.getDocument = pdfjsLibs.pdfjsDisplayAPI.getDocument;
|
||||
exports.PDFDataRangeTransport =
|
||||
pdfjsLibs.pdfjsDisplayAPI.PDFDataRangeTransport;
|
||||
exports.PDFWorker = pdfjsLibs.pdfjsDisplayAPI.PDFWorker;
|
||||
exports.renderTextLayer = pdfjsLibs.pdfjsDisplayTextLayer.renderTextLayer;
|
||||
exports.AnnotationLayer =
|
||||
pdfjsLibs.pdfjsDisplayAnnotationLayer.AnnotationLayer;
|
||||
exports.CustomStyle = pdfjsLibs.pdfjsDisplayDOMUtils.CustomStyle;
|
||||
exports.PasswordResponses = pdfjsLibs.pdfjsSharedUtil.PasswordResponses;
|
||||
exports.InvalidPDFException = pdfjsLibs.pdfjsSharedUtil.InvalidPDFException;
|
||||
exports.MissingPDFException = pdfjsLibs.pdfjsSharedUtil.MissingPDFException;
|
||||
exports.SVGGraphics = pdfjsLibs.pdfjsDisplaySVG.SVGGraphics;
|
||||
exports.UnexpectedResponseException =
|
||||
pdfjsLibs.pdfjsSharedUtil.UnexpectedResponseException;
|
||||
exports.OPS = pdfjsLibs.pdfjsSharedUtil.OPS;
|
||||
exports.UNSUPPORTED_FEATURES = pdfjsLibs.pdfjsSharedUtil.UNSUPPORTED_FEATURES;
|
||||
exports.isValidUrl = pdfjsLibs.pdfjsSharedUtil.isValidUrl;
|
||||
exports.createObjectURL = pdfjsLibs.pdfjsSharedUtil.createObjectURL;
|
||||
exports.removeNullCharacters = pdfjsLibs.pdfjsSharedUtil.removeNullCharacters;
|
||||
exports.shadow = pdfjsLibs.pdfjsSharedUtil.shadow;
|
||||
exports.createBlob = pdfjsLibs.pdfjsSharedUtil.createBlob;
|
||||
exports.getFilenameFromUrl =
|
||||
pdfjsLibs.pdfjsDisplayDOMUtils.getFilenameFromUrl;
|
||||
exports.addLinkAttributes = pdfjsLibs.pdfjsDisplayDOMUtils.addLinkAttributes;
|
||||
//#else
|
||||
exports.WorkerMessageHandler = pdfjsLibs.pdfjsCoreWorker.WorkerMessageHandler;
|
||||
//#endif
|
||||
if (PDFJSDev.test('MAIN_FILE')) {
|
||||
exports.PDFJS = pdfjsLibs.pdfjsDisplayGlobal.PDFJS;
|
||||
exports.build = pdfjsLibs.pdfjsDisplayAPI.build;
|
||||
exports.version = pdfjsLibs.pdfjsDisplayAPI.version;
|
||||
exports.getDocument = pdfjsLibs.pdfjsDisplayAPI.getDocument;
|
||||
exports.PDFDataRangeTransport =
|
||||
pdfjsLibs.pdfjsDisplayAPI.PDFDataRangeTransport;
|
||||
exports.PDFWorker = pdfjsLibs.pdfjsDisplayAPI.PDFWorker;
|
||||
exports.renderTextLayer = pdfjsLibs.pdfjsDisplayTextLayer.renderTextLayer;
|
||||
exports.AnnotationLayer =
|
||||
pdfjsLibs.pdfjsDisplayAnnotationLayer.AnnotationLayer;
|
||||
exports.CustomStyle = pdfjsLibs.pdfjsDisplayDOMUtils.CustomStyle;
|
||||
exports.PasswordResponses = pdfjsLibs.pdfjsSharedUtil.PasswordResponses;
|
||||
exports.InvalidPDFException = pdfjsLibs.pdfjsSharedUtil.InvalidPDFException;
|
||||
exports.MissingPDFException = pdfjsLibs.pdfjsSharedUtil.MissingPDFException;
|
||||
exports.SVGGraphics = pdfjsLibs.pdfjsDisplaySVG.SVGGraphics;
|
||||
exports.UnexpectedResponseException =
|
||||
pdfjsLibs.pdfjsSharedUtil.UnexpectedResponseException;
|
||||
exports.OPS = pdfjsLibs.pdfjsSharedUtil.OPS;
|
||||
exports.UNSUPPORTED_FEATURES =
|
||||
pdfjsLibs.pdfjsSharedUtil.UNSUPPORTED_FEATURES;
|
||||
exports.isValidUrl = pdfjsLibs.pdfjsSharedUtil.isValidUrl;
|
||||
exports.createObjectURL = pdfjsLibs.pdfjsSharedUtil.createObjectURL;
|
||||
exports.removeNullCharacters =
|
||||
pdfjsLibs.pdfjsSharedUtil.removeNullCharacters;
|
||||
exports.shadow = pdfjsLibs.pdfjsSharedUtil.shadow;
|
||||
exports.createBlob = pdfjsLibs.pdfjsSharedUtil.createBlob;
|
||||
exports.getFilenameFromUrl =
|
||||
pdfjsLibs.pdfjsDisplayDOMUtils.getFilenameFromUrl;
|
||||
exports.addLinkAttributes =
|
||||
pdfjsLibs.pdfjsDisplayDOMUtils.addLinkAttributes;
|
||||
} else {
|
||||
exports.WorkerMessageHandler =
|
||||
pdfjsLibs.pdfjsCoreWorker.WorkerMessageHandler;
|
||||
}
|
||||
}));
|
||||
|
|
|
@ -616,49 +616,49 @@ function isEvalSupported() {
|
|||
}
|
||||
}
|
||||
|
||||
//#if !(FIREFOX || MOZCENTRAL || CHROME)
|
||||
var Uint32ArrayView = (function Uint32ArrayViewClosure() {
|
||||
|
||||
function Uint32ArrayView(buffer, length) {
|
||||
this.buffer = buffer;
|
||||
this.byteLength = buffer.length;
|
||||
this.length = length === undefined ? (this.byteLength >> 2) : length;
|
||||
ensureUint32ArrayViewProps(this.length);
|
||||
}
|
||||
Uint32ArrayView.prototype = Object.create(null);
|
||||
|
||||
var uint32ArrayViewSetters = 0;
|
||||
function createUint32ArrayProp(index) {
|
||||
return {
|
||||
get: function () {
|
||||
var buffer = this.buffer, offset = index << 2;
|
||||
return (buffer[offset] | (buffer[offset + 1] << 8) |
|
||||
(buffer[offset + 2] << 16) | (buffer[offset + 3] << 24)) >>> 0;
|
||||
},
|
||||
set: function (value) {
|
||||
var buffer = this.buffer, offset = index << 2;
|
||||
buffer[offset] = value & 255;
|
||||
buffer[offset + 1] = (value >> 8) & 255;
|
||||
buffer[offset + 2] = (value >> 16) & 255;
|
||||
buffer[offset + 3] = (value >>> 24) & 255;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
function ensureUint32ArrayViewProps(length) {
|
||||
while (uint32ArrayViewSetters < length) {
|
||||
Object.defineProperty(Uint32ArrayView.prototype,
|
||||
uint32ArrayViewSetters,
|
||||
createUint32ArrayProp(uint32ArrayViewSetters));
|
||||
uint32ArrayViewSetters++;
|
||||
if (typeof PDFJSDev === 'undefined' ||
|
||||
!PDFJSDev.test('FIREFOX || MOZCENTRAL || CHROME')) {
|
||||
var Uint32ArrayView = (function Uint32ArrayViewClosure() {
|
||||
function Uint32ArrayView(buffer, length) {
|
||||
this.buffer = buffer;
|
||||
this.byteLength = buffer.length;
|
||||
this.length = length === undefined ? (this.byteLength >> 2) : length;
|
||||
ensureUint32ArrayViewProps(this.length);
|
||||
}
|
||||
}
|
||||
Uint32ArrayView.prototype = Object.create(null);
|
||||
|
||||
return Uint32ArrayView;
|
||||
})();
|
||||
var uint32ArrayViewSetters = 0;
|
||||
function createUint32ArrayProp(index) {
|
||||
return {
|
||||
get: function () {
|
||||
var buffer = this.buffer, offset = index << 2;
|
||||
return (buffer[offset] | (buffer[offset + 1] << 8) |
|
||||
(buffer[offset + 2] << 16) | (buffer[offset + 3] << 24)) >>> 0;
|
||||
},
|
||||
set: function (value) {
|
||||
var buffer = this.buffer, offset = index << 2;
|
||||
buffer[offset] = value & 255;
|
||||
buffer[offset + 1] = (value >> 8) & 255;
|
||||
buffer[offset + 2] = (value >> 16) & 255;
|
||||
buffer[offset + 3] = (value >>> 24) & 255;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
exports.Uint32ArrayView = Uint32ArrayView;
|
||||
//#endif
|
||||
function ensureUint32ArrayViewProps(length) {
|
||||
while (uint32ArrayViewSetters < length) {
|
||||
Object.defineProperty(Uint32ArrayView.prototype,
|
||||
uint32ArrayViewSetters,
|
||||
createUint32ArrayProp(uint32ArrayViewSetters));
|
||||
uint32ArrayViewSetters++;
|
||||
}
|
||||
}
|
||||
|
||||
return Uint32ArrayView;
|
||||
})();
|
||||
|
||||
exports.Uint32ArrayView = Uint32ArrayView;
|
||||
}
|
||||
|
||||
var IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];
|
||||
|
||||
|
@ -1199,7 +1199,8 @@ function createPromiseCapability() {
|
|||
}
|
||||
return;
|
||||
}
|
||||
//#if !MOZCENTRAL
|
||||
|
||||
if (typeof PDFJSDev === 'undefined' || !PDFJSDev.test('MOZCENTRAL')) {
|
||||
var STATUS_PENDING = 0;
|
||||
var STATUS_RESOLVED = 1;
|
||||
var STATUS_REJECTED = 2;
|
||||
|
@ -1317,7 +1318,7 @@ function createPromiseCapability() {
|
|||
}
|
||||
};
|
||||
|
||||
function Promise(resolver) {
|
||||
var Promise = function Promise(resolver) {
|
||||
this._status = STATUS_PENDING;
|
||||
this._handlers = [];
|
||||
try {
|
||||
|
@ -1325,7 +1326,8 @@ function createPromiseCapability() {
|
|||
} catch (e) {
|
||||
this._reject(e);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Builds a promise that is resolved when all the passed in promises are
|
||||
* resolved.
|
||||
|
@ -1459,43 +1461,44 @@ function createPromiseCapability() {
|
|||
};
|
||||
|
||||
globalScope.Promise = Promise;
|
||||
//#else
|
||||
//throw new Error('DOM Promise is not present');
|
||||
//#endif
|
||||
} else {
|
||||
throw new Error('DOM Promise is not present');
|
||||
}
|
||||
|
||||
})();
|
||||
|
||||
//#if !MOZCENTRAL
|
||||
(function WeakMapClosure() {
|
||||
if (globalScope.WeakMap) {
|
||||
return;
|
||||
}
|
||||
|
||||
var id = 0;
|
||||
function WeakMap() {
|
||||
this.id = '$weakmap' + (id++);
|
||||
}
|
||||
WeakMap.prototype = {
|
||||
has: function(obj) {
|
||||
return !!Object.getOwnPropertyDescriptor(obj, this.id);
|
||||
},
|
||||
get: function(obj, defaultValue) {
|
||||
return this.has(obj) ? obj[this.id] : defaultValue;
|
||||
},
|
||||
set: function(obj, value) {
|
||||
Object.defineProperty(obj, this.id, {
|
||||
value: value,
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
},
|
||||
delete: function(obj) {
|
||||
delete obj[this.id];
|
||||
if (typeof PDFJSDev === 'undefined' || !PDFJSDev.test('MOZCENTRAL')) {
|
||||
(function WeakMapClosure() {
|
||||
if (globalScope.WeakMap) {
|
||||
return;
|
||||
}
|
||||
};
|
||||
|
||||
globalScope.WeakMap = WeakMap;
|
||||
})();
|
||||
//#endif
|
||||
var id = 0;
|
||||
function WeakMap() {
|
||||
this.id = '$weakmap' + (id++);
|
||||
}
|
||||
WeakMap.prototype = {
|
||||
has: function(obj) {
|
||||
return !!Object.getOwnPropertyDescriptor(obj, this.id);
|
||||
},
|
||||
get: function(obj, defaultValue) {
|
||||
return this.has(obj) ? obj[this.id] : defaultValue;
|
||||
},
|
||||
set: function(obj, value) {
|
||||
Object.defineProperty(obj, this.id, {
|
||||
value: value,
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
},
|
||||
delete: function(obj) {
|
||||
delete obj[this.id];
|
||||
}
|
||||
};
|
||||
|
||||
globalScope.WeakMap = WeakMap;
|
||||
})();
|
||||
}
|
||||
|
||||
var StatTimer = (function StatTimerClosure() {
|
||||
function rpad(str, pad, length) {
|
||||
|
@ -1736,8 +1739,8 @@ function loadJpegStream(id, imageUrl, objs) {
|
|||
img.src = imageUrl;
|
||||
}
|
||||
|
||||
//#if !(MOZCENTRAL)
|
||||
//// Polyfill from https://github.com/Polymer/URL
|
||||
if (typeof PDFJSDev === 'undefined' || !PDFJSDev.test('MOZCENTRAL')) {
|
||||
// Polyfill from https://github.com/Polymer/URL
|
||||
/* Any copyright is dedicated to the Public Domain.
|
||||
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||
(function checkURLConstructor(scope) {
|
||||
|
@ -2378,7 +2381,7 @@ function loadJpegStream(id, imageUrl, objs) {
|
|||
|
||||
scope.URL = JURL;
|
||||
})(globalScope);
|
||||
//#endif
|
||||
}
|
||||
|
||||
exports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;
|
||||
exports.IDENTITY_MATRIX = IDENTITY_MATRIX;
|
||||
|
|
|
@ -15,16 +15,16 @@
|
|||
|
||||
'use strict';
|
||||
|
||||
//#if !PRODUCTION
|
||||
//// Patch importScripts to work around a bug in WebKit and Chrome 48-.
|
||||
//// See https://crbug.com/572225 and https://webkit.org/b/153317.
|
||||
self.importScripts = (function (importScripts) {
|
||||
return function() {
|
||||
setTimeout(function () {}, 0);
|
||||
return importScripts.apply(this, arguments);
|
||||
};
|
||||
})(importScripts);
|
||||
//#endif
|
||||
if (typeof PDFJSDev === 'undefined' || !PDFJSDev.test('PRODUCTION')) {
|
||||
// Patch importScripts to work around a bug in WebKit and Chrome 48-.
|
||||
// See https://crbug.com/572225 and https://webkit.org/b/153317.
|
||||
self.importScripts = (function (importScripts) {
|
||||
return function() {
|
||||
setTimeout(function () {}, 0);
|
||||
return importScripts.apply(this, arguments);
|
||||
};
|
||||
})(importScripts);
|
||||
}
|
||||
|
||||
importScripts('../node_modules/requirejs/require.js');
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue