From f4e60ae986bf9b6964e9ecf31252ceec12e83c21 Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Tue, 19 Jul 2022 13:41:01 +0200 Subject: [PATCH] Limit even more SVG-specific code to the GENERIC viewer Given that the SVG back-end is not defined anywhere except in GENERIC builds, we can remove a bit more unnecessary code in e.g. the Firefox PDF Viewer. --- web/base_viewer.js | 14 +++++++++++--- web/pdf_page_view.js | 8 ++++++-- web/ui_utils.js | 11 +++++++---- 3 files changed, 24 insertions(+), 9 deletions(-) diff --git a/web/base_viewer.js b/web/base_viewer.js index c3ae98a80..0ecb510ab 100644 --- a/web/base_viewer.js +++ b/web/base_viewer.js @@ -127,7 +127,6 @@ function isValidAnnotationEditorMode(mode) { * mainly for annotation icons. Include trailing slash. * @property {boolean} [enablePrintAutoRotate] - Enables automatic rotation of * landscape pages upon printing. The default is `false`. - * @property {string} renderer - 'canvas' or 'svg'. The default is 'canvas'. * @property {boolean} [useOnlyCssZoom] - Enables CSS only zooming. The default * value is `false`. * @property {number} [maxCanvasPixels] - The maximum supported canvas size in @@ -285,7 +284,12 @@ class BaseViewer { options.annotationEditorMode ?? ANNOTATION_EDITOR_MODE; this.imageResourcesPath = options.imageResourcesPath || ""; this.enablePrintAutoRotate = options.enablePrintAutoRotate || false; - this.renderer = options.renderer || RendererType.CANVAS; + if ( + typeof PDFJSDev === "undefined" || + PDFJSDev.test("!PRODUCTION || GENERIC") + ) { + this.renderer = options.renderer || RendererType.CANVAS; + } this.useOnlyCssZoom = options.useOnlyCssZoom || false; this.maxCanvasPixels = options.maxCanvasPixels; this.l10n = options.l10n || NullL10n; @@ -778,7 +782,11 @@ class BaseViewer { textHighlighterFactory: this, structTreeLayerFactory: this, imageResourcesPath: this.imageResourcesPath, - renderer: this.renderer, + renderer: + typeof PDFJSDev === "undefined" || + PDFJSDev.test("!PRODUCTION || GENERIC") + ? this.renderer + : null, useOnlyCssZoom: this.useOnlyCssZoom, maxCanvasPixels: this.maxCanvasPixels, pageColors: this.pageColors, diff --git a/web/pdf_page_view.js b/web/pdf_page_view.js index 82d0bbf9e..bc77234fc 100644 --- a/web/pdf_page_view.js +++ b/web/pdf_page_view.js @@ -80,7 +80,6 @@ import { NullL10n } from "./l10n_utils.js"; * @property {Object} [textHighlighterFactory] * @property {string} [imageResourcesPath] - Path for image resources, mainly * for annotation icons. Include trailing slash. - * @property {string} renderer - 'canvas' or 'svg'. The default is 'canvas'. * @property {boolean} [useOnlyCssZoom] - Enables CSS only zooming. The default * value is `false`. * @property {number} [maxCanvasPixels] - The maximum supported canvas size in @@ -139,7 +138,12 @@ class PDFPageView { this.eventBus ); this.structTreeLayerFactory = options.structTreeLayerFactory; - this.renderer = options.renderer || RendererType.CANVAS; + if ( + typeof PDFJSDev === "undefined" || + PDFJSDev.test("!PRODUCTION || GENERIC") + ) { + this.renderer = options.renderer || RendererType.CANVAS; + } this.l10n = options.l10n || NullL10n; this.paintTask = null; diff --git a/web/ui_utils.js b/web/ui_utils.js index 02dc8f24f..d9673a4dd 100644 --- a/web/ui_utils.js +++ b/web/ui_utils.js @@ -48,10 +48,13 @@ const SidebarView = { LAYERS: 4, }; -const RendererType = { - CANVAS: "canvas", - SVG: "svg", -}; +const RendererType = + typeof PDFJSDev === "undefined" || PDFJSDev.test("!PRODUCTION || GENERIC") + ? { + CANVAS: "canvas", + SVG: "svg", + } + : null; const TextLayerMode = { DISABLE: 0,