| 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 219ea891051ebbc651e95f2f6438fbb9f9621096..9a00aec884da963e9eb5fbca4b7701a8e8ef2072 100644
|
| --- a/cc/trees/layer_tree_host_impl.cc
|
| +++ b/cc/trees/layer_tree_host_impl.cc
|
| @@ -119,77 +119,6 @@ unsigned GetMapImageTextureTarget(cc::ContextProvider* context_provider) {
|
|
|
| namespace cc {
|
|
|
| -class LayerTreeHostImplTimeSourceAdapter : public TimeSourceClient {
|
| - public:
|
| - static scoped_ptr<LayerTreeHostImplTimeSourceAdapter> Create(
|
| - LayerTreeHostImpl* layer_tree_host_impl,
|
| - scoped_refptr<DelayBasedTimeSource> time_source) {
|
| - return make_scoped_ptr(
|
| - new LayerTreeHostImplTimeSourceAdapter(layer_tree_host_impl,
|
| - time_source));
|
| - }
|
| - virtual ~LayerTreeHostImplTimeSourceAdapter() {
|
| - time_source_->SetClient(NULL);
|
| - time_source_->SetActive(false);
|
| - }
|
| -
|
| - virtual void OnTimerTick() OVERRIDE {
|
| - // In single threaded mode we attempt to simulate changing the current
|
| - // thread by maintaining a fake thread id. When we switch from one
|
| - // thread to another, we construct DebugScopedSetXXXThread objects that
|
| - // update the thread id. This lets DCHECKS that ensure we're on the
|
| - // right thread to work correctly in single threaded mode. The problem
|
| - // here is that the timer tasks are run via the message loop, and when
|
| - // they run, we've had no chance to construct a DebugScopedSetXXXThread
|
| - // object. The result is that we report that we're running on the main
|
| - // thread. In multi-threaded mode, this timer is run on the compositor
|
| - // thread, so to keep this consistent in single-threaded mode, we'll
|
| - // construct a DebugScopedSetImplThread object. There is no need to do
|
| - // this in multi-threaded mode since the real thread id's will be
|
| - // correct. In fact, setting fake thread id's interferes with the real
|
| - // thread id's and causes breakage.
|
| - scoped_ptr<DebugScopedSetImplThread> set_impl_thread;
|
| - if (!layer_tree_host_impl_->proxy()->HasImplThread()) {
|
| - set_impl_thread.reset(
|
| - new DebugScopedSetImplThread(layer_tree_host_impl_->proxy()));
|
| - }
|
| -
|
| - // TODO(enne): This should probably happen post-animate.
|
| - if (layer_tree_host_impl_->pending_tree()) {
|
| - layer_tree_host_impl_->pending_tree()->UpdateDrawProperties();
|
| - layer_tree_host_impl_->ManageTiles();
|
| - }
|
| -
|
| - layer_tree_host_impl_->Animate(
|
| - layer_tree_host_impl_->CurrentFrameTimeTicks());
|
| - layer_tree_host_impl_->UpdateBackgroundAnimateTicking(true);
|
| - bool start_ready_animations = true;
|
| - layer_tree_host_impl_->UpdateAnimationState(start_ready_animations);
|
| - layer_tree_host_impl_->ResetCurrentFrameTimeForNextFrame();
|
| - }
|
| -
|
| - void SetActive(bool active) {
|
| - if (active != time_source_->Active())
|
| - time_source_->SetActive(active);
|
| - }
|
| -
|
| - bool Active() const { return time_source_->Active(); }
|
| -
|
| - private:
|
| - LayerTreeHostImplTimeSourceAdapter(
|
| - LayerTreeHostImpl* layer_tree_host_impl,
|
| - scoped_refptr<DelayBasedTimeSource> time_source)
|
| - : layer_tree_host_impl_(layer_tree_host_impl),
|
| - time_source_(time_source) {
|
| - time_source_->SetClient(this);
|
| - }
|
| -
|
| - LayerTreeHostImpl* layer_tree_host_impl_;
|
| - scoped_refptr<DelayBasedTimeSource> time_source_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(LayerTreeHostImplTimeSourceAdapter);
|
| -};
|
| -
|
| LayerTreeHostImpl::FrameData::FrameData()
|
| : contains_incomplete_tile(false), has_no_damage(false) {}
|
|
|
| @@ -213,7 +142,8 @@ LayerTreeHostImpl::LayerTreeHostImpl(
|
| RenderingStatsInstrumentation* rendering_stats_instrumentation,
|
| SharedBitmapManager* manager,
|
| int id)
|
| - : client_(client),
|
| + : BaseBeginFrameSource(0),
|
| + client_(client),
|
| proxy_(proxy),
|
| use_gpu_rasterization_(false),
|
| input_handler_client_(NULL),
|
| @@ -334,8 +264,6 @@ void LayerTreeHostImpl::CommitComplete() {
|
| ManageTiles();
|
| } else {
|
| active_tree_->set_needs_update_draw_properties();
|
| - if (time_source_client_adapter_ && time_source_client_adapter_->Active())
|
| - DCHECK(active_tree_->root_layer());
|
| }
|
|
|
| client_->SendManagedMemoryStats();
|
| @@ -939,28 +867,6 @@ void LayerTreeHostImpl::MainThreadHasStoppedFlinging() {
|
| input_handler_client_->MainThreadHasStoppedFlinging();
|
| }
|
|
|
| -void LayerTreeHostImpl::UpdateBackgroundAnimateTicking(
|
| - bool should_background_tick) {
|
| - DCHECK(proxy_->IsImplThread());
|
| - if (should_background_tick)
|
| - DCHECK(active_tree_->root_layer());
|
| -
|
| - bool enabled = should_background_tick && needs_animate_layers();
|
| -
|
| - // Lazily create the time_source adapter so that we can vary the interval for
|
| - // testing.
|
| - if (!time_source_client_adapter_) {
|
| - time_source_client_adapter_ = LayerTreeHostImplTimeSourceAdapter::Create(
|
| - this,
|
| - DelayBasedTimeSource::Create(
|
| - LowFrequencyAnimationInterval(),
|
| - proxy_->HasImplThread() ? proxy_->ImplThreadTaskRunner()
|
| - : proxy_->MainThreadTaskRunner()));
|
| - }
|
| -
|
| - time_source_client_adapter_->SetActive(enabled);
|
| -}
|
| -
|
| void LayerTreeHostImpl::DidAnimateScrollOffset() {
|
| client_->SetNeedsCommitOnImplThread();
|
| client_->RenewTreePriority();
|
| @@ -1329,7 +1235,7 @@ void LayerTreeHostImpl::SetNeedsRedrawRect(const gfx::Rect& damage_rect) {
|
| }
|
|
|
| void LayerTreeHostImpl::BeginFrame(const BeginFrameArgs& args) {
|
| - client_->BeginFrame(args);
|
| + frame_sink_->BeginFrame(args);
|
| }
|
|
|
| void LayerTreeHostImpl::DidSwapBuffers() {
|
| @@ -1564,11 +1470,15 @@ bool LayerTreeHostImpl::SwapBuffers(const LayerTreeHostImpl::FrameData& frame) {
|
| return true;
|
| }
|
|
|
| -void LayerTreeHostImpl::SetNeedsBeginFrame(bool enable) {
|
| +void LayerTreeHostImpl::OnGenerateChange(bool generate_frames) {
|
| if (output_surface_)
|
| - output_surface_->SetNeedsBeginFrame(enable);
|
| + output_surface_->SetNeedsBeginFrame(generate_frames);
|
| else
|
| - DCHECK(!enable);
|
| + DCHECK(!generate_frames);
|
| +}
|
| +
|
| +std::string LayerTreeHostImpl::TypeString() const {
|
| + return "LayerTreeHostImpl";
|
| }
|
|
|
| void LayerTreeHostImpl::WillBeginImplFrame(const BeginFrameArgs& args) {
|
| @@ -1748,8 +1658,6 @@ void LayerTreeHostImpl::ActivatePendingTree() {
|
| if (!tree_activation_callback_.is_null())
|
| tree_activation_callback_.Run();
|
|
|
| - if (time_source_client_adapter_ && time_source_client_adapter_->Active())
|
| - DCHECK(active_tree_->root_layer());
|
| devtools_instrumentation::DidActivateLayerTree(
|
| id_, active_tree_->source_frame_number());
|
| }
|
| @@ -2020,7 +1928,7 @@ bool LayerTreeHostImpl::InitializeRenderer(
|
|
|
| void LayerTreeHostImpl::CommitVSyncParameters(base::TimeTicks timebase,
|
| base::TimeDelta interval) {
|
| - client_->CommitVSyncParameters(timebase, interval);
|
| + // fsink_->UpdateTimebaseAndInterval(timebase, interval);
|
| }
|
|
|
| void LayerTreeHostImpl::DeferredInitialize() {
|
|
|