From 29c3b7bec5211aa4551880c60b55620372bfe0cc Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Sun, 15 Dec 2024 18:11:11 +0100 Subject: [PATCH] Disable touch-zooming, in the viewer, if `AbortSignal.any` is unsupported (PR 19216 follow-up) This way loading of the *entire* viewer won't break in older browsers that lack `AbortSignal.any` support; see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/any_static#browser_compatibility --- web/app.js | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/web/app.js b/web/app.js index 8aa1efe3602ea..109318be687f5 100644 --- a/web/app.js +++ b/web/app.js @@ -2045,14 +2045,19 @@ const PDFViewerApplication = { _windowAbortController: { signal }, } = this; - this._touchManager = new TouchManager({ - container: window, - isPinchingDisabled: () => this.pdfViewer.isInPresentationMode, - isPinchingStopped: () => this.overlayManager?.active, - onPinching: this.touchPinchCallback.bind(this), - onPinchEnd: this.touchPinchEndCallback.bind(this), - signal, - }); + if ( + (typeof PDFJSDev !== "undefined" && PDFJSDev.test("MOZCENTRAL")) || + typeof AbortSignal.any === "function" + ) { + this._touchManager = new TouchManager({ + container: window, + isPinchingDisabled: () => pdfViewer.isInPresentationMode, + isPinchingStopped: () => this.overlayManager?.active, + onPinching: this.touchPinchCallback.bind(this), + onPinchEnd: this.touchPinchEndCallback.bind(this), + signal, + }); + } function addWindowResolutionChange(evt = null) { if (evt) {