diff --git a/gulpfile.js b/gulpfile.js index fcf570759..7171d8092 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -88,7 +88,6 @@ var DEFINES = { TESTING: false, // The main build targets: GENERIC: false, - FIREFOX: false, MOZCENTRAL: false, CHROME: false, MINIFIED: false, @@ -173,7 +172,6 @@ function createWebpackConfig(defines, output) { .readFileSync("./src/license_header_libre.js") .toString(); var enableSourceMaps = - !bundleDefines.FIREFOX && !bundleDefines.MOZCENTRAL && !bundleDefines.CHROME && !bundleDefines.TESTING; diff --git a/src/core/jpg.js b/src/core/jpg.js index 0b176daf0..30f4c8d80 100644 --- a/src/core/jpg.js +++ b/src/core/jpg.js @@ -1345,7 +1345,10 @@ var JpegImage = (function JpegImageClosure() { }, getData({ width, height, forceRGB = false, isSourcePDF = false }) { - if (typeof PDFJSDev !== "undefined" && PDFJSDev.test("TESTING && !LIB")) { + if ( + typeof PDFJSDev === "undefined" || + PDFJSDev.test("!PRODUCTION || TESTING") + ) { assert( isSourcePDF === true, 'JpegImage.getData: Unexpected "isSourcePDF" value for PDF files.' diff --git a/src/display/api.js b/src/display/api.js index 3168b03b0..44cb2d871 100644 --- a/src/display/api.js +++ b/src/display/api.js @@ -1639,7 +1639,6 @@ const PDFWorker = (function PDFWorkerClosure() { return worker.WorkerMessageHandler; } if ( - typeof PDFJSDev !== "undefined" && PDFJSDev.test("GENERIC") && isNodeJS && // eslint-disable-next-line no-undef diff --git a/src/display/network.js b/src/display/network.js index abd5fb4e5..f24ee1f92 100644 --- a/src/display/network.js +++ b/src/display/network.js @@ -25,10 +25,9 @@ import { validateRangeRequestCapabilities, } from "./network_utils.js"; -if (typeof PDFJSDev !== "undefined" && PDFJSDev.test("FIREFOX || MOZCENTRAL")) { +if (typeof PDFJSDev !== "undefined" && PDFJSDev.test("MOZCENTRAL")) { throw new Error( - 'Module "./network" shall not ' + - "be used with FIREFOX or MOZCENTRAL build." + 'Module "./network.js" shall not be used with MOZCENTRAL builds.' ); } diff --git a/src/display/text_layer.js b/src/display/text_layer.js index 8cbaeded0..5861110f8 100644 --- a/src/display/text_layer.js +++ b/src/display/text_layer.js @@ -601,7 +601,7 @@ var renderTextLayer = (function renderTextLayerClosure() { let canvas = document.createElement("canvas"); if ( typeof PDFJSDev === "undefined" || - PDFJSDev.test("FIREFOX || MOZCENTRAL || GENERIC") + PDFJSDev.test("MOZCENTRAL || GENERIC") ) { canvas.mozOpaque = true; } diff --git a/src/pdf.js b/src/pdf.js index faa52eb0b..de9415a1b 100644 --- a/src/pdf.js +++ b/src/pdf.js @@ -53,7 +53,7 @@ if (typeof PDFJSDev === "undefined" || PDFJSDev.test("GENERIC")) { return new PDFNetworkStream(params); }); } -} else if (typeof PDFJSDev !== "undefined" && PDFJSDev.test("CHROME")) { +} else if (PDFJSDev.test("CHROME")) { let PDFNetworkStream = require("./display/network.js").PDFNetworkStream; let PDFFetchStream; let isChromeWithFetchCredentials = function() { diff --git a/src/shared/message_handler.js b/src/shared/message_handler.js index ee3d56556..3ff409d0a 100644 --- a/src/shared/message_handler.js +++ b/src/shared/message_handler.js @@ -51,9 +51,10 @@ function wrapReason(reason) { (typeof reason === "object" && reason !== null), 'wrapReason: Expected "reason" to be a (possibly cloned) Error.' ); - } - if (typeof reason !== "object" || reason === null) { - return reason; + } else { + if (typeof reason !== "object" || reason === null) { + return reason; + } } switch (reason.name) { case "AbortException": diff --git a/web/app.js b/web/app.js index 57c647e9d..efea545c2 100644 --- a/web/app.js +++ b/web/app.js @@ -577,7 +577,7 @@ const PDFViewerApplication = { initPassiveLoading() { if ( typeof PDFJSDev === "undefined" || - !PDFJSDev.test("FIREFOX || MOZCENTRAL || CHROME") + !PDFJSDev.test("MOZCENTRAL || CHROME") ) { throw new Error("Not implemented: initPassiveLoading"); } @@ -730,10 +730,7 @@ const PDFViewerApplication = { if (key === "docBaseUrl" && !value) { if (typeof PDFJSDev === "undefined" || !PDFJSDev.test("PRODUCTION")) { value = document.URL.split("#")[0]; - } else if ( - typeof PDFJSDev !== "undefined" && - PDFJSDev.test("FIREFOX || MOZCENTRAL || CHROME") - ) { + } else if (PDFJSDev.test("MOZCENTRAL || CHROME")) { value = this.baseUrl; } } @@ -926,10 +923,7 @@ const PDFViewerApplication = { } } - if ( - typeof PDFJSDev === "undefined" || - !PDFJSDev.test("FIREFOX || MOZCENTRAL") - ) { + if (typeof PDFJSDev === "undefined" || !PDFJSDev.test("MOZCENTRAL")) { const errorWrapperConfig = this.appConfig.errorWrapper; const errorWrapper = errorWrapperConfig.container; errorWrapper.removeAttribute("hidden"); @@ -1044,7 +1038,7 @@ const PDFViewerApplication = { let baseDocumentUrl; if (typeof PDFJSDev === "undefined" || PDFJSDev.test("GENERIC")) { baseDocumentUrl = null; - } else if (PDFJSDev.test("FIREFOX || MOZCENTRAL")) { + } else if (PDFJSDev.test("MOZCENTRAL")) { baseDocumentUrl = this.baseUrl; } else if (PDFJSDev.test("CHROME")) { baseDocumentUrl = location.href.split("#")[0]; @@ -1808,7 +1802,7 @@ function webViewerInitialized() { const params = parseQueryString(queryString); file = "file" in params ? params.file : AppOptions.get("defaultUrl"); validateFileURL(file); - } else if (PDFJSDev.test("FIREFOX || MOZCENTRAL")) { + } else if (PDFJSDev.test("MOZCENTRAL")) { file = window.location.href.split("#")[0]; } else if (PDFJSDev.test("CHROME")) { file = AppOptions.get("defaultUrl"); @@ -1942,7 +1936,7 @@ if (typeof PDFJSDev === "undefined" || PDFJSDev.test("GENERIC")) { PDFViewerApplication.open(file); } }; -} else if (PDFJSDev.test("FIREFOX || MOZCENTRAL || CHROME")) { +} else if (PDFJSDev.test("MOZCENTRAL || CHROME")) { webViewerOpenFileViaURL = function webViewerOpenFileViaURL(file) { PDFViewerApplication.setTitleUsingUrl(file); PDFViewerApplication.initPassiveLoading(); @@ -2520,10 +2514,7 @@ function webViewerKeyDown(evt) { } } - if ( - typeof PDFJSDev === "undefined" || - !PDFJSDev.test("FIREFOX || MOZCENTRAL") - ) { + if (typeof PDFJSDev === "undefined" || !PDFJSDev.test("MOZCENTRAL")) { // CTRL or META without shift if (cmd === 1 || cmd === 8) { switch (evt.keyCode) { diff --git a/web/firefoxcom.js b/web/firefoxcom.js index bd00ac446..75e55a2db 100644 --- a/web/firefoxcom.js +++ b/web/firefoxcom.js @@ -19,13 +19,9 @@ import { DefaultExternalServices, PDFViewerApplication } from "./app.js"; import { BasePreferences } from "./preferences.js"; import { DEFAULT_SCALE_VALUE } from "./ui_utils.js"; -if ( - typeof PDFJSDev === "undefined" || - !PDFJSDev.test("FIREFOX || MOZCENTRAL") -) { +if (typeof PDFJSDev === "undefined" || !PDFJSDev.test("MOZCENTRAL")) { throw new Error( - 'Module "pdfjs-web/firefoxcom" shall not be used outside ' + - "FIREFOX and MOZCENTRAL builds." + 'Module "./firefoxcom.js" shall not be used outside MOZCENTRAL builds.' ); } diff --git a/web/pdf_attachment_viewer.js b/web/pdf_attachment_viewer.js index 61b11a238..a7e6a2411 100644 --- a/web/pdf_attachment_viewer.js +++ b/web/pdf_attachment_viewer.js @@ -100,7 +100,7 @@ class PDFAttachmentViewer { chrome.runtime.getURL("/content/web/viewer.html") + "?file=" + encodeURIComponent(blobUrl + "#" + filename); - } else if (PDFJSDev.test("FIREFOX || MOZCENTRAL")) { + } else if (PDFJSDev.test("MOZCENTRAL")) { // Let Firefox's content handler catch the URL and display the PDF. viewerUrl = blobUrl + "?" + encodeURIComponent(filename); } diff --git a/web/pdf_page_view.js b/web/pdf_page_view.js index 856f5bb4c..7dd696f93 100644 --- a/web/pdf_page_view.js +++ b/web/pdf_page_view.js @@ -581,7 +581,7 @@ class PDFPageView { if ( typeof PDFJSDev === "undefined" || - PDFJSDev.test("MOZCENTRAL || FIREFOX || GENERIC") + PDFJSDev.test("MOZCENTRAL || GENERIC") ) { canvas.mozOpaque = true; } @@ -658,7 +658,7 @@ class PDFPageView { paintOnSvg(wrapper) { if ( typeof PDFJSDev !== "undefined" && - PDFJSDev.test("FIREFOX || MOZCENTRAL || CHROME") + PDFJSDev.test("MOZCENTRAL || CHROME") ) { // Return a mock object, to prevent errors such as e.g. // "TypeError: paintTask.promise is undefined". diff --git a/web/pdf_presentation_mode.js b/web/pdf_presentation_mode.js index b69ea7553..41bf8df57 100644 --- a/web/pdf_presentation_mode.js +++ b/web/pdf_presentation_mode.js @@ -471,10 +471,7 @@ class PDFPresentationMode { window.addEventListener("fullscreenchange", this.fullscreenChangeBind); window.addEventListener("mozfullscreenchange", this.fullscreenChangeBind); - if ( - typeof PDFJSDev === "undefined" || - !PDFJSDev.test("FIREFOX || MOZCENTRAL") - ) { + if (typeof PDFJSDev === "undefined" || !PDFJSDev.test("MOZCENTRAL")) { window.addEventListener( "webkitfullscreenchange", this.fullscreenChangeBind @@ -492,10 +489,7 @@ class PDFPresentationMode { "mozfullscreenchange", this.fullscreenChangeBind ); - if ( - typeof PDFJSDev === "undefined" || - !PDFJSDev.test("FIREFOX || MOZCENTRAL") - ) { + if (typeof PDFJSDev === "undefined" || !PDFJSDev.test("MOZCENTRAL")) { window.removeEventListener( "webkitfullscreenchange", this.fullscreenChangeBind diff --git a/web/pdf_thumbnail_view.js b/web/pdf_thumbnail_view.js index 6ab9be758..a2a5b95ce 100644 --- a/web/pdf_thumbnail_view.js +++ b/web/pdf_thumbnail_view.js @@ -54,7 +54,7 @@ const TempImageFactory = (function TempImageFactoryClosure() { // background ourselves. `_getPageDrawContext` uses CSS rules for this. if ( typeof PDFJSDev === "undefined" || - PDFJSDev.test("MOZCENTRAL || FIREFOX || GENERIC") + PDFJSDev.test("MOZCENTRAL || GENERIC") ) { tempCanvas.mozOpaque = true; } @@ -228,7 +228,7 @@ class PDFThumbnailView { if ( typeof PDFJSDev === "undefined" || - PDFJSDev.test("MOZCENTRAL || FIREFOX || GENERIC") + PDFJSDev.test("MOZCENTRAL || GENERIC") ) { canvas.mozOpaque = true; } diff --git a/web/text_layer_builder.js b/web/text_layer_builder.js index 9b8d11953..a7b5fb0e2 100644 --- a/web/text_layer_builder.js +++ b/web/text_layer_builder.js @@ -373,8 +373,7 @@ class TextLayerBuilder { if (this.enhanceTextSelection && this.textLayerRenderTask) { this.textLayerRenderTask.expandTextDivs(true); if ( - (typeof PDFJSDev === "undefined" || - !PDFJSDev.test("FIREFOX || MOZCENTRAL")) && + (typeof PDFJSDev === "undefined" || !PDFJSDev.test("MOZCENTRAL")) && expandDivsTimer ) { clearTimeout(expandDivsTimer); @@ -387,10 +386,7 @@ class TextLayerBuilder { if (!end) { return; } - if ( - typeof PDFJSDev === "undefined" || - !PDFJSDev.test("FIREFOX || MOZCENTRAL") - ) { + if (typeof PDFJSDev === "undefined" || !PDFJSDev.test("MOZCENTRAL")) { // On non-Firefox browsers, the selection will feel better if the height // of the `endOfContent` div is adjusted to start at mouse click // location. This avoids flickering when the selection moves up. @@ -414,10 +410,7 @@ class TextLayerBuilder { div.addEventListener("mouseup", () => { if (this.enhanceTextSelection && this.textLayerRenderTask) { - if ( - typeof PDFJSDev === "undefined" || - !PDFJSDev.test("FIREFOX || MOZCENTRAL") - ) { + if (typeof PDFJSDev === "undefined" || !PDFJSDev.test("MOZCENTRAL")) { expandDivsTimer = setTimeout(() => { if (this.textLayerRenderTask) { this.textLayerRenderTask.expandTextDivs(false); @@ -434,10 +427,7 @@ class TextLayerBuilder { if (!end) { return; } - if ( - typeof PDFJSDev === "undefined" || - !PDFJSDev.test("FIREFOX || MOZCENTRAL") - ) { + if (typeof PDFJSDev === "undefined" || !PDFJSDev.test("MOZCENTRAL")) { end.style.top = ""; } end.classList.remove("active"); diff --git a/web/ui_utils.js b/web/ui_utils.js index fd9c4e461..db12afa12 100644 --- a/web/ui_utils.js +++ b/web/ui_utils.js @@ -745,7 +745,7 @@ function waitOnEventOrTimeout({ target, name, delay = 0 }) { const animationStarted = new Promise(function(resolve) { if ( typeof PDFJSDev !== "undefined" && - PDFJSDev.test("LIB") && + PDFJSDev.test("LIB && TESTING") && typeof window === "undefined" ) { // Prevent "ReferenceError: window is not defined" errors when running the diff --git a/web/view_history.js b/web/view_history.js index e150d1e36..eb37673e1 100644 --- a/web/view_history.js +++ b/web/view_history.js @@ -21,8 +21,8 @@ const DEFAULT_VIEW_HISTORY_CACHE_SIZE = 20; * * The way that the view parameters are stored depends on how PDF.js is built, * for 'gulp ' the following cases exist: - * - FIREFOX or MOZCENTRAL - uses sessionStorage. - * - GENERIC or CHROME - uses localStorage, if it is available. + * - MOZCENTRAL - uses sessionStorage. + * - GENERIC or CHROME - uses localStorage, if it is available. */ class ViewHistory { constructor(fingerprint, cacheSize = DEFAULT_VIEW_HISTORY_CACHE_SIZE) { @@ -57,10 +57,7 @@ class ViewHistory { async _writeToStorage() { const databaseStr = JSON.stringify(this.database); - if ( - typeof PDFJSDev !== "undefined" && - PDFJSDev.test("FIREFOX || MOZCENTRAL") - ) { + if (typeof PDFJSDev !== "undefined" && PDFJSDev.test("MOZCENTRAL")) { sessionStorage.setItem("pdfjs.history", databaseStr); return; } @@ -68,10 +65,7 @@ class ViewHistory { } async _readFromStorage() { - if ( - typeof PDFJSDev !== "undefined" && - PDFJSDev.test("FIREFOX || MOZCENTRAL") - ) { + if (typeof PDFJSDev !== "undefined" && PDFJSDev.test("MOZCENTRAL")) { return sessionStorage.getItem("pdfjs.history"); } return localStorage.getItem("pdfjs.history"); diff --git a/web/viewer.html b/web/viewer.html index f2a284108..70d306adc 100644 --- a/web/viewer.html +++ b/web/viewer.html @@ -32,7 +32,7 @@ See https://github.com/adobe-type-tools/cmap-resources PDF.js viewer - + @@ -391,7 +391,7 @@ See https://github.com/adobe-type-tools/cmap-resources - +