| 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 719bc0e4d50e9512ca85ec5bc9a26b382bfe9df4..fa6664a6623ecaaac1e6ceefb598bbc500da7b55 100644
|
| --- a/cc/trees/layer_tree_host_impl.cc
|
| +++ b/cc/trees/layer_tree_host_impl.cc
|
| @@ -159,6 +159,7 @@ LayerTreeHostImpl::LayerTreeHostImpl(
|
| RenderingStatsInstrumentation* rendering_stats_instrumentation)
|
| : client_(client),
|
| proxy_(proxy),
|
| + input_handler_client_(NULL),
|
| did_lock_scrolling_layer_(false),
|
| should_bubble_scrolls_(false),
|
| wheel_scrolling_(false),
|
| @@ -210,6 +211,11 @@ LayerTreeHostImpl::~LayerTreeHostImpl() {
|
| TRACE_EVENT_OBJECT_DELETED_WITH_ID(
|
| TRACE_DISABLED_BY_DEFAULT("cc.debug"), "cc::LayerTreeHostImpl", this);
|
|
|
| + if (input_handler_client_) {
|
| + input_handler_client_->WillShutdown();
|
| + input_handler_client_ = NULL;
|
| + }
|
| +
|
| if (active_tree_->root_layer()) {
|
| ClearRenderSurfaces();
|
| // The layer trees must be destroyed before the layer tree host. We've
|
| @@ -277,6 +283,8 @@ bool LayerTreeHostImpl::CanDraw() {
|
|
|
| void LayerTreeHostImpl::Animate(base::TimeTicks monotonic_time,
|
| base::Time wall_clock_time) {
|
| + if (input_handler_client_)
|
| + input_handler_client_->Animate(monotonic_time);
|
| AnimatePageScale(monotonic_time);
|
| AnimateLayers(monotonic_time, wall_clock_time);
|
| AnimateScrollbars(monotonic_time);
|
| @@ -723,6 +731,11 @@ bool LayerTreeHostImpl::CalculateRenderPasses(FrameData* frame) {
|
| return draw_frame;
|
| }
|
|
|
| +void LayerTreeHostImpl::MainThreadHasStoppedFlinging() {
|
| + if (input_handler_client_)
|
| + input_handler_client_->MainThreadHasStoppedFlinging();
|
| +}
|
| +
|
| void LayerTreeHostImpl::UpdateBackgroundAnimateTicking(
|
| bool should_background_tick) {
|
| bool enabled = should_background_tick &&
|
| @@ -1489,6 +1502,11 @@ bool LayerTreeHostImpl::EnsureRenderSurfaceLayerList() {
|
| return !active_tree_->RenderSurfaceLayerList().empty();
|
| }
|
|
|
| +void LayerTreeHostImpl::BindToClient(InputHandlerClient* client) {
|
| + DCHECK(input_handler_client_ == NULL);
|
| + input_handler_client_ = client;
|
| +}
|
| +
|
| InputHandler::ScrollStatus LayerTreeHostImpl::ScrollBegin(
|
| gfx::Point viewport_point, InputHandler::ScrollInputType type) {
|
| TRACE_EVENT0("cc", "LayerTreeHostImpl::ScrollBegin");
|
|
|