| 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 02bcb10a9281ee8807dba6456e68dce48a44abb8..92f532f646cc7362885d8ea165288ce7ef68897a 100644
|
| --- a/cc/trees/layer_tree_host_impl.cc
|
| +++ b/cc/trees/layer_tree_host_impl.cc
|
| @@ -509,8 +509,8 @@ bool LayerTreeHostImpl::IsCurrentlyScrollingLayerAt(
|
| if (!scrolling_layer_impl)
|
| return false;
|
|
|
| - gfx::PointF device_viewport_point =
|
| - gfx::ScalePoint(viewport_point, active_tree_->device_scale_factor());
|
| + 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);
|
| @@ -538,8 +538,8 @@ bool LayerTreeHostImpl::IsCurrentlyScrollingLayerAt(
|
|
|
| bool LayerTreeHostImpl::HaveWheelEventHandlersAt(
|
| const gfx::Point& viewport_point) {
|
| - gfx::PointF device_viewport_point =
|
| - gfx::ScalePoint(viewport_point, active_tree_->device_scale_factor());
|
| + gfx::PointF device_viewport_point = gfx::ScalePoint(
|
| + gfx::PointF(viewport_point), active_tree_->device_scale_factor());
|
|
|
| LayerImpl* layer_impl =
|
| active_tree_->FindLayerWithWheelHandlerThatIsHitByPoint(
|
| @@ -565,8 +565,8 @@ static ScrollBlocksOn EffectiveScrollBlocksOn(LayerImpl* layer) {
|
|
|
| bool LayerTreeHostImpl::DoTouchEventsBlockScrollAt(
|
| const gfx::Point& viewport_point) {
|
| - gfx::PointF device_viewport_point =
|
| - gfx::ScalePoint(viewport_point, active_tree_->device_scale_factor());
|
| + gfx::PointF device_viewport_point = gfx::ScalePoint(
|
| + gfx::PointF(viewport_point), active_tree_->device_scale_factor());
|
|
|
| // First check if scrolling at this point is required to block on any
|
| // touch event handlers. Note that we must start at the innermost layer
|
| @@ -2426,8 +2426,8 @@ InputHandler::ScrollStatus LayerTreeHostImpl::ScrollBegin(
|
| DCHECK(!CurrentlyScrollingLayer());
|
| ClearCurrentlyScrollingLayer();
|
|
|
| - gfx::PointF device_viewport_point =
|
| - gfx::ScalePoint(viewport_point, active_tree_->device_scale_factor());
|
| + 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);
|
|
|
| @@ -2582,6 +2582,8 @@ static gfx::Vector2dF ScrollLayerWithLocalDelta(
|
| return consumed_scroll;
|
| }
|
|
|
| +// TODO(danakj): Make this into two functions, one with delta, one with
|
| +// viewport_point, no bool required.
|
| gfx::Vector2dF LayerTreeHostImpl::ScrollLayer(LayerImpl* layer_impl,
|
| const gfx::Vector2dF& delta,
|
| const gfx::Point& viewport_point,
|
| @@ -2593,8 +2595,10 @@ gfx::Vector2dF LayerTreeHostImpl::ScrollLayer(LayerImpl* layer_impl,
|
| // screen (such as wheel events) represent a fixed amount of scrolling so we
|
| // can just apply them directly, but the page scale factor is applied to the
|
| // scroll delta.
|
| - if (is_direct_manipulation)
|
| - return ScrollLayerWithViewportSpaceDelta(layer_impl, viewport_point, delta);
|
| + if (is_direct_manipulation) {
|
| + return ScrollLayerWithViewportSpaceDelta(
|
| + layer_impl, gfx::PointF(viewport_point), delta);
|
| + }
|
| float scale_factor = active_tree()->current_page_scale_factor();
|
| return ScrollLayerWithLocalDelta(layer_impl, delta, scale_factor);
|
| }
|
| @@ -2840,8 +2844,8 @@ float LayerTreeHostImpl::DeviceSpaceDistanceToLayer(
|
| }
|
|
|
| void LayerTreeHostImpl::MouseMoveAt(const gfx::Point& viewport_point) {
|
| - gfx::PointF device_viewport_point =
|
| - gfx::ScalePoint(viewport_point, active_tree_->device_scale_factor());
|
| + 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);
|
| if (HandleMouseOverScrollbar(layer_impl, device_viewport_point))
|
|
|