Refactor the DownloadManager
initialization in GENERIC
/CHROME
builds, to avoid issues when converting the code to ES6 modules
This commit is contained in:
parent
d6dfc26d4e
commit
313060aff5
16
web/app.js
16
web/app.js
@ -19,7 +19,7 @@
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
define('pdfjs-web/app', ['exports', 'pdfjs-web/ui_utils',
|
||||
'pdfjs-web/download_manager', 'pdfjs-web/pdf_history',
|
||||
'pdfjs-web/pdf_history',
|
||||
'pdfjs-web/preferences', 'pdfjs-web/pdf_sidebar',
|
||||
'pdfjs-web/view_history', 'pdfjs-web/pdf_thumbnail_viewer',
|
||||
'pdfjs-web/toolbar', 'pdfjs-web/secondary_toolbar',
|
||||
@ -32,7 +32,7 @@
|
||||
'pdfjs-web/dom_events', 'pdfjs-web/pdfjs'],
|
||||
factory);
|
||||
} else if (typeof exports !== 'undefined') {
|
||||
factory(exports, require('./ui_utils.js'), require('./download_manager.js'),
|
||||
factory(exports, require('./ui_utils.js'),
|
||||
require('./pdf_history.js'), require('./preferences.js'),
|
||||
require('./pdf_sidebar.js'), require('./view_history.js'),
|
||||
require('./pdf_thumbnail_viewer.js'), require('./toolbar.js'),
|
||||
@ -46,7 +46,7 @@
|
||||
require('./dom_events.js'), require('./pdfjs.js'));
|
||||
} else {
|
||||
factory((root.pdfjsWebApp = {}), root.pdfjsWebUIUtils,
|
||||
root.pdfjsWebDownloadManager, root.pdfjsWebPDFHistory,
|
||||
root.pdfjsWebPDFHistory,
|
||||
root.pdfjsWebPreferences, root.pdfjsWebPDFSidebar,
|
||||
root.pdfjsWebViewHistory, root.pdfjsWebPDFThumbnailViewer,
|
||||
root.pdfjsWebToolbar, root.pdfjsWebSecondaryToolbar,
|
||||
@ -58,7 +58,7 @@
|
||||
root.pdfjsWebPDFFindController, root.pdfjsWebPDFFindBar,
|
||||
root.pdfjsWebDOMEvents, root.pdfjsWebPDFJS);
|
||||
}
|
||||
}(this, function (exports, uiUtilsLib, downloadManagerLib, pdfHistoryLib,
|
||||
}(this, function (exports, uiUtilsLib, pdfHistoryLib,
|
||||
preferencesLib, pdfSidebarLib, viewHistoryLib,
|
||||
pdfThumbnailViewerLib, toolbarLib, secondaryToolbarLib,
|
||||
passwordPromptLib, pdfPresentationModeLib,
|
||||
@ -124,13 +124,13 @@ function configure(PDFJS) {
|
||||
}
|
||||
}
|
||||
|
||||
var DefaultExernalServices = {
|
||||
var DefaultExternalServices = {
|
||||
updateFindControlState: function (data) {},
|
||||
initPassiveLoading: function (callbacks) {},
|
||||
fallback: function (data, callback) {},
|
||||
reportTelemetry: function (data) {},
|
||||
createDownloadManager: function () {
|
||||
return new downloadManagerLib.DownloadManager();
|
||||
throw new Error('Not implemented: createDownloadManager');
|
||||
},
|
||||
supportsIntegratedFind: false,
|
||||
supportsDocumentFonts: true,
|
||||
@ -196,7 +196,7 @@ var PDFViewerApplication = {
|
||||
isViewerEmbedded: (window.parent !== window),
|
||||
url: '',
|
||||
baseUrl: '',
|
||||
externalServices: DefaultExernalServices,
|
||||
externalServices: DefaultExternalServices,
|
||||
|
||||
// called once when the document is loaded
|
||||
initialize: function pdfViewInitialize(appConfig) {
|
||||
@ -2270,6 +2270,6 @@ var PDFPrintServiceFactory = {
|
||||
};
|
||||
|
||||
exports.PDFViewerApplication = PDFViewerApplication;
|
||||
exports.DefaultExernalServices = DefaultExernalServices;
|
||||
exports.DefaultExternalServices = DefaultExternalServices;
|
||||
exports.PDFPrintServiceFactory = PDFPrintServiceFactory;
|
||||
}));
|
||||
|
@ -36,7 +36,7 @@
|
||||
}
|
||||
|
||||
var PDFViewerApplication = app.PDFViewerApplication;
|
||||
var DefaultExernalServices = app.DefaultExernalServices;
|
||||
var DefaultExternalServices = app.DefaultExternalServices;
|
||||
var OverlayManager = overlayManager.OverlayManager;
|
||||
var Preferences = preferences.Preferences;
|
||||
|
||||
@ -349,7 +349,7 @@
|
||||
});
|
||||
};
|
||||
|
||||
var ChromeExternalServices = Object.create(DefaultExernalServices);
|
||||
var ChromeExternalServices = Object.create(DefaultExternalServices);
|
||||
ChromeExternalServices.initPassiveLoading = function (callbacks) {
|
||||
var appConfig = PDFViewerApplication.appConfig;
|
||||
ChromeCom.resolvePDFFile(appConfig.defaultUrl,
|
||||
|
@ -17,18 +17,23 @@
|
||||
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
define('pdfjs-web/download_manager', ['exports', 'pdfjs-web/pdfjs'],
|
||||
factory);
|
||||
define('pdfjs-web/download_manager', ['exports', 'pdfjs-web/app',
|
||||
'pdfjs-web/pdfjs'], factory);
|
||||
} else if (typeof exports !== 'undefined') {
|
||||
factory(exports, require('./pdfjs.js'));
|
||||
factory(exports, require('./app.js'), require('./pdfjs.js'));
|
||||
} else {
|
||||
factory((root.pdfjsWebDownloadManager = {}), root.pdfjsWebPDFJS);
|
||||
factory((root.pdfjsWebDownloadManager = {}), root.pdfjsWebApp,
|
||||
root.pdfjsWebPDFJS);
|
||||
}
|
||||
}(this, function (exports, pdfjsLib) {
|
||||
if (typeof PDFJSDev !== 'undefined' && PDFJSDev.test('FIREFOX || MOZCENTRAL')) {
|
||||
return;
|
||||
}(this, function (exports, app, pdfjsLib) {
|
||||
if (typeof PDFJSDev !== 'undefined' && !PDFJSDev.test('CHROME || GENERIC')) {
|
||||
throw new Error('Module "pdfjs-web/download_manager" shall not be used ' +
|
||||
'outside CHROME and GENERIC builds.');
|
||||
}
|
||||
|
||||
var PDFViewerApplication = app.PDFViewerApplication;
|
||||
var DefaultExternalServices = app.DefaultExternalServices;
|
||||
|
||||
function download(blobUrl, filename) {
|
||||
var a = document.createElement('a');
|
||||
if (a.click) {
|
||||
@ -107,5 +112,11 @@ DownloadManager.prototype = {
|
||||
}
|
||||
};
|
||||
|
||||
var GenericExternalServices = Object.create(DefaultExternalServices);
|
||||
GenericExternalServices.createDownloadManager = function () {
|
||||
return new DownloadManager();
|
||||
};
|
||||
PDFViewerApplication.externalServices = GenericExternalServices;
|
||||
|
||||
exports.DownloadManager = DownloadManager;
|
||||
}));
|
||||
|
@ -50,6 +50,7 @@ if (typeof PDFJSDev !== 'undefined' && PDFJSDev.test('CHROME')) {
|
||||
}
|
||||
if (typeof PDFJSDev !== 'undefined' && PDFJSDev.test('CHROME || GENERIC')) {
|
||||
require('./pdf_print_service.js');
|
||||
require('./download_manager.js');
|
||||
}
|
||||
|
||||
function getViewerConfiguration() {
|
||||
@ -172,7 +173,8 @@ function webViewerLoad() {
|
||||
var config = getViewerConfiguration();
|
||||
if (typeof PDFJSDev === 'undefined' || !PDFJSDev.test('PRODUCTION')) {
|
||||
Promise.all([SystemJS.import('pdfjs-web/app'),
|
||||
SystemJS.import('pdfjs-web/pdf_print_service')])
|
||||
SystemJS.import('pdfjs-web/pdf_print_service'),
|
||||
SystemJS.import('pdfjs-web/download_manager')])
|
||||
.then(function (modules) {
|
||||
var app = modules[0];
|
||||
window.PDFViewerApplication = app.PDFViewerApplication;
|
||||
|
Loading…
x
Reference in New Issue
Block a user