| 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 d33bc071c19154d554fab3271911b395dd7b9702..8f70a71e59db8c4593a071fac63292299d610edc 100644
|
| --- a/cc/trees/layer_tree_host_impl.cc
|
| +++ b/cc/trees/layer_tree_host_impl.cc
|
| @@ -1660,7 +1660,6 @@ bool LayerTreeHostImpl::DrawLayers(FrameData* frame) {
|
| }
|
| }
|
|
|
| -
|
| CompositorFrame compositor_frame;
|
| compositor_frame.metadata = std::move(metadata);
|
| resource_provider_->PrepareSendToParent(resources,
|
| @@ -3230,7 +3229,8 @@ void LayerTreeHostImpl::MouseUp() {
|
| }
|
|
|
| void LayerTreeHostImpl::MouseMoveAt(const gfx::Point& viewport_point) {
|
| - float distance_to_scrollbar = std::numeric_limits<float>::max();
|
| + std::vector<ScrollbarAnimationController::DistanceToScrollbar>
|
| + distance_to_scrollbars;
|
| gfx::PointF device_viewport_point = gfx::ScalePoint(
|
| gfx::PointF(viewport_point), active_tree_->device_scale_factor());
|
| LayerImpl* layer_impl =
|
| @@ -3243,10 +3243,7 @@ void LayerTreeHostImpl::MouseMoveAt(const gfx::Point& viewport_point) {
|
| int new_id = Layer::INVALID_ID;
|
| if (layer_impl && layer_impl->ToScrollbarLayer())
|
| new_id = layer_impl->ToScrollbarLayer()->ScrollLayerId();
|
| - if (new_id != Layer::INVALID_ID) {
|
| - // Mouse over a scrollbar.
|
| - distance_to_scrollbar = 0;
|
| - } else {
|
| + if (new_id == Layer::INVALID_ID) {
|
| bool scroll_on_main_thread = false;
|
| uint32_t main_thread_scrolling_reasons;
|
| LayerImpl* scroll_layer_impl = FindScrollLayerForDeviceViewportPoint(
|
| @@ -3275,12 +3272,13 @@ void LayerTreeHostImpl::MouseMoveAt(const gfx::Point& viewport_point) {
|
| if (!new_animation_controller)
|
| return;
|
|
|
| - for (ScrollbarLayerImplBase* scrollbar : ScrollbarsFor(new_id))
|
| - distance_to_scrollbar =
|
| - std::min(distance_to_scrollbar,
|
| - DeviceSpaceDistanceToLayer(device_viewport_point, scrollbar));
|
| - new_animation_controller->DidMouseMoveNear(
|
| - distance_to_scrollbar / active_tree_->device_scale_factor());
|
| + for (ScrollbarLayerImplBase* scrollbar : ScrollbarsFor(new_id)) {
|
| + distance_to_scrollbars.push_back(
|
| + {scrollbar->orientation(),
|
| + DeviceSpaceDistanceToLayer(device_viewport_point, scrollbar) /
|
| + active_tree_->device_scale_factor()});
|
| + }
|
| + new_animation_controller->DidMouseMoveNear(distance_to_scrollbars);
|
| }
|
|
|
| void LayerTreeHostImpl::MouseLeave() {
|
|
|