Chromium Code Reviews| Index: cc/trees/layer_tree_host_impl.cc |
| diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc |
| index 3d134464edae5174c63c823f59a117e31be51dbf..a89df81ebc1a12fd8c09d5e3e56a242a2b70597b 100644 |
| --- a/cc/trees/layer_tree_host_impl.cc |
| +++ b/cc/trees/layer_tree_host_impl.cc |
| @@ -571,18 +571,6 @@ bool LayerTreeHostImpl::IsCurrentlyScrollingLayerAt( |
| return false; |
| } |
| -bool LayerTreeHostImpl::HaveWheelEventHandlersAt( |
| - const gfx::Point& viewport_point) { |
| - gfx::PointF device_viewport_point = gfx::ScalePoint( |
| - gfx::PointF(viewport_point), active_tree_->device_scale_factor()); |
| - |
| - LayerImpl* layer_impl = |
| - active_tree_->FindLayerWithWheelHandlerThatIsHitByPoint( |
| - device_viewport_point); |
| - |
| - return layer_impl != NULL; |
| -} |
| - |
| static LayerImpl* NextLayerInScrollOrder(LayerImpl* layer) { |
| if (layer->scroll_parent()) |
| return layer->scroll_parent(); |
| @@ -620,6 +608,38 @@ bool LayerTreeHostImpl::DoTouchEventsBlockScrollAt( |
| return layer_impl != NULL; |
| } |
| +uint32_t LayerTreeHostImpl::EffectiveWheelEventListenerPropertiesAt( |
| + const gfx::Point& viewport_point) { |
| + gfx::PointF device_viewport_point = gfx::ScalePoint( |
| + gfx::PointF(viewport_point), active_tree_->device_scale_factor()); |
| + |
| + LayerImpl* layer_impl = |
| + active_tree_->FindLayerThatIsHitByPoint(device_viewport_point); |
| + |
| + uint32_t result = EventListenerProperties::kNone; |
| + for (; layer_impl; layer_impl = NextLayerInScrollOrder(layer_impl)) { |
| + result |= layer_impl->wheel_event_properties(); |
| + } |
| + |
| + return result; |
| +} |
| + |
| +uint32_t LayerTreeHostImpl::EffectiveTouchEventListenerPropertiesAt( |
| + const gfx::Point& viewport_point) { |
| + gfx::PointF device_viewport_point = gfx::ScalePoint( |
| + gfx::PointF(viewport_point), active_tree_->device_scale_factor()); |
| + |
| + LayerImpl* layer_impl = |
| + active_tree_->FindLayerThatIsHitByPoint(device_viewport_point); |
| + |
| + uint32_t result = EventListenerProperties::kNone; |
|
tdresser
2016/01/26 16:34:37
Where is EventListenerProperties defined?
Could we
dtapuska
2016/01/26 16:53:15
Defined in dependent patch:
https://codereview.chr
tdresser
2016/01/26 18:45:42
What about something like:
struct EventListenerPro
dtapuska
2016/01/26 18:56:49
I think that limits the verbosity of the code. For
tdresser
2016/01/26 18:58:19
Good point.
SGTM
|
| + for (; layer_impl; layer_impl = NextLayerInScrollOrder(layer_impl)) { |
| + result |= layer_impl->touch_event_properties(); |
| + } |
| + |
| + return result; |
| +} |
| + |
| scoped_ptr<SwapPromiseMonitor> |
| LayerTreeHostImpl::CreateLatencyInfoSwapPromiseMonitor( |
| ui::LatencyInfo* latency) { |