|
|
@ -67,11 +67,11 @@ function configure(PDFJS) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var DefaultExternalServices = { |
|
|
|
var DefaultExternalServices = { |
|
|
|
updateFindControlState: function (data) {}, |
|
|
|
updateFindControlState(data) {}, |
|
|
|
initPassiveLoading: function (callbacks) {}, |
|
|
|
initPassiveLoading(callbacks) {}, |
|
|
|
fallback: function (data, callback) {}, |
|
|
|
fallback(data, callback) {}, |
|
|
|
reportTelemetry: function (data) {}, |
|
|
|
reportTelemetry(data) {}, |
|
|
|
createDownloadManager: function () { |
|
|
|
createDownloadManager() { |
|
|
|
throw new Error('Not implemented: createDownloadManager'); |
|
|
|
throw new Error('Not implemented: createDownloadManager'); |
|
|
|
}, |
|
|
|
}, |
|
|
|
createPreferences() { |
|
|
|
createPreferences() { |
|
|
@ -181,7 +181,7 @@ var PDFViewerApplication = { |
|
|
|
/** |
|
|
|
/** |
|
|
|
* @private |
|
|
|
* @private |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
_readPreferences: function () { |
|
|
|
_readPreferences() { |
|
|
|
var { preferences, viewerPrefs, } = this; |
|
|
|
var { preferences, viewerPrefs, } = this; |
|
|
|
|
|
|
|
|
|
|
|
return Promise.all([ |
|
|
|
return Promise.all([ |
|
|
@ -257,20 +257,20 @@ var PDFViewerApplication = { |
|
|
|
/** |
|
|
|
/** |
|
|
|
* @private |
|
|
|
* @private |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
_initializeViewerComponents: function () { |
|
|
|
_initializeViewerComponents() { |
|
|
|
var self = this; |
|
|
|
var self = this; |
|
|
|
var appConfig = this.appConfig; |
|
|
|
var appConfig = this.appConfig; |
|
|
|
|
|
|
|
|
|
|
|
return new Promise((resolve, reject) => { |
|
|
|
return new Promise((resolve, reject) => { |
|
|
|
var eventBus = appConfig.eventBus || getGlobalEventBus(); |
|
|
|
var eventBus = appConfig.eventBus || getGlobalEventBus(); |
|
|
|
self.eventBus = eventBus; |
|
|
|
this.eventBus = eventBus; |
|
|
|
|
|
|
|
|
|
|
|
var pdfRenderingQueue = new PDFRenderingQueue(); |
|
|
|
var pdfRenderingQueue = new PDFRenderingQueue(); |
|
|
|
pdfRenderingQueue.onIdle = self.cleanup.bind(self); |
|
|
|
pdfRenderingQueue.onIdle = self.cleanup.bind(self); |
|
|
|
self.pdfRenderingQueue = pdfRenderingQueue; |
|
|
|
self.pdfRenderingQueue = pdfRenderingQueue; |
|
|
|
|
|
|
|
|
|
|
|
var pdfLinkService = new PDFLinkService({ |
|
|
|
var pdfLinkService = new PDFLinkService({ |
|
|
|
eventBus: eventBus |
|
|
|
eventBus, |
|
|
|
}); |
|
|
|
}); |
|
|
|
self.pdfLinkService = pdfLinkService; |
|
|
|
self.pdfLinkService = pdfLinkService; |
|
|
|
|
|
|
|
|
|
|
@ -280,12 +280,12 @@ var PDFViewerApplication = { |
|
|
|
var container = appConfig.mainContainer; |
|
|
|
var container = appConfig.mainContainer; |
|
|
|
var viewer = appConfig.viewerContainer; |
|
|
|
var viewer = appConfig.viewerContainer; |
|
|
|
self.pdfViewer = new PDFViewer({ |
|
|
|
self.pdfViewer = new PDFViewer({ |
|
|
|
container: container, |
|
|
|
container, |
|
|
|
viewer: viewer, |
|
|
|
viewer, |
|
|
|
eventBus: eventBus, |
|
|
|
eventBus, |
|
|
|
renderingQueue: pdfRenderingQueue, |
|
|
|
renderingQueue: pdfRenderingQueue, |
|
|
|
linkService: pdfLinkService, |
|
|
|
linkService: pdfLinkService, |
|
|
|
downloadManager: downloadManager, |
|
|
|
downloadManager, |
|
|
|
renderer: self.viewerPrefs['renderer'], |
|
|
|
renderer: self.viewerPrefs['renderer'], |
|
|
|
enhanceTextSelection: self.viewerPrefs['enhanceTextSelection'], |
|
|
|
enhanceTextSelection: self.viewerPrefs['enhanceTextSelection'], |
|
|
|
renderInteractiveForms: self.viewerPrefs['renderInteractiveForms'], |
|
|
|
renderInteractiveForms: self.viewerPrefs['renderInteractiveForms'], |
|
|
@ -304,7 +304,7 @@ var PDFViewerApplication = { |
|
|
|
|
|
|
|
|
|
|
|
self.pdfHistory = new PDFHistory({ |
|
|
|
self.pdfHistory = new PDFHistory({ |
|
|
|
linkService: pdfLinkService, |
|
|
|
linkService: pdfLinkService, |
|
|
|
eventBus: eventBus, |
|
|
|
eventBus, |
|
|
|
}); |
|
|
|
}); |
|
|
|
pdfLinkService.setHistory(self.pdfHistory); |
|
|
|
pdfLinkService.setHistory(self.pdfHistory); |
|
|
|
|
|
|
|
|
|
|
@ -353,10 +353,10 @@ var PDFViewerApplication = { |
|
|
|
|
|
|
|
|
|
|
|
if (self.supportsFullscreen) { |
|
|
|
if (self.supportsFullscreen) { |
|
|
|
self.pdfPresentationMode = new PDFPresentationMode({ |
|
|
|
self.pdfPresentationMode = new PDFPresentationMode({ |
|
|
|
container: container, |
|
|
|
container, |
|
|
|
viewer: viewer, |
|
|
|
viewer, |
|
|
|
pdfViewer: self.pdfViewer, |
|
|
|
pdfViewer: self.pdfViewer, |
|
|
|
eventBus: eventBus, |
|
|
|
eventBus, |
|
|
|
contextMenuItems: appConfig.fullscreen |
|
|
|
contextMenuItems: appConfig.fullscreen |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
@ -365,14 +365,14 @@ var PDFViewerApplication = { |
|
|
|
|
|
|
|
|
|
|
|
self.pdfOutlineViewer = new PDFOutlineViewer({ |
|
|
|
self.pdfOutlineViewer = new PDFOutlineViewer({ |
|
|
|
container: appConfig.sidebar.outlineView, |
|
|
|
container: appConfig.sidebar.outlineView, |
|
|
|
eventBus: eventBus, |
|
|
|
eventBus, |
|
|
|
linkService: pdfLinkService, |
|
|
|
linkService: pdfLinkService, |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
self.pdfAttachmentViewer = new PDFAttachmentViewer({ |
|
|
|
self.pdfAttachmentViewer = new PDFAttachmentViewer({ |
|
|
|
container: appConfig.sidebar.attachmentsView, |
|
|
|
container: appConfig.sidebar.attachmentsView, |
|
|
|
eventBus: eventBus, |
|
|
|
eventBus, |
|
|
|
downloadManager: downloadManager, |
|
|
|
downloadManager, |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
// FIXME better PDFSidebar constructor parameters
|
|
|
|
// FIXME better PDFSidebar constructor parameters
|
|
|
@ -482,31 +482,31 @@ var PDFViewerApplication = { |
|
|
|
if (typeof PDFJSDev !== 'undefined' && |
|
|
|
if (typeof PDFJSDev !== 'undefined' && |
|
|
|
PDFJSDev.test('FIREFOX || MOZCENTRAL || CHROME')) { |
|
|
|
PDFJSDev.test('FIREFOX || MOZCENTRAL || CHROME')) { |
|
|
|
this.externalServices.initPassiveLoading({ |
|
|
|
this.externalServices.initPassiveLoading({ |
|
|
|
onOpenWithTransport: function (url, length, transport) { |
|
|
|
onOpenWithTransport(url, length, transport) { |
|
|
|
PDFViewerApplication.open(url, {range: transport}); |
|
|
|
PDFViewerApplication.open(url, { range: transport, }); |
|
|
|
|
|
|
|
|
|
|
|
if (length) { |
|
|
|
if (length) { |
|
|
|
PDFViewerApplication.pdfDocumentProperties.setFileSize(length); |
|
|
|
PDFViewerApplication.pdfDocumentProperties.setFileSize(length); |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
}, |
|
|
|
onOpenWithData: function (data) { |
|
|
|
onOpenWithData(data) { |
|
|
|
PDFViewerApplication.open(data); |
|
|
|
PDFViewerApplication.open(data); |
|
|
|
}, |
|
|
|
}, |
|
|
|
onOpenWithURL: function (url, length, originalURL) { |
|
|
|
onOpenWithURL(url, length, originalURL) { |
|
|
|
var file = url, args = null; |
|
|
|
var file = url, args = null; |
|
|
|
if (length !== undefined) { |
|
|
|
if (length !== undefined) { |
|
|
|
args = {length: length}; |
|
|
|
args = { length, }; |
|
|
|
} |
|
|
|
} |
|
|
|
if (originalURL !== undefined) { |
|
|
|
if (originalURL !== undefined) { |
|
|
|
file = {file: url, originalURL: originalURL}; |
|
|
|
file = { file: url, originalURL, }; |
|
|
|
} |
|
|
|
} |
|
|
|
PDFViewerApplication.open(file, args); |
|
|
|
PDFViewerApplication.open(file, args); |
|
|
|
}, |
|
|
|
}, |
|
|
|
onError: function (e) { |
|
|
|
onError(err) { |
|
|
|
PDFViewerApplication.error(mozL10n.get('loading_error', null, |
|
|
|
PDFViewerApplication.error(mozL10n.get('loading_error', null, |
|
|
|
'An error occurred while loading the PDF.'), e); |
|
|
|
'An error occurred while loading the PDF.'), err); |
|
|
|
}, |
|
|
|
}, |
|
|
|
onProgress: function (loaded, total) { |
|
|
|
onProgress(loaded, total) { |
|
|
|
PDFViewerApplication.progress(loaded / total); |
|
|
|
PDFViewerApplication.progress(loaded / total); |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
@ -674,7 +674,7 @@ var PDFViewerApplication = { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var moreInfo = { |
|
|
|
var moreInfo = { |
|
|
|
message: message |
|
|
|
message, |
|
|
|
}; |
|
|
|
}; |
|
|
|
self.error(loadingErrorMessage, moreInfo); |
|
|
|
self.error(loadingErrorMessage, moreInfo); |
|
|
|
|
|
|
|
|
|
|
@ -728,7 +728,7 @@ var PDFViewerApplication = { |
|
|
|
} |
|
|
|
} |
|
|
|
this.fellback = true; |
|
|
|
this.fellback = true; |
|
|
|
this.externalServices.fallback({ |
|
|
|
this.externalServices.fallback({ |
|
|
|
featureId: featureId, |
|
|
|
featureId, |
|
|
|
url: this.baseUrl, |
|
|
|
url: this.baseUrl, |
|
|
|
}, function response(download) { |
|
|
|
}, function response(download) { |
|
|
|
if (!download) { |
|
|
|
if (!download) { |
|
|
@ -1019,10 +1019,10 @@ var PDFViewerApplication = { |
|
|
|
|
|
|
|
|
|
|
|
Promise.all([onePageRendered, animationStarted]).then(function() { |
|
|
|
Promise.all([onePageRendered, animationStarted]).then(function() { |
|
|
|
pdfDocument.getOutline().then(function(outline) { |
|
|
|
pdfDocument.getOutline().then(function(outline) { |
|
|
|
self.pdfOutlineViewer.render({ outline: outline }); |
|
|
|
self.pdfOutlineViewer.render({ outline, }); |
|
|
|
}); |
|
|
|
}); |
|
|
|
pdfDocument.getAttachments().then(function(attachments) { |
|
|
|
pdfDocument.getAttachments().then(function(attachments) { |
|
|
|
self.pdfAttachmentViewer.render({ attachments: attachments }); |
|
|
|
self.pdfAttachmentViewer.render({ attachments, }); |
|
|
|
}); |
|
|
|
}); |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
@ -1086,7 +1086,7 @@ var PDFViewerApplication = { |
|
|
|
type: 'documentInfo', |
|
|
|
type: 'documentInfo', |
|
|
|
version: versionId, |
|
|
|
version: versionId, |
|
|
|
generator: generatorId, |
|
|
|
generator: generatorId, |
|
|
|
formType: formType |
|
|
|
formType, |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
@ -1322,7 +1322,7 @@ if (typeof PDFJSDev === 'undefined' || PDFJSDev.test('GENERIC')) { |
|
|
|
'An error occurred while loading the PDF.'); |
|
|
|
'An error occurred while loading the PDF.'); |
|
|
|
|
|
|
|
|
|
|
|
var moreInfo = { |
|
|
|
var moreInfo = { |
|
|
|
message: message |
|
|
|
message, |
|
|
|
}; |
|
|
|
}; |
|
|
|
PDFViewerApplication.error(loadingErrorMessage, moreInfo); |
|
|
|
PDFViewerApplication.error(loadingErrorMessage, moreInfo); |
|
|
|
throw e; |
|
|
|
throw e; |
|
|
@ -1582,7 +1582,7 @@ function webViewerPageRendered(e) { |
|
|
|
PDFViewerApplication.pdfDocument.getStats().then(function (stats) { |
|
|
|
PDFViewerApplication.pdfDocument.getStats().then(function (stats) { |
|
|
|
PDFViewerApplication.externalServices.reportTelemetry({ |
|
|
|
PDFViewerApplication.externalServices.reportTelemetry({ |
|
|
|
type: 'documentStats', |
|
|
|
type: 'documentStats', |
|
|
|
stats: stats |
|
|
|
stats, |
|
|
|
}); |
|
|
|
}); |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
@ -2206,7 +2206,7 @@ localized.then(function webViewerLocalized() { |
|
|
|
var PDFPrintServiceFactory = { |
|
|
|
var PDFPrintServiceFactory = { |
|
|
|
instance: { |
|
|
|
instance: { |
|
|
|
supportsPrinting: false, |
|
|
|
supportsPrinting: false, |
|
|
|
createPrintService: function () { |
|
|
|
createPrintService() { |
|
|
|
throw new Error('Not implemented: createPrintService'); |
|
|
|
throw new Error('Not implemented: createPrintService'); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|