Index: cc/layers/layer_impl.cc |
diff --git a/cc/layers/layer_impl.cc b/cc/layers/layer_impl.cc |
index 708c8d28467ca6eb37ea56ad98485c1bf38cab44..05f1eb11d7b05cf21275642af083591ae7855234 100644 |
--- a/cc/layers/layer_impl.cc |
+++ b/cc/layers/layer_impl.cc |
@@ -554,8 +554,14 @@ InputHandler::ScrollStatus LayerImpl::TryScroll( |
} |
} |
+ uint32_t event_mask = EventListenerProperties::kBlocking; |
+ if (!layer_tree_impl_->settings().use_mouse_wheel_gestures) |
+ event_mask |= EventListenerProperties::kPassive; |
+ |
if ((type == InputHandler::WHEEL || type == InputHandler::ANIMATED_WHEEL) && |
- layer_tree_impl_->have_wheel_event_handlers()) { |
+ (layer_tree_impl_->event_listener_properties( |
+ EventListenerClass::kMouseWheel) & |
+ event_mask) != EventListenerProperties::kNone) { |
TRACE_EVENT0("cc", "LayerImpl::tryScroll: Failed WheelEventHandlers"); |
scroll_status.thread = InputHandler::SCROLL_ON_MAIN_THREAD; |
scroll_status.main_thread_scrolling_reasons = |