Chromium Code Reviews| Index: Source/core/page/EventHandler.cpp |
| diff --git a/Source/core/page/EventHandler.cpp b/Source/core/page/EventHandler.cpp |
| index a2b496fd310859ff0c1de523d186a44af69d7f01..08fad34d180c0f8e33b04c58c2acab115d353aed 100644 |
| --- a/Source/core/page/EventHandler.cpp |
| +++ b/Source/core/page/EventHandler.cpp |
| @@ -206,8 +206,12 @@ void recomputeScrollChain(const LocalFrame& frame, const Node& startNode, |
| while (curBox && !curBox->isLayoutView()) { |
| Node* curNode = curBox->node(); |
| // FIXME: this should reject more elements, as part of crbug.com/410974. |
| - if (curNode && curNode->isElementNode()) |
| - scrollChain.prepend(toElement(curNode)); |
| + if (curNode && curNode->isElementNode()) { |
| + Element* curElement = toElement(curNode); |
| + if (curElement == frame.document()->documentElement()) |
|
Rick Byers
2015/04/10 14:51:44
why doesn't the documentElement get put on the scr
tdresser
2015/05/08 18:23:02
I've clarified this in a comment. This only matter
|
| + break; |
| + scrollChain.prepend(curElement); |
| + } |
| curBox = curBox->containingBlock(); |
| } |
| @@ -311,9 +315,8 @@ void EventHandler::clear() |
| m_targetForTouchID.clear(); |
| m_touchSequenceDocument.clear(); |
| m_touchSequenceUserGestureToken.clear(); |
| - m_scrollGestureHandlingNode = nullptr; |
| + clearGestureScrollState(); |
| m_lastGestureScrollOverWidget = false; |
| - m_previousGestureScrolledNode = nullptr; |
| m_scrollbarHandlingScrollGesture = nullptr; |
| m_maxMouseMovedDuration = 0; |
| m_touchPressed = false; |
| @@ -2604,7 +2607,7 @@ bool EventHandler::handleGestureScrollEnd(const PlatformGestureEvent& gestureEve |
| } |
| } |
| - clearGestureScrollNodes(); |
| + clearGestureScrollState(); |
| return false; |
| } |
| @@ -2731,7 +2734,7 @@ bool EventHandler::handleGestureScrollUpdate(const PlatformGestureEvent& gesture |
| return false; |
| } |
| -void EventHandler::clearGestureScrollNodes() |
| +void EventHandler::clearGestureScrollState() |
| { |
| m_scrollGestureHandlingNode = nullptr; |
| m_previousGestureScrolledNode = nullptr; |