Chromium Code Reviews| Index: third_party/WebKit/Source/core/input/EventHandler.cpp |
| diff --git a/third_party/WebKit/Source/core/input/EventHandler.cpp b/third_party/WebKit/Source/core/input/EventHandler.cpp |
| index 5310a5bd9647c2fa2c37b82be06fa5f3442b2cd0..5132547896a51230305dedbc9dbddd33e068fe07 100644 |
| --- a/third_party/WebKit/Source/core/input/EventHandler.cpp |
| +++ b/third_party/WebKit/Source/core/input/EventHandler.cpp |
| @@ -35,6 +35,7 @@ |
| #include "core/dom/DOMNodeIds.h" |
| #include "core/dom/Document.h" |
| #include "core/dom/DocumentUserGestureToken.h" |
| +#include "core/dom/TaskRunnerHelper.h" |
| #include "core/dom/TouchList.h" |
| #include "core/dom/shadow/FlatTreeTraversal.h" |
| #include "core/dom/shadow/ShadowRoot.h" |
| @@ -160,24 +161,31 @@ class OptionalCursor { |
| Cursor m_cursor; |
| }; |
| -EventHandler::EventHandler(LocalFrame* frame) |
| +EventHandler::EventHandler(LocalFrame& frame) |
| : m_frame(frame), |
| - m_selectionController(SelectionController::create(*frame)), |
| - m_hoverTimer(this, &EventHandler::hoverTimerFired), |
| - m_cursorUpdateTimer(this, &EventHandler::cursorUpdateTimerFired), |
| + m_selectionController(SelectionController::create(frame)), |
| + m_hoverTimer(TaskRunnerHelper::get(TaskType::UserInteraction, &frame), |
|
dcheng
2016/11/18 06:11:37
The spec doesn't say that this must happen on the
|
| + this, |
| + &EventHandler::hoverTimerFired), |
| + m_cursorUpdateTimer(TaskRunnerHelper::get(TaskType::Internal, &frame), |
|
dcheng
2016/11/18 06:11:37
On the other hand, cursor updates aren't really in
|
| + this, |
| + &EventHandler::cursorUpdateTimerFired), |
| m_eventHandlerWillResetCapturingMouseEventsNode(0), |
| m_shouldOnlyFireDragOverEvent(false), |
| m_scrollManager(new ScrollManager(frame)), |
| - m_mouseEventManager(new MouseEventManager(frame, m_scrollManager)), |
| - m_keyboardEventManager(new KeyboardEventManager(frame, m_scrollManager)), |
| + m_mouseEventManager(new MouseEventManager(frame, *m_scrollManager)), |
| + m_keyboardEventManager(new KeyboardEventManager(frame, *m_scrollManager)), |
| m_pointerEventManager( |
| - new PointerEventManager(frame, m_mouseEventManager)), |
| + new PointerEventManager(frame, *m_mouseEventManager)), |
| m_gestureManager(new GestureManager(frame, |
| - m_scrollManager, |
| - m_mouseEventManager, |
| - m_pointerEventManager, |
| - m_selectionController)), |
| - m_activeIntervalTimer(this, &EventHandler::activeIntervalTimerFired) {} |
| + *m_scrollManager, |
| + *m_mouseEventManager, |
| + *m_pointerEventManager, |
| + *m_selectionController)), |
| + m_activeIntervalTimer( |
| + TaskRunnerHelper::get(TaskType::UserInteraction, &frame), |
|
dcheng
2016/11/18 06:11:37
This is used when handling gesture events, so for
|
| + this, |
| + &EventHandler::activeIntervalTimerFired) {} |
| DEFINE_TRACE(EventHandler) { |
| visitor->trace(m_frame); |
| @@ -1913,7 +1921,6 @@ void EventHandler::resizeScrollableAreaDestroyed() { |
| void EventHandler::hoverTimerFired(TimerBase*) { |
| TRACE_EVENT0("input", "EventHandler::hoverTimerFired"); |
| - m_hoverTimer.stop(); |
| ASSERT(m_frame); |
| ASSERT(m_frame->document()); |
| @@ -1933,7 +1940,6 @@ void EventHandler::hoverTimerFired(TimerBase*) { |
| void EventHandler::activeIntervalTimerFired(TimerBase*) { |
| TRACE_EVENT0("input", "EventHandler::activeIntervalTimerFired"); |
| - m_activeIntervalTimer.stop(); |
| if (m_frame && m_frame->document() && m_lastDeferredTapElement) { |
| // FIXME: Enable condition when http://crbug.com/226842 lands |