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