| 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 e4ca7e4ade1acaefb01ef2afa74df021ac949934..d51724214bbb807c91345ef438b0ddacad95e016 100644
|
| --- a/cc/trees/layer_tree_host_impl.cc
|
| +++ b/cc/trees/layer_tree_host_impl.cc
|
| @@ -14,7 +14,6 @@
|
| #include "cc/animation/scrollbar_animation_controller.h"
|
| #include "cc/animation/timing_function.h"
|
| #include "cc/base/math_util.h"
|
| -#include "cc/base/thread.h"
|
| #include "cc/base/util.h"
|
| #include "cc/debug/debug_rect_history.h"
|
| #include "cc/debug/frame_rate_counter.h"
|
| @@ -767,6 +766,8 @@ void LayerTreeHostImpl::MainThreadHasStoppedFlinging() {
|
|
|
| void LayerTreeHostImpl::UpdateBackgroundAnimateTicking(
|
| bool should_background_tick) {
|
| + DCHECK(proxy_->IsImplThread());
|
| +
|
| bool enabled = should_background_tick &&
|
| !animation_registrar_->active_animation_controllers().empty();
|
|
|
| @@ -775,8 +776,10 @@ void LayerTreeHostImpl::UpdateBackgroundAnimateTicking(
|
| if (!time_source_client_adapter_) {
|
| time_source_client_adapter_ = LayerTreeHostImplTimeSourceAdapter::Create(
|
| this,
|
| - DelayBasedTimeSource::Create(LowFrequencyAnimationInterval(),
|
| - proxy_->CurrentThread()->TaskRunner()));
|
| + DelayBasedTimeSource::Create(
|
| + LowFrequencyAnimationInterval(),
|
| + proxy_->HasImplThread() ? proxy_->ImplThreadTaskRunner()
|
| + : proxy_->MainThreadTaskRunner()));
|
| }
|
|
|
| time_source_client_adapter_->SetActive(enabled);
|
| @@ -1518,7 +1521,7 @@ bool LayerTreeHostImpl::DoInitializeRenderer(
|
| settings_.refresh_rate);
|
|
|
| output_surface->InitializeBeginFrameEmulation(
|
| - proxy_->ImplThread() ? proxy_->ImplThread()->TaskRunner() : NULL,
|
| + proxy_->ImplThreadTaskRunner(),
|
| settings_.throttle_frame_production,
|
| display_refresh_interval);
|
| }
|
|
|