Bug 1348828 - Only prevent default behavior of scroll event if the tree is scrollable. r?gijs
MozReview-Commit-ID: HpxrZLsQ4mf
--- a/toolkit/content/widgets/tree.xml
+++ b/toolkit/content/widgets/tree.xml
@@ -712,31 +712,36 @@
}
]]>
</handler>
<handler event="touchend">
<![CDATA[
this._touchY = -1;
]]>
</handler>
- <handler event="MozMousePixelScroll" preventdefault="true"/>
- <handler event="DOMMouseScroll" preventdefault="true">
+ <handler event="DOMMouseScroll">
<![CDATA[
if (this._editingColumn)
return;
if (event.axis == event.HORIZONTAL_AXIS)
return;
+ var tree = document.getBindingParent(this);
+ if (tree.getAttribute("hidevscroll") == "true") {
+ return;
+ }
+
var rows = event.detail;
if (rows == UIEvent.SCROLL_PAGE_UP)
this.treeBoxObject.scrollByPages(-1);
else if (rows == UIEvent.SCROLL_PAGE_DOWN)
this.treeBoxObject.scrollByPages(1);
else
this.treeBoxObject.scrollByLines(rows);
+ event.preventDefault();
]]>
</handler>
<handler event="MozSwipeGesture" preventdefault="true">
<![CDATA[
// Figure out which row to show
let targetRow = 0;
// Only handle swipe gestures up and down