Index: Source/core/input/EventHandler.cpp |
diff --git a/Source/core/input/EventHandler.cpp b/Source/core/input/EventHandler.cpp |
index 5c381756f32845f75b7aa33e1e2ec1183d90b871..12cdbb86401e965f0c1a71c5cbfca00333033208 100644 |
--- a/Source/core/input/EventHandler.cpp |
+++ b/Source/core/input/EventHandler.cpp |
@@ -188,21 +188,14 @@ |
while (curBox && !curBox->isLayoutView()) { |
Node* curNode = curBox->node(); |
// FIXME: this should reject more elements, as part of crbug.com/410974. |
- if (curNode && curNode->isElementNode()) { |
- Element* curElement = toElement(curNode); |
- if (curElement == frame.document()->scrollingElement()) |
- break; |
- scrollChain.prepend(curElement); |
- } |
+ if (curNode && curNode->isElementNode()) |
+ scrollChain.prepend(toElement(curNode)); |
curBox = curBox->containingBlock(); |
} |
- // TODO(tdresser): this should sometimes be excluded, as part of crbug.com/410974. |
- // We need to ensure that the scrollingElement is always part of |
- // the scroll chain. In quirks mode, when the scrollingElement is |
- // the body, some elements may use the documentElement as their |
- // containingBlock, so we ensure the scrollingElement is added |
- // here. |
- scrollChain.prepend(frame.document()->scrollingElement()); |
+ |
+ // FIXME: we should exclude the document in some cases, as part |
+ // of crbug.com/410974. |
+ scrollChain.prepend(frame.document()->documentElement()); |
} |
EventHandler::EventHandler(LocalFrame* frame) |
@@ -301,8 +294,9 @@ |
m_targetForTouchID.clear(); |
m_touchSequenceDocument.clear(); |
m_touchSequenceUserGestureToken.clear(); |
- clearGestureScrollState(); |
+ m_scrollGestureHandlingNode = nullptr; |
m_lastGestureScrollOverWidget = false; |
+ m_previousGestureScrolledNode = nullptr; |
m_scrollbarHandlingScrollGesture = nullptr; |
m_touchPressed = false; |
m_pointerIdManager.clear(); |