From a527eb8c92f60f6580fea435b37142de895e2e2e Mon Sep 17 00:00:00 2001 From: gdh1995 Date: Wed, 25 Mar 2020 21:53:08 +0800 Subject: [PATCH] Add `passive: false` when removing wheel listeners Code of listening `wheel` event uses `{passive: false}`, while this argument will be treated as `true` before Firefox 49, accordin to https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Browser_compatibility . This commit adds it when removing wheel listeners, so that such listeners can be really removed. --- web/app.js | 2 +- web/pdf_presentation_mode.js | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/web/app.js b/web/app.js index 030ed6733..b1ebe23e1 100644 --- a/web/app.js +++ b/web/app.js @@ -1719,7 +1719,7 @@ const PDFViewerApplication = { const { _boundEvents } = this; window.removeEventListener("visibilitychange", webViewerVisibilityChange); - window.removeEventListener("wheel", webViewerWheel); + window.removeEventListener("wheel", webViewerWheel, { passive: false }); window.removeEventListener("click", webViewerClick); window.removeEventListener("keydown", webViewerKeyDown); window.removeEventListener("resize", _boundEvents.windowResize); diff --git a/web/pdf_presentation_mode.js b/web/pdf_presentation_mode.js index 91f7706b6..3797a5f82 100644 --- a/web/pdf_presentation_mode.js +++ b/web/pdf_presentation_mode.js @@ -437,7 +437,9 @@ class PDFPresentationMode { _removeWindowListeners() { window.removeEventListener("mousemove", this.showControlsBind); window.removeEventListener("mousedown", this.mouseDownBind); - window.removeEventListener("wheel", this.mouseWheelBind); + window.removeEventListener("wheel", this.mouseWheelBind, { + passive: false, + }); window.removeEventListener("keydown", this.resetMouseScrollStateBind); window.removeEventListener("contextmenu", this.contextMenuBind); window.removeEventListener("touchstart", this.touchSwipeBind);