Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Unified Diff: Source/core/page/EventHandler.cpp

Issue 68303004: [oilpan] Move EventHandler to the heap (Closed) Base URL: svn://svn.chromium.org/blink/branches/oilpan
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/page/EventHandler.h ('k') | Source/core/page/Frame.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « Source/core/page/EventHandler.h ('k') | Source/core/page/Frame.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698