From 6dc4c994b8f848ae2ad128fc0e516cc6e4c1cda1 Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Thu, 8 Sep 2022 11:51:17 +0200 Subject: [PATCH] Remove the abstract `BaseViewer`-class After the changes in PR 14112 the `PDFViewer`-class is now "identical" to the `BaseViewer`-class and the `PDFSinglePageViewer`-class is just a very thin wrapper around the `BaseViewer`-class. Hence we can rename these files, and also remove the abstract `BaseViewer`-class, which helps reduce some unnecessary "closures" in the *built* viewer. *Please note:* These changes are made in two separate commits, to allow GitHub to preserve `blame` for the affected files. --- test/unit/base_viewer_spec.js | 2 +- web/app.js | 2 +- web/base_viewer.js | 9 +++------ web/{pdf_viewer.js => pdf_single_page_viewer.js} | 8 +++----- web/pdf_viewer.component.js | 3 ++- 5 files changed, 10 insertions(+), 14 deletions(-) rename web/{pdf_viewer.js => pdf_single_page_viewer.js} (84%) diff --git a/test/unit/base_viewer_spec.js b/test/unit/base_viewer_spec.js index f59ef75cd..2333f3e0e 100644 --- a/test/unit/base_viewer_spec.js +++ b/test/unit/base_viewer_spec.js @@ -15,7 +15,7 @@ import { PDFPageViewBuffer } from "../../web/base_viewer.js"; -describe("BaseViewer", function () { +describe("PDFViewer", function () { describe("PDFPageViewBuffer", function () { function createViewsMap(startId, endId) { const map = new Map(); diff --git a/web/app.js b/web/app.js index 63eb8a9ce..5955fb353 100644 --- a/web/app.js +++ b/web/app.js @@ -73,7 +73,7 @@ import { PDFScriptingManager } from "./pdf_scripting_manager.js"; import { PDFSidebar } from "./pdf_sidebar.js"; import { PDFSidebarResizer } from "./pdf_sidebar_resizer.js"; import { PDFThumbnailViewer } from "./pdf_thumbnail_viewer.js"; -import { PDFViewer } from "./pdf_viewer.js"; +import { PDFViewer } from "./base_viewer.js"; import { SecondaryToolbar } from "./secondary_toolbar.js"; import { Toolbar } from "./toolbar.js"; import { ViewHistory } from "./view_history.js"; diff --git a/web/base_viewer.js b/web/base_viewer.js index f27bc20d7..bbc40b51e 100644 --- a/web/base_viewer.js +++ b/web/base_viewer.js @@ -216,7 +216,7 @@ class PDFPageViewBuffer { * @implements {IPDFTextLayerFactory} * @implements {IPDFXfaLayerFactory} */ -class BaseViewer { +class PDFViewer { #buffer = null; #annotationEditorMode = AnnotationEditorType.DISABLE; @@ -237,9 +237,6 @@ class BaseViewer { * @param {PDFViewerOptions} options */ constructor(options) { - if (this.constructor === BaseViewer) { - throw new Error("Cannot initialize BaseViewer."); - } const viewerVersion = typeof PDFJSDev !== "undefined" ? PDFJSDev.eval("BUNDLE_VERSION") : null; if (version !== viewerVersion) { @@ -305,7 +302,7 @@ class BaseViewer { ) { if (this.pageColors.background || this.pageColors.foreground) { console.warn( - "BaseViewer: Ignoring `pageColors`-option, since the browser doesn't support the values used." + "PDFViewer: Ignoring `pageColors`-option, since the browser doesn't support the values used." ); } this.pageColors = null; @@ -2249,4 +2246,4 @@ class BaseViewer { } } -export { BaseViewer, PagesCountLimit, PDFPageViewBuffer }; +export { PagesCountLimit, PDFPageViewBuffer, PDFViewer }; diff --git a/web/pdf_viewer.js b/web/pdf_single_page_viewer.js similarity index 84% rename from web/pdf_viewer.js rename to web/pdf_single_page_viewer.js index 7ca01ec04..0ca0e6c05 100644 --- a/web/pdf_viewer.js +++ b/web/pdf_single_page_viewer.js @@ -14,11 +14,9 @@ */ import { ScrollMode, SpreadMode } from "./ui_utils.js"; -import { BaseViewer } from "./base_viewer.js"; +import { PDFViewer } from "./base_viewer.js"; -class PDFViewer extends BaseViewer {} - -class PDFSinglePageViewer extends BaseViewer { +class PDFSinglePageViewer extends PDFViewer { _resetView() { super._resetView(); this._scrollMode = ScrollMode.PAGE; @@ -36,4 +34,4 @@ class PDFSinglePageViewer extends BaseViewer { _updateSpreadMode() {} } -export { PDFSinglePageViewer, PDFViewer }; +export { PDFSinglePageViewer }; diff --git a/web/pdf_viewer.component.js b/web/pdf_viewer.component.js index e4ca1417e..1a6d29375 100644 --- a/web/pdf_viewer.component.js +++ b/web/pdf_viewer.component.js @@ -31,7 +31,6 @@ import { ScrollMode, SpreadMode, } from "./ui_utils.js"; -import { PDFSinglePageViewer, PDFViewer } from "./pdf_viewer.js"; import { AnnotationLayerBuilder } from "./annotation_layer_builder.js"; import { DownloadManager } from "./download_manager.js"; import { EventBus } from "./event_utils.js"; @@ -41,6 +40,8 @@ import { PDFFindController } from "./pdf_find_controller.js"; import { PDFHistory } from "./pdf_history.js"; import { PDFPageView } from "./pdf_page_view.js"; import { PDFScriptingManager } from "./pdf_scripting_manager.js"; +import { PDFSinglePageViewer } from "./pdf_single_page_viewer.js"; +import { PDFViewer } from "./base_viewer.js"; import { StructTreeLayerBuilder } from "./struct_tree_layer_builder.js"; import { TextLayerBuilder } from "./text_layer_builder.js"; import { XfaLayerBuilder } from "./xfa_layer_builder.js";