OLD | NEW |
1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "cc/trees/single_thread_proxy.h" | 5 #include "cc/trees/single_thread_proxy.h" |
6 | 6 |
7 #include "base/auto_reset.h" | 7 #include "base/auto_reset.h" |
8 #include "base/memory/ptr_util.h" | 8 #include "base/memory/ptr_util.h" |
9 #include "base/profiler/scoped_tracker.h" | 9 #include "base/profiler/scoped_tracker.h" |
10 #include "base/trace_event/trace_event.h" | 10 #include "base/trace_event/trace_event.h" |
(...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
312 TRACE_EVENT1("cc", "SingleThreadProxy::OnCanDrawStateChanged", "can_draw", | 312 TRACE_EVENT1("cc", "SingleThreadProxy::OnCanDrawStateChanged", "can_draw", |
313 can_draw); | 313 can_draw); |
314 DCHECK(task_runner_provider_->IsImplThread()); | 314 DCHECK(task_runner_provider_->IsImplThread()); |
315 if (scheduler_on_impl_thread_) | 315 if (scheduler_on_impl_thread_) |
316 scheduler_on_impl_thread_->SetCanDraw(can_draw); | 316 scheduler_on_impl_thread_->SetCanDraw(can_draw); |
317 } | 317 } |
318 | 318 |
319 void SingleThreadProxy::NotifyReadyToActivate() { | 319 void SingleThreadProxy::NotifyReadyToActivate() { |
320 TRACE_EVENT0("cc", "SingleThreadProxy::NotifyReadyToActivate"); | 320 TRACE_EVENT0("cc", "SingleThreadProxy::NotifyReadyToActivate"); |
321 DebugScopedSetImplThread impl(task_runner_provider_); | 321 DebugScopedSetImplThread impl(task_runner_provider_); |
322 if (scheduler_on_impl_thread_) | 322 if (scheduler_on_impl_thread_) { |
323 scheduler_on_impl_thread_->NotifyReadyToActivate(); | 323 // The argument to NotifyReadyToActivate is the pending-tree for computing |
| 324 // Activation time in ProxyImpl. However this is not applicable here. |
| 325 scheduler_on_impl_thread_->NotifyReadyToActivate(-1); |
| 326 } |
324 } | 327 } |
325 | 328 |
326 void SingleThreadProxy::NotifyReadyToDraw() { | 329 void SingleThreadProxy::NotifyReadyToDraw() { |
327 TRACE_EVENT0("cc", "SingleThreadProxy::NotifyReadyToDraw"); | 330 TRACE_EVENT0("cc", "SingleThreadProxy::NotifyReadyToDraw"); |
328 DebugScopedSetImplThread impl(task_runner_provider_); | 331 DebugScopedSetImplThread impl(task_runner_provider_); |
329 if (scheduler_on_impl_thread_) | 332 if (scheduler_on_impl_thread_) |
330 scheduler_on_impl_thread_->NotifyReadyToDraw(); | 333 scheduler_on_impl_thread_->NotifyReadyToDraw(); |
331 } | 334 } |
332 | 335 |
333 void SingleThreadProxy::SetNeedsRedrawOnImplThread() { | 336 void SingleThreadProxy::SetNeedsRedrawOnImplThread() { |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
449 if (compositor_frame_sink_lost_) { | 452 if (compositor_frame_sink_lost_) { |
450 RequestNewCompositorFrameSink(); | 453 RequestNewCompositorFrameSink(); |
451 // RequestNewCompositorFrameSink could have synchronously created an output | 454 // RequestNewCompositorFrameSink could have synchronously created an output |
452 // surface, so check again before returning. | 455 // surface, so check again before returning. |
453 if (compositor_frame_sink_lost_) | 456 if (compositor_frame_sink_lost_) |
454 return; | 457 return; |
455 } | 458 } |
456 | 459 |
457 BeginFrameArgs begin_frame_args(BeginFrameArgs::Create( | 460 BeginFrameArgs begin_frame_args(BeginFrameArgs::Create( |
458 BEGINFRAME_FROM_HERE, BeginFrameArgs::kManualSourceId, 1, | 461 BEGINFRAME_FROM_HERE, BeginFrameArgs::kManualSourceId, 1, |
459 frame_begin_time, base::TimeTicks(), BeginFrameArgs::DefaultInterval(), | 462 BeginFrameArgs::kDefaultSourceFrameNumber, frame_begin_time, |
| 463 base::TimeTicks(), BeginFrameArgs::DefaultInterval(), |
460 BeginFrameArgs::NORMAL)); | 464 BeginFrameArgs::NORMAL)); |
461 | 465 |
462 // Start the impl frame. | 466 // Start the impl frame. |
463 { | 467 { |
464 DebugScopedSetImplThread impl(task_runner_provider_); | 468 DebugScopedSetImplThread impl(task_runner_provider_); |
465 WillBeginImplFrame(begin_frame_args); | 469 WillBeginImplFrame(begin_frame_args); |
466 } | 470 } |
467 | 471 |
468 // Run the "main thread" and get it to commit. | 472 // Run the "main thread" and get it to commit. |
469 { | 473 { |
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
788 void SingleThreadProxy::DidFinishImplFrame() { | 792 void SingleThreadProxy::DidFinishImplFrame() { |
789 layer_tree_host_impl_->DidFinishImplFrame(); | 793 layer_tree_host_impl_->DidFinishImplFrame(); |
790 #if DCHECK_IS_ON() | 794 #if DCHECK_IS_ON() |
791 DCHECK(inside_impl_frame_) | 795 DCHECK(inside_impl_frame_) |
792 << "DidFinishImplFrame called while not inside an impl frame!"; | 796 << "DidFinishImplFrame called while not inside an impl frame!"; |
793 inside_impl_frame_ = false; | 797 inside_impl_frame_ = false; |
794 #endif | 798 #endif |
795 } | 799 } |
796 | 800 |
797 } // namespace cc | 801 } // namespace cc |
OLD | NEW |