Index: content/renderer/input/main_thread_event_queue.cc |
diff --git a/content/renderer/input/main_thread_event_queue.cc b/content/renderer/input/main_thread_event_queue.cc |
index fe67fb2466804494a736e32a1b1aba62e2d960eb..b5fac30083d040a14165bf0e5ecc49c1c6295ec8 100644 |
--- a/content/renderer/input/main_thread_event_queue.cc |
+++ b/content/renderer/input/main_thread_event_queue.cc |
@@ -18,13 +18,8 @@ bool IsContinuousEvent(const std::unique_ptr<EventWithDispatchType>& event) { |
switch (event->event().type) { |
case blink::WebInputEvent::MouseMove: |
case blink::WebInputEvent::MouseWheel: |
- return true; |
case blink::WebInputEvent::TouchMove: |
- // TouchMoves that are blocking end up blocking scroll. Do not treat |
- // them as continuous events otherwise we will end up waiting up to an |
- // additional frame. |
- return static_cast<const blink::WebTouchEvent&>(event->event()) |
- .dispatchType != blink::WebInputEvent::Blocking; |
+ return true; |
default: |
return false; |
} |
@@ -125,11 +120,6 @@ bool MainThreadEventQueue::HandleEvent( |
} |
} |
- // If handling rAF aligned touch input ACK non-cancelable events right |
- // away. |
- if (!non_blocking && IsRafAlignedEvent(*touch_event)) |
- non_blocking = true; |
- |
if (enable_non_blocking_due_to_main_thread_responsiveness_flag_ && |
touch_event->dispatchType == blink::WebInputEvent::Blocking) { |
bool passive_due_to_unresponsive_main = |
@@ -140,7 +130,12 @@ bool MainThreadEventQueue::HandleEvent( |
non_blocking = true; |
} |
} |
+ // If the event is non-cancelable ACK it right away. |
+ if (!non_blocking && |
+ touch_event->dispatchType != blink::WebInputEvent::Blocking) |
+ non_blocking = true; |
} |
+ |
if (is_wheel && non_blocking) { |
// Adjust the |dispatchType| on the event since the compositor |
// determined all event listeners are passive. |
@@ -340,12 +335,7 @@ bool MainThreadEventQueue::IsRafAlignedEvent( |
case blink::WebInputEvent::MouseWheel: |
return handle_raf_aligned_mouse_input_; |
case blink::WebInputEvent::TouchMove: |
- // TouchMoves that are blocking end up blocking scroll. Do not treat |
- // them as continuous events otherwise we will end up waiting up to an |
- // additional frame. |
- return static_cast<const blink::WebTouchEvent&>(event).dispatchType != |
- blink::WebInputEvent::Blocking && |
- handle_raf_aligned_touch_input_; |
+ return handle_raf_aligned_touch_input_; |
default: |
return false; |
} |