mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-22 16:18:08 +02:00
Merge pull request #6825 from yurydelendik/pdfjsumd
Adds UMD header to pdf.js and pdf.worker.js files.
This commit is contained in:
commit
4a215f0892
8 changed files with 150 additions and 49 deletions
|
@ -12,6 +12,7 @@
|
|||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
/* globals pdfjsFilePath */
|
||||
|
||||
'use strict';
|
||||
|
||||
|
@ -19,17 +20,18 @@
|
|||
if (typeof define === 'function' && define.amd) {
|
||||
define('pdfjs/display/api', ['exports', 'pdfjs/shared/util',
|
||||
'pdfjs/display/font_loader', 'pdfjs/display/canvas',
|
||||
'pdfjs/shared/global', 'require'], factory);
|
||||
'pdfjs/display/metadata', 'pdfjs/shared/global', 'require'], factory);
|
||||
} else if (typeof exports !== 'undefined') {
|
||||
factory(exports, require('../shared/util.js'), require('./font_loader.js'),
|
||||
require('./canvas.js'), require('../shared/global.js'));
|
||||
require('./canvas.js'), require('./metadata.js'),
|
||||
require('../shared/global.js'));
|
||||
} else {
|
||||
factory((root.pdfjsDisplayAPI = {}), root.pdfjsSharedUtil,
|
||||
root.pdfjsDisplayFontLoader, root.pdfjsDisplayCanvas,
|
||||
root.pdfjsSharedGlobal);
|
||||
root.pdfjsDisplayMetadata, root.pdfjsSharedGlobal);
|
||||
}
|
||||
}(this, function (exports, sharedUtil, displayFontLoader, displayCanvas,
|
||||
sharedGlobal, amdRequire) {
|
||||
displayMetadata, sharedGlobal, amdRequire) {
|
||||
|
||||
var InvalidPDFException = sharedUtil.InvalidPDFException;
|
||||
var MessageHandler = sharedUtil.MessageHandler;
|
||||
|
@ -53,6 +55,7 @@ var FontFaceObject = displayFontLoader.FontFaceObject;
|
|||
var FontLoader = displayFontLoader.FontLoader;
|
||||
var CanvasGraphics = displayCanvas.CanvasGraphics;
|
||||
var createScratchCanvas = displayCanvas.createScratchCanvas;
|
||||
var Metadata = displayMetadata.Metadata;
|
||||
var PDFJS = sharedGlobal.PDFJS;
|
||||
var globalScope = sharedGlobal.globalScope;
|
||||
|
||||
|
@ -1177,6 +1180,18 @@ var PDFPageProxy = (function PDFPageProxyClosure() {
|
|||
var PDFWorker = (function PDFWorkerClosure() {
|
||||
var nextFakeWorkerId = 0;
|
||||
|
||||
function getWorkerSrc() {
|
||||
if (PDFJS.workerSrc) {
|
||||
return PDFJS.workerSrc;
|
||||
}
|
||||
//#if PRODUCTION && !(MOZCENTRAL || FIREFOX)
|
||||
// if (pdfjsFilePath) {
|
||||
// return pdfjsFilePath.replace(/\.js$/i, '.worker.js');
|
||||
// }
|
||||
//#endif
|
||||
error('No PDFJS.workerSrc specified');
|
||||
}
|
||||
|
||||
// Loads worker code into main thread.
|
||||
function setupFakeWorkerGlobal() {
|
||||
if (!PDFJS.fakeWorkerFilesLoadedCapability) {
|
||||
|
@ -1201,7 +1216,7 @@ var PDFWorker = (function PDFWorkerClosure() {
|
|||
//#endif
|
||||
//#if PRODUCTION && !SINGLE_FILE
|
||||
// var loader = fakeWorkerFilesLoader || function (callback) {
|
||||
// Util.loadScript(PDFJS.workerSrc, callback);
|
||||
// Util.loadScript(getWorkerSrc(), callback);
|
||||
// };
|
||||
// loader(function () {
|
||||
// PDFJS.fakeWorkerFilesLoadedCapability.resolve();
|
||||
|
@ -1243,10 +1258,7 @@ var PDFWorker = (function PDFWorkerClosure() {
|
|||
// Uint8Array as it arrives on the worker. (Chrome added this with v.15.)
|
||||
//#if !SINGLE_FILE
|
||||
if (!globalScope.PDFJS.disableWorker && typeof Worker !== 'undefined') {
|
||||
var workerSrc = PDFJS.workerSrc;
|
||||
if (!workerSrc) {
|
||||
error('No PDFJS.workerSrc specified');
|
||||
}
|
||||
var workerSrc = getWorkerSrc();
|
||||
|
||||
try {
|
||||
// Some versions of FF can't create a worker on localhost, see:
|
||||
|
@ -1808,7 +1820,7 @@ var WorkerTransport = (function WorkerTransportClosure() {
|
|||
then(function transportMetadata(results) {
|
||||
return {
|
||||
info: results[0],
|
||||
metadata: (results[1] ? new PDFJS.Metadata(results[1]) : null)
|
||||
metadata: (results[1] ? new Metadata(results[1]) : null)
|
||||
};
|
||||
});
|
||||
},
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
/* globals PDFJS, require, module */
|
||||
/* globals PDFJS, require, module, requirejs */
|
||||
|
||||
// included from api.js for GENERIC build
|
||||
|
||||
|
@ -32,9 +32,16 @@ if (typeof __webpack_require__ !== 'undefined') {
|
|||
PDFJS.workerSrc = require('entry?name=[hash]-worker.js!./pdf.worker.js');
|
||||
useRequireEnsure = true;
|
||||
}
|
||||
var fakeWorkerFilesLoader = useRequireEnsure && function (callback) {
|
||||
if (typeof requirejs !== 'undefined' && requirejs.toUrl) {
|
||||
PDFJS.workerSrc = requirejs.toUrl('pdfjs-dist/build/pdf.worker.js');
|
||||
}
|
||||
var fakeWorkerFilesLoader = useRequireEnsure ? (function (callback) {
|
||||
require.ensure([], function () {
|
||||
require('./pdf.worker.js');
|
||||
callback();
|
||||
});
|
||||
};
|
||||
}) : (typeof requirejs !== 'undefined') ? (function (callback) {
|
||||
requirejs(['pdfjs-dist/build/pdf.worker'], function (worker) {
|
||||
callback();
|
||||
});
|
||||
}) : null;
|
||||
|
|
49
src/main_loader.js
Normal file
49
src/main_loader.js
Normal file
|
@ -0,0 +1,49 @@
|
|||
/* 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.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
define('pdfjs/main_loader', ['exports', 'pdfjs/display/api',
|
||||
'pdfjs/display/annotation_layer', 'pdfjs/display/text_layer',
|
||||
'pdfjs/display/dom_utils', 'pdfjs/shared/util', 'pdfjs/shared/global'],
|
||||
factory);
|
||||
} else if (typeof exports !== 'undefined') {
|
||||
factory(exports, require('./display/api.js'),
|
||||
require('./display/annotation_layer.js'),
|
||||
require('./display/text_layer.js'), require('./display/dom_utils.js'),
|
||||
require('./shared/util.js'), require('./shared/global.js'));
|
||||
} else {
|
||||
factory((root.pdfjsMainLoader = {}), root.pdfjsDisplayAPI,
|
||||
root.pdfjsDisplayAnnotationLayer, root.pdfjsDisplayTextLayer,
|
||||
root.pdfjsDisplayDOMUtils, root.pdfjsSharedUtil, root.pdfjsSharedGlobal);
|
||||
}
|
||||
}(this, function (exports, displayAPI, displayAnnotationLayer,
|
||||
displayTextLayer, displayDOMUtils, sharedUtil, sharedGlobal) {
|
||||
|
||||
// Sync the exports below with ./pdf.js file/template.
|
||||
exports.PDFJS = sharedGlobal.PDFJS;
|
||||
|
||||
exports.getDocument = displayAPI.getDocument;
|
||||
exports.PDFDataRangeTransport = displayAPI.PDFDataRangeTransport;
|
||||
exports.renderTextLayer = displayTextLayer.renderTextLayer;
|
||||
exports.AnnotationLayer = displayAnnotationLayer.AnnotationLayer;
|
||||
exports.CustomStyle = displayDOMUtils.CustomStyle;
|
||||
exports.PasswordResponses = sharedUtil.PasswordResponses;
|
||||
exports.InvalidPDFException = sharedUtil.InvalidPDFException;
|
||||
exports.MissingPDFException = sharedUtil.MissingPDFException;
|
||||
exports.UnexpectedResponseException = sharedUtil.UnexpectedResponseException;
|
||||
}));
|
64
src/pdf.js
64
src/pdf.js
|
@ -13,36 +13,50 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
/* jshint globalstrict: false */
|
||||
/* globals PDFJS, global */
|
||||
/* umdutils ignore */
|
||||
|
||||
// Initializing PDFJS global object (if still undefined)
|
||||
if (typeof PDFJS === 'undefined') {
|
||||
(typeof window !== 'undefined' ? window :
|
||||
typeof global !== 'undefined' ? global : this).PDFJS = {};
|
||||
}
|
||||
|
||||
//#if BUNDLE_VERSION
|
||||
//#expand PDFJS.version = '__BUNDLE_VERSION__';
|
||||
//#endif
|
||||
//#if BUNDLE_BUILD
|
||||
//#expand PDFJS.build = '__BUNDLE_BUILD__';
|
||||
//#endif
|
||||
|
||||
(function pdfjsWrapper() {
|
||||
(function (root, factory) {
|
||||
'use strict';
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
//#expand define('__BUNDLE_AMD_NAME__', ['exports'], factory);
|
||||
} else if (typeof exports !== 'undefined') {
|
||||
factory(exports);
|
||||
} else {
|
||||
//#expand factory((root.__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 pdfjsFilePath =
|
||||
typeof document !== 'undefined' && document.currentScript ?
|
||||
document.currentScript.src : null;
|
||||
|
||||
var pdfjsLibs = {};
|
||||
|
||||
(function pdfjsWrapper() {
|
||||
|
||||
//#expand __BUNDLE__
|
||||
|
||||
}).call((typeof window === 'undefined') ? this : window);
|
||||
}).call(pdfjsLibs);
|
||||
|
||||
//#if !(MOZCENTRAL || FIREFOX)
|
||||
if (!PDFJS.workerSrc && typeof document !== 'undefined') {
|
||||
// workerSrc is not set -- using last script url to define default location
|
||||
PDFJS.workerSrc = (function () {
|
||||
'use strict';
|
||||
var pdfJsSrc = document.currentScript.src;
|
||||
return pdfJsSrc && pdfJsSrc.replace(/\.js$/i, '.worker.js');
|
||||
})();
|
||||
}
|
||||
exports.PDFJS = pdfjsLibs.pdfjsSharedGlobal.PDFJS;
|
||||
|
||||
//#if MAIN_FILE
|
||||
exports.getDocument = pdfjsLibs.pdfjsDisplayAPI.getDocument;
|
||||
exports.PDFDataRangeTransport =
|
||||
pdfjsLibs.pdfjsDisplayAPI.PDFDataRangeTransport;
|
||||
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.UnexpectedResponseException =
|
||||
pdfjsLibs.pdfjsSharedUtil.UnexpectedResponseException;
|
||||
//#endif
|
||||
}));
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
/* globals global */
|
||||
/* globals global, pdfjsVersion, pdfjsBuild */
|
||||
|
||||
'use strict';
|
||||
|
||||
|
@ -39,6 +39,13 @@
|
|||
globalScope.PDFJS = {};
|
||||
}
|
||||
|
||||
if (typeof pdfjsVersion !== 'undefined') {
|
||||
globalScope.PDFJS.version = pdfjsVersion;
|
||||
}
|
||||
if (typeof pdfjsVersion !== 'undefined') {
|
||||
globalScope.PDFJS.build = pdfjsBuild;
|
||||
}
|
||||
|
||||
globalScope.PDFJS.pdfBug = false;
|
||||
|
||||
exports.globalScope = globalScope;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue