Bug 1349750 - Add HitTestingTreeNode::IsScrollThumbNode(). r=kats
MozReview-Commit-ID: GMKg3akA9qp
--- a/gfx/layers/apz/src/HitTestingTreeNode.cpp
+++ b/gfx/layers/apz/src/HitTestingTreeNode.cpp
@@ -108,19 +108,25 @@ HitTestingTreeNode::MatchesScrollDragMet
return ((mScrollThumbData.mDirection == ScrollDirection::HORIZONTAL &&
aDragMetrics.mDirection == AsyncDragMetrics::HORIZONTAL) ||
(mScrollThumbData.mDirection == ScrollDirection::VERTICAL &&
aDragMetrics.mDirection == AsyncDragMetrics::VERTICAL)) &&
mScrollViewId == aDragMetrics.mViewId;
}
bool
+HitTestingTreeNode::IsScrollThumbNode() const
+{
+ return mScrollThumbData.mDirection != ScrollDirection::NONE;
+}
+
+bool
HitTestingTreeNode::IsScrollbarNode() const
{
- return mIsScrollbarContainer || (mScrollThumbData.mDirection != ScrollDirection::NONE);
+ return mIsScrollbarContainer || IsScrollThumbNode();
}
FrameMetrics::ViewID
HitTestingTreeNode::GetScrollTargetId() const
{
return mScrollViewId;
}
--- a/gfx/layers/apz/src/HitTestingTreeNode.h
+++ b/gfx/layers/apz/src/HitTestingTreeNode.h
@@ -90,17 +90,18 @@ public:
bool IsOutsideClip(const ParentLayerPoint& aPoint) const;
/* Scrollbar info */
void SetScrollbarData(FrameMetrics::ViewID aScrollViewId,
const ScrollThumbData& aThumbData,
bool aIsScrollContainer);
bool MatchesScrollDragMetrics(const AsyncDragMetrics& aDragMetrics) const;
- bool IsScrollbarNode() const;
+ bool IsScrollbarNode() const; // Scroll thumb or scrollbar container layer.
+ bool IsScrollThumbNode() const; // Scroll thumb container layer.
FrameMetrics::ViewID GetScrollTargetId() const;
const ScrollThumbData& GetScrollThumbData() const;
/* Fixed pos info */
void SetFixedPosData(FrameMetrics::ViewID aFixedPosTarget);
FrameMetrics::ViewID GetFixedPosTarget() const;