| Index: Source/core/page/EventHandler.cpp
|
| diff --git a/Source/core/page/EventHandler.cpp b/Source/core/page/EventHandler.cpp
|
| index 09a9245b32e5bfe8025e4b12bc9ee988429905c1..1ffe4a11f6f758d063d67f8eaec353a72147b1b0 100644
|
| --- a/Source/core/page/EventHandler.cpp
|
| +++ b/Source/core/page/EventHandler.cpp
|
| @@ -111,6 +111,8 @@
|
|
|
| namespace WebCore {
|
|
|
| +DEFINE_GC_MAP(EventHandler);
|
| +
|
| using namespace HTMLNames;
|
|
|
| // The link drag hysteresis is much larger than the others because there
|
| @@ -361,7 +363,7 @@ void EventHandler::clear()
|
| m_capturingMouseEventsNode = nullptr;
|
| m_latchedWheelEventNode = nullptr;
|
| m_previousWheelScrolledNode = nullptr;
|
| - m_originatingTouchPointTargets->clear();
|
| + m_originatingTouchPointTargets.clear();
|
| m_originatingTouchPointDocument.clear();
|
| m_originatingTouchPointTargetKey = 0;
|
| m_scrollGestureHandlingNode = nullptr;
|
| @@ -3772,7 +3774,7 @@ bool EventHandler::handleTouchEvent(const PlatformTouchEvent& event)
|
| continue;
|
| if (!doc->hasTouchEventHandlers())
|
| continue;
|
| - m_originatingTouchPointTargets->set(touchPointTargetKey, node);
|
| + m_originatingTouchPointTargets.set(touchPointTargetKey, node);
|
| touchTarget = node;
|
| } else if (pointState == PlatformTouchPoint::TouchReleased || pointState == PlatformTouchPoint::TouchCancelled) {
|
| // We only perform a hittest on release or cancel to unset :active or :hover state.
|
| @@ -3785,10 +3787,10 @@ bool EventHandler::handleTouchEvent(const PlatformTouchEvent& event)
|
| }
|
| // The target should be the original target for this touch, so get it from the hashmap. As it's a release or cancel
|
| // we also remove it from the map.
|
| - touchTarget = m_originatingTouchPointTargets->take(touchPointTargetKey);
|
| + touchTarget = m_originatingTouchPointTargets.take(touchPointTargetKey);
|
| } else
|
| // No hittest is performed on move or stationary, since the target is not allowed to change anyway.
|
| - touchTarget = m_originatingTouchPointTargets->get(touchPointTargetKey);
|
| + touchTarget = m_originatingTouchPointTargets.get(touchPointTargetKey);
|
|
|
| if (!touchTarget)
|
| continue;
|
| @@ -4009,4 +4011,21 @@ unsigned EventHandler::accessKeyModifiers()
|
| #endif
|
| }
|
|
|
| +void EventHandler::accept(Visitor* visitor) const
|
| +{
|
| + visitor->visit(m_mousePressNode);
|
| + visitor->visit(m_capturingMouseEventsNode);
|
| + visitor->visit(m_nodeUnderMouse);
|
| + visitor->visit(m_lastNodeUnderMouse);
|
| + visitor->visit(m_clickNode);
|
| + visitor->visit(m_dragTarget);
|
| + visitor->visit(m_frameSetBeingResized);
|
| + visitor->visit(m_latchedWheelEventNode);
|
| + visitor->visit(m_previousWheelScrolledNode);
|
| + visitor->visit(m_originatingTouchPointDocument);
|
| + visitor->visit(m_scrollGestureHandlingNode);
|
| + visitor->visit(m_previousGestureScrolledNode);
|
| + visitor->visit(m_originatingTouchPointTargets);
|
| +}
|
| +
|
| } // namespace WebCore
|
|
|