diff --git a/src/toolkit/content/widgets/arrowscrollbox-js.patch b/src/toolkit/content/widgets/arrowscrollbox-js.patch index 2c623529d..669f1b62e 100644 --- a/src/toolkit/content/widgets/arrowscrollbox-js.patch +++ b/src/toolkit/content/widgets/arrowscrollbox-js.patch @@ -1,12 +1,20 @@ diff --git a/toolkit/content/widgets/arrowscrollbox.js b/toolkit/content/widgets/arrowscrollbox.js -index 0b81a2bf5a0e1d745623f9b72fbe57254c1b16dd..f49ad7cb08f5d2be4a03046c191361f8c8a004bc 100644 +index f9191af09f1b7a1654aff62807e7dad573afc172..f49ad7cb08f5d2be4a03046c191361f8c8a004bc 100644 --- a/toolkit/content/widgets/arrowscrollbox.js +++ b/toolkit/content/widgets/arrowscrollbox.js -@@ -640,7 +640,7 @@ +@@ -98,6 +98,7 @@ + + let slot = this.shadowRoot.querySelector("slot"); + let overflowObserver = new ResizeObserver(_ => { ++ if (this.id == 'tabbrowser-arrowscrollbox') return; // zen: do NOT underflow/overflow on tabbrowser-arrowscrollbox + let contentSize = + slot.getBoundingClientRect()[this.#verticalMode ? "height" : "width"]; + // NOTE(emilio): This should be contentSize > scrollClientSize, but due +@@ -639,7 +640,7 @@ on_wheel(event) { // Don't consume the event if we can't scroll. -- if (!this.overflowing || this.id === 'tabbrowser-arrowscrollbox' || (event.deltaY == 0 && this.classList.contains('workspace-arrowscrollbox'))) { +- if (!this.overflowing) { + if (!this.overflowing || this.id === 'tabbrowser-arrowscrollbox' || ((event.deltaY == 0 || gZenWorkspaces._swipeState?.isGestureActive) && this.classList.contains('workspace-arrowscrollbox'))) { return; }