| Index: content/renderer/input/input_handler_proxy.cc
|
| diff --git a/content/renderer/input/input_handler_proxy.cc b/content/renderer/input/input_handler_proxy.cc
|
| index 90df5cb70e82c70706586ec3e8b07a9baec07abf..1de0e86a489fbe53b99d5849606cc1745ce00875 100644
|
| --- a/content/renderer/input/input_handler_proxy.cc
|
| +++ b/content/renderer/input/input_handler_proxy.cc
|
| @@ -66,7 +66,9 @@ bool ShouldSuppressScrollForFlingBoosting(
|
| const gfx::Vector2dF& current_fling_velocity,
|
| const WebGestureEvent& scroll_update_event,
|
| double time_since_last_boost_event) {
|
| - DCHECK_EQ(WebInputEvent::GestureScrollUpdate, scroll_update_event.type);
|
| + DCHECK(WebInputEvent::GestureScrollUpdate == scroll_update_event.type ||
|
| + WebInputEvent::GestureScrollUpdateWithoutPropagation ==
|
| + scroll_update_event.type);
|
|
|
| gfx::Vector2dF dx(scroll_update_event.data.scrollUpdate.deltaX,
|
| scroll_update_event.data.scrollUpdate.deltaY);
|
| @@ -287,7 +289,9 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleInputEvent(
|
| NOTREACHED();
|
| break;
|
| }
|
| - } else if (event.type == WebInputEvent::GestureScrollUpdate) {
|
| + } else if (event.type == WebInputEvent::GestureScrollUpdate ||
|
| + event.type ==
|
| + WebInputEvent::GestureScrollUpdateWithoutPropagation) {
|
| #ifndef NDEBUG
|
| DCHECK(expect_scroll_update_end_);
|
| #endif
|
| @@ -510,6 +514,7 @@ bool InputHandlerProxy::FilterInputEventForFlingBoosting(
|
| ExtendBoostedFlingTimeout(gesture_event);
|
| return true;
|
|
|
| + case WebInputEvent::GestureScrollUpdateWithoutPropagation:
|
| case WebInputEvent::GestureScrollUpdate: {
|
| const double time_since_last_boost_event =
|
| event.timeStampSeconds - last_fling_boost_event_.timeStampSeconds;
|
| @@ -712,6 +717,8 @@ bool InputHandlerProxy::CancelCurrentFlingWithoutNotifyingClient() {
|
| WebGestureEvent last_fling_boost_event = last_fling_boost_event_;
|
| last_fling_boost_event_ = WebGestureEvent();
|
| if (last_fling_boost_event.type == WebInputEvent::GestureScrollBegin ||
|
| + last_fling_boost_event.type ==
|
| + WebInputEvent::GestureScrollUpdateWithoutPropagation ||
|
| last_fling_boost_event.type == WebInputEvent::GestureScrollUpdate) {
|
| // Synthesize a GestureScrollBegin, as the original was suppressed.
|
| HandleInputEvent(ObtainGestureScrollBegin(last_fling_boost_event));
|
|
|