| Index: cc/layers/layer_impl.cc
|
| diff --git a/cc/layers/layer_impl.cc b/cc/layers/layer_impl.cc
|
| index 708c8d28467ca6eb37ea56ad98485c1bf38cab44..485f54d0afb73048fe8420fc371dc7f8531efa56 100644
|
| --- a/cc/layers/layer_impl.cc
|
| +++ b/cc/layers/layer_impl.cc
|
| @@ -554,13 +554,19 @@ InputHandler::ScrollStatus LayerImpl::TryScroll(
|
| }
|
| }
|
|
|
| - if ((type == InputHandler::WHEEL || type == InputHandler::ANIMATED_WHEEL) &&
|
| - layer_tree_impl_->have_wheel_event_handlers()) {
|
| - TRACE_EVENT0("cc", "LayerImpl::tryScroll: Failed WheelEventHandlers");
|
| - scroll_status.thread = InputHandler::SCROLL_ON_MAIN_THREAD;
|
| - scroll_status.main_thread_scrolling_reasons =
|
| - MainThreadScrollingReason::kEventHandlers;
|
| - return scroll_status;
|
| + if (type == InputHandler::WHEEL || type == InputHandler::ANIMATED_WHEEL) {
|
| + EventListenerProperties event_properties =
|
| + layer_tree_impl_->event_listener_properties(
|
| + EventListenerClass::kMouseWheel);
|
| + if (event_properties == EventListenerProperties::kBlocking ||
|
| + (!layer_tree_impl_->settings().use_mouse_wheel_gestures &&
|
| + event_properties == EventListenerProperties::kPassive)) {
|
| + TRACE_EVENT0("cc", "LayerImpl::tryScroll: Failed WheelEventHandlers");
|
| + scroll_status.thread = InputHandler::SCROLL_ON_MAIN_THREAD;
|
| + scroll_status.main_thread_scrolling_reasons =
|
| + MainThreadScrollingReason::kEventHandlers;
|
| + return scroll_status;
|
| + }
|
| }
|
|
|
| if (!scrollable()) {
|
|
|