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.
This commit is contained in:
Jonas Jenwald 2022-09-08 11:51:17 +02:00
parent b0a021d2cc
commit 6dc4c994b8
5 changed files with 10 additions and 14 deletions

View File

@ -15,7 +15,7 @@
import { PDFPageViewBuffer } from "../../web/base_viewer.js"; import { PDFPageViewBuffer } from "../../web/base_viewer.js";
describe("BaseViewer", function () { describe("PDFViewer", function () {
describe("PDFPageViewBuffer", function () { describe("PDFPageViewBuffer", function () {
function createViewsMap(startId, endId) { function createViewsMap(startId, endId) {
const map = new Map(); const map = new Map();

View File

@ -73,7 +73,7 @@ import { PDFScriptingManager } from "./pdf_scripting_manager.js";
import { PDFSidebar } from "./pdf_sidebar.js"; import { PDFSidebar } from "./pdf_sidebar.js";
import { PDFSidebarResizer } from "./pdf_sidebar_resizer.js"; import { PDFSidebarResizer } from "./pdf_sidebar_resizer.js";
import { PDFThumbnailViewer } from "./pdf_thumbnail_viewer.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 { SecondaryToolbar } from "./secondary_toolbar.js";
import { Toolbar } from "./toolbar.js"; import { Toolbar } from "./toolbar.js";
import { ViewHistory } from "./view_history.js"; import { ViewHistory } from "./view_history.js";

View File

@ -216,7 +216,7 @@ class PDFPageViewBuffer {
* @implements {IPDFTextLayerFactory} * @implements {IPDFTextLayerFactory}
* @implements {IPDFXfaLayerFactory} * @implements {IPDFXfaLayerFactory}
*/ */
class BaseViewer { class PDFViewer {
#buffer = null; #buffer = null;
#annotationEditorMode = AnnotationEditorType.DISABLE; #annotationEditorMode = AnnotationEditorType.DISABLE;
@ -237,9 +237,6 @@ class BaseViewer {
* @param {PDFViewerOptions} options * @param {PDFViewerOptions} options
*/ */
constructor(options) { constructor(options) {
if (this.constructor === BaseViewer) {
throw new Error("Cannot initialize BaseViewer.");
}
const viewerVersion = const viewerVersion =
typeof PDFJSDev !== "undefined" ? PDFJSDev.eval("BUNDLE_VERSION") : null; typeof PDFJSDev !== "undefined" ? PDFJSDev.eval("BUNDLE_VERSION") : null;
if (version !== viewerVersion) { if (version !== viewerVersion) {
@ -305,7 +302,7 @@ class BaseViewer {
) { ) {
if (this.pageColors.background || this.pageColors.foreground) { if (this.pageColors.background || this.pageColors.foreground) {
console.warn( 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; this.pageColors = null;
@ -2249,4 +2246,4 @@ class BaseViewer {
} }
} }
export { BaseViewer, PagesCountLimit, PDFPageViewBuffer }; export { PagesCountLimit, PDFPageViewBuffer, PDFViewer };

View File

@ -14,11 +14,9 @@
*/ */
import { ScrollMode, SpreadMode } from "./ui_utils.js"; 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 PDFViewer {
class PDFSinglePageViewer extends BaseViewer {
_resetView() { _resetView() {
super._resetView(); super._resetView();
this._scrollMode = ScrollMode.PAGE; this._scrollMode = ScrollMode.PAGE;
@ -36,4 +34,4 @@ class PDFSinglePageViewer extends BaseViewer {
_updateSpreadMode() {} _updateSpreadMode() {}
} }
export { PDFSinglePageViewer, PDFViewer }; export { PDFSinglePageViewer };

View File

@ -31,7 +31,6 @@ import {
ScrollMode, ScrollMode,
SpreadMode, SpreadMode,
} from "./ui_utils.js"; } from "./ui_utils.js";
import { PDFSinglePageViewer, PDFViewer } from "./pdf_viewer.js";
import { AnnotationLayerBuilder } from "./annotation_layer_builder.js"; import { AnnotationLayerBuilder } from "./annotation_layer_builder.js";
import { DownloadManager } from "./download_manager.js"; import { DownloadManager } from "./download_manager.js";
import { EventBus } from "./event_utils.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 { PDFHistory } from "./pdf_history.js";
import { PDFPageView } from "./pdf_page_view.js"; import { PDFPageView } from "./pdf_page_view.js";
import { PDFScriptingManager } from "./pdf_scripting_manager.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 { StructTreeLayerBuilder } from "./struct_tree_layer_builder.js";
import { TextLayerBuilder } from "./text_layer_builder.js"; import { TextLayerBuilder } from "./text_layer_builder.js";
import { XfaLayerBuilder } from "./xfa_layer_builder.js"; import { XfaLayerBuilder } from "./xfa_layer_builder.js";