| Index: content/renderer/gpu/render_widget_compositor.cc
|
| diff --git a/content/renderer/gpu/render_widget_compositor.cc b/content/renderer/gpu/render_widget_compositor.cc
|
| index 478ebec86d56cf2317f350919ac112654602ec3d..4f62426e643ac05260df6747cc910aa9db744ef6 100644
|
| --- a/content/renderer/gpu/render_widget_compositor.cc
|
| +++ b/content/renderer/gpu/render_widget_compositor.cc
|
| @@ -829,7 +829,7 @@ void RenderWidgetCompositor::setEventListenerProperties(
|
| static_cast<cc::EventListenerProperties>(properties));
|
| }
|
|
|
| -void RenderWidgetCompositor::updateTouchRectsForSubframeIfNecessary() {
|
| +void RenderWidgetCompositor::updateEventRectsForSubframeIfNecessary() {
|
| if (!is_for_oopif_)
|
| return;
|
|
|
| @@ -841,9 +841,9 @@ void RenderWidgetCompositor::updateTouchRectsForSubframeIfNecessary() {
|
| using blink::WebEventListenerProperties;
|
| using blink::WebEventListenerClass;
|
|
|
| - blink::WebEventListenerProperties touch_start_properties =
|
| + WebEventListenerProperties touch_start_properties =
|
| eventListenerProperties(WebEventListenerClass::TouchStartOrMove);
|
| - blink::WebEventListenerProperties touch_end_cancel_properties =
|
| + WebEventListenerProperties touch_end_cancel_properties =
|
| eventListenerProperties(WebEventListenerClass::TouchEndOrCancel);
|
| bool has_touch_handlers =
|
| touch_start_properties == WebEventListenerProperties::Blocking ||
|
| @@ -853,11 +853,22 @@ void RenderWidgetCompositor::updateTouchRectsForSubframeIfNecessary() {
|
| touch_end_cancel_properties ==
|
| WebEventListenerProperties::BlockingAndPassive;
|
|
|
| + WebEventListenerProperties wheel_event_properties =
|
| + eventListenerProperties(WebEventListenerClass::MouseWheel);
|
| + bool has_wheel_handlers =
|
| + wheel_event_properties == WebEventListenerProperties::Blocking ||
|
| + wheel_event_properties == WebEventListenerProperties::BlockingAndPassive;
|
| +
|
| cc::Layer* root_layer = layer_tree_host_->root_layer();
|
| cc::Region touch_handler_region;
|
| if (has_touch_handlers)
|
| touch_handler_region = gfx::Rect(gfx::Point(), root_layer->bounds());
|
| root_layer->SetTouchEventHandlerRegion(touch_handler_region);
|
| +
|
| + cc::Region wheel_handler_region;
|
| + if (has_wheel_handlers)
|
| + wheel_handler_region = gfx::Rect(gfx::Point(), root_layer->bounds());
|
| + root_layer->SetNonFastScrollableRegion(wheel_handler_region);
|
| }
|
|
|
| blink::WebEventListenerProperties
|
|
|