| 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 5c872c0ef2cc04a65eaf42274ce5ee0c57b574ae..c34e08a18da0a8fd20871f5faf8cf53f18834ae7 100644
|
| --- a/content/renderer/input/main_thread_event_queue.cc
|
| +++ b/content/renderer/input/main_thread_event_queue.cc
|
| @@ -23,9 +23,14 @@ const size_t kTenSeconds = 10 * 1000 * 1000;
|
| bool isContinuousEvent(const std::unique_ptr<EventWithDispatchType>& event) {
|
| switch (event->event().type) {
|
| case blink::WebInputEvent::MouseMove:
|
| - case blink::WebInputEvent::TouchMove:
|
| 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;
|
| default:
|
| return false;
|
| }
|
|
|