Bug 1354781 - Filter scrollbox overflow and underflow events more accurately. r?florian
MozReview-Commit-ID: 6GJjO89q2s2
--- a/browser/base/content/tabbrowser.xml
+++ b/browser/base/content/tabbrowser.xml
@@ -5609,39 +5609,41 @@
}
return [tabStart, tabEnd];
]]></body>
</method>
</implementation>
<handlers>
<handler event="underflow" phase="capturing"><![CDATA[
- if (event.target != this)
+ if (event.originalTarget != this._scrollbox)
return;
+ // Ignore vertical events
if (event.detail == 0)
- return; // Ignore vertical events
+ return;
var tabs = document.getBindingParent(this);
tabs.removeAttribute("overflow");
if (tabs._lastTabClosedByMouse)
tabs._expandSpacerBy(this._scrollButtonDown.clientWidth);
for (let tab of Array.from(tabs.tabbrowser._removingTabs))
tabs.tabbrowser.removeTab(tab);
tabs._positionPinnedTabs();
]]></handler>
<handler event="overflow"><![CDATA[
- if (event.target != this)
+ if (event.originalTarget != this._scrollbox)
return;
+ // Ignore vertical events
if (event.detail == 0)
- return; // Ignore vertical events
+ return;
var tabs = document.getBindingParent(this);
tabs.setAttribute("overflow", "true");
tabs._positionPinnedTabs();
tabs._handleTabSelect(false);
]]></handler>
</handlers>
</binding>