| 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 fce0b7982d0207ca0f0cdc3b77e978f7f6b8be96..abd51c1513b5ca90b7ab9112df2f4cb19eda5ceb 100644
|
| --- a/cc/trees/layer_tree_host_impl.cc
|
| +++ b/cc/trees/layer_tree_host_impl.cc
|
| @@ -240,7 +240,8 @@ LayerTreeHostImpl::LayerTreeHostImpl(
|
| id_(id),
|
| requires_high_res_to_draw_(false),
|
| is_likely_to_require_a_draw_(false),
|
| - mutator_(nullptr) {
|
| + mutator_(nullptr),
|
| + captured_scrollbar_layer_id_(Layer::INVALID_ID) {
|
| DCHECK(animation_host_);
|
| animation_host_->SetMutatorHostClient(this);
|
|
|
| @@ -3269,6 +3270,28 @@ float LayerTreeHostImpl::DeviceSpaceDistanceToLayer(
|
| device_viewport_point);
|
| }
|
|
|
| +void LayerTreeHostImpl::MouseDownAt(const gfx::Point& viewport_point) {
|
| + if (scroll_layer_id_when_mouse_over_scrollbar_ == Layer::INVALID_ID)
|
| + return;
|
| +
|
| + captured_scrollbar_layer_id_ = scroll_layer_id_when_mouse_over_scrollbar_;
|
| + ScrollbarAnimationController* animation_controller =
|
| + ScrollbarAnimationControllerForId(captured_scrollbar_layer_id_);
|
| + if (animation_controller)
|
| + animation_controller->DidCaptureScrollbarBegin();
|
| +}
|
| +
|
| +void LayerTreeHostImpl::MouseUp() {
|
| + if (captured_scrollbar_layer_id_ == Layer::INVALID_ID)
|
| + return;
|
| +
|
| + ScrollbarAnimationController* animation_controller =
|
| + ScrollbarAnimationControllerForId(captured_scrollbar_layer_id_);
|
| + if (animation_controller)
|
| + animation_controller->DidCaptureScrollbarEnd();
|
| + captured_scrollbar_layer_id_ = Layer::INVALID_ID;
|
| +}
|
| +
|
| void LayerTreeHostImpl::MouseMoveAt(const gfx::Point& viewport_point) {
|
| gfx::PointF device_viewport_point = gfx::ScalePoint(
|
| gfx::PointF(viewport_point), active_tree_->device_scale_factor());
|
|
|