diff --git a/src/browser/base/content/ZenUIManager.mjs b/src/browser/base/content/ZenUIManager.mjs index 4cbc1dbf4e..1d85735a36 100644 --- a/src/browser/base/content/ZenUIManager.mjs +++ b/src/browser/base/content/ZenUIManager.mjs @@ -22,6 +22,8 @@ var gZenUIManager = { this.sidebarHeightThrottle ) ).observe(document.getElementById('navigator-toolbox')); + + window.addEventListener('TabClose', this.updateTabsToolbar.bind(this)); }, updateTabsToolbar() { diff --git a/src/browser/base/zen-components/ZenPinnedTabManager.mjs b/src/browser/base/zen-components/ZenPinnedTabManager.mjs index 0c0d49e79e..056ad76cad 100644 --- a/src/browser/base/zen-components/ZenPinnedTabManager.mjs +++ b/src/browser/base/zen-components/ZenPinnedTabManager.mjs @@ -572,6 +572,7 @@ gBrowser.pinTab(tab); this.onTabIconChanged(tab); } + gZenUIManager.updateTabsToolbar(); } removeEssentials() { @@ -584,6 +585,7 @@ } gBrowser.unpinTab(tab); } + gZenUIManager.updateTabsToolbar(); } _insertItemsIntoTabContextMenu() { diff --git a/src/toolkit/content/widgets/arrowscrollbox-js.patch b/src/toolkit/content/widgets/arrowscrollbox-js.patch index 5be08cc355..ebfbd2deca 100644 --- a/src/toolkit/content/widgets/arrowscrollbox-js.patch +++ b/src/toolkit/content/widgets/arrowscrollbox-js.patch @@ -1,19 +1,16 @@ diff --git a/toolkit/content/widgets/arrowscrollbox.js b/toolkit/content/widgets/arrowscrollbox.js -index 328c770d275ebbaada8a44438eaf738b1a62d985..c7d178295745ed975f5a3e5dea028dbeeece1704 100644 +index 328c770d275ebbaada8a44438eaf738b1a62d985..95460108c6356408170b8a4a40d55a8f0621756b 100644 --- a/toolkit/content/widgets/arrowscrollbox.js +++ b/toolkit/content/widgets/arrowscrollbox.js -@@ -121,8 +121,10 @@ - ); - }); - }); -+ if (this.id !== 'tabbrowser-arrowscrollbox') { - overflowObserver.observe(slot); - overflowObserver.observe(this.scrollbox); -+ } - } +@@ -98,6 +98,7 @@ - connectedCallback() { -@@ -639,7 +641,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.