1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-20 15:18:08 +02:00

Don't create PDFViewerApplication.pdfHistory when the browsing history is disabled

Similar to other viewer components, e.g. the `PDFFindBar` and `PDFPresentationMode`, there's no need to create a `PDFHistory`-instance when it's not going to be used.
This commit is contained in:
Jonas Jenwald 2021-09-09 14:21:15 +02:00
parent 8a79f13e5a
commit aa289b17b6
2 changed files with 13 additions and 15 deletions

View file

@ -534,11 +534,15 @@ const PDFViewerApplication = {
});
pdfRenderingQueue.setThumbnailViewer(this.pdfThumbnailViewer);
this.pdfHistory = new PDFHistory({
linkService: pdfLinkService,
eventBus,
});
pdfLinkService.setHistory(this.pdfHistory);
// The browsing history is only enabled when the viewer is standalone,
// i.e. not when it is embedded in a web page.
if (!this.isViewerEmbedded && !AppOptions.get("disableHistory")) {
this.pdfHistory = new PDFHistory({
linkService: pdfLinkService,
eventBus,
});
pdfLinkService.setHistory(this.pdfHistory);
}
if (!this.supportsIntegratedFind) {
this.findBar = new PDFFindBar(appConfig.findBar, eventBus, this.l10n);
@ -1631,9 +1635,7 @@ const PDFViewerApplication = {
* @private
*/
_initializePdfHistory({ fingerprint, viewOnLoad, initialDest = null }) {
if (this.isViewerEmbedded || AppOptions.get("disableHistory")) {
// The browsing history is only enabled when the viewer is standalone,
// i.e. not when it is embedded in a web page.
if (!this.pdfHistory) {
return;
}
this.pdfHistory.initialize({
@ -2456,7 +2458,7 @@ function webViewerHashchange(evt) {
}
if (!PDFViewerApplication.isInitialViewSet) {
PDFViewerApplication.initialBookmark = hash;
} else if (!PDFViewerApplication.pdfHistory.popStateInProgress) {
} else if (!PDFViewerApplication.pdfHistory?.popStateInProgress) {
PDFViewerApplication.pdfLinkService.setHash(hash);
}
}

View file

@ -380,15 +380,11 @@ class PDFLinkService {
// See PDF reference, table 8.45 - Named action
switch (action) {
case "GoBack":
if (this.pdfHistory) {
this.pdfHistory.back();
}
this.pdfHistory?.back();
break;
case "GoForward":
if (this.pdfHistory) {
this.pdfHistory.forward();
}
this.pdfHistory?.forward();
break;
case "NextPage":