Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(459)

Side by Side Diff: cc/trees/single_thread_proxy.cc

Issue 787803004: Update from https://crrev.com/307664 (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Rebase. Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « cc/trees/single_thread_proxy.h ('k') | cc/trees/thread_proxy.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/debug/trace_event.h" 8 #include "base/debug/trace_event.h"
9 #include "cc/debug/benchmark_instrumentation.h" 9 #include "cc/debug/benchmark_instrumentation.h"
10 #include "cc/output/context_provider.h" 10 #include "cc/output/context_provider.h"
(...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 if (scheduler_on_impl_thread_) 365 if (scheduler_on_impl_thread_)
366 scheduler_on_impl_thread_->SetNeedsRedraw(); 366 scheduler_on_impl_thread_->SetNeedsRedraw();
367 } 367 }
368 368
369 void SingleThreadProxy::SetNeedsAnimateOnImplThread() { 369 void SingleThreadProxy::SetNeedsAnimateOnImplThread() {
370 client_->ScheduleComposite(); 370 client_->ScheduleComposite();
371 if (scheduler_on_impl_thread_) 371 if (scheduler_on_impl_thread_)
372 scheduler_on_impl_thread_->SetNeedsAnimate(); 372 scheduler_on_impl_thread_->SetNeedsAnimate();
373 } 373 }
374 374
375 void SingleThreadProxy::SetNeedsManageTilesOnImplThread() { 375 void SingleThreadProxy::SetNeedsPrepareTilesOnImplThread() {
376 TRACE_EVENT0("cc", "SingleThreadProxy::SetNeedsManageTilesOnImplThread"); 376 TRACE_EVENT0("cc", "SingleThreadProxy::SetNeedsPrepareTilesOnImplThread");
377 if (scheduler_on_impl_thread_) 377 if (scheduler_on_impl_thread_)
378 scheduler_on_impl_thread_->SetNeedsManageTiles(); 378 scheduler_on_impl_thread_->SetNeedsPrepareTiles();
379 } 379 }
380 380
381 void SingleThreadProxy::SetNeedsRedrawRectOnImplThread( 381 void SingleThreadProxy::SetNeedsRedrawRectOnImplThread(
382 const gfx::Rect& damage_rect) { 382 const gfx::Rect& damage_rect) {
383 layer_tree_host_impl_->SetViewportDamage(damage_rect); 383 layer_tree_host_impl_->SetViewportDamage(damage_rect);
384 SetNeedsRedrawOnImplThread(); 384 SetNeedsRedrawOnImplThread();
385 } 385 }
386 386
387 void SingleThreadProxy::SetNeedsCommitOnImplThread() { 387 void SingleThreadProxy::SetNeedsCommitOnImplThread() {
388 client_->ScheduleComposite(); 388 client_->ScheduleComposite();
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
431 // equivalent of blocking commit until activation and also running 431 // equivalent of blocking commit until activation and also running
432 // all tasks posted during commit/activation before CommitComplete. 432 // all tasks posted during commit/activation before CommitComplete.
433 MainThreadTaskRunner()->PostTask( 433 MainThreadTaskRunner()->PostTask(
434 FROM_HERE, base::Bind(&SingleThreadProxy::CommitComplete, 434 FROM_HERE, base::Bind(&SingleThreadProxy::CommitComplete,
435 weak_factory_.GetWeakPtr())); 435 weak_factory_.GetWeakPtr()));
436 } 436 }
437 437
438 timing_history_.DidActivateSyncTree(); 438 timing_history_.DidActivateSyncTree();
439 } 439 }
440 440
441 void SingleThreadProxy::DidManageTiles() { 441 void SingleThreadProxy::DidPrepareTiles() {
442 DCHECK(layer_tree_host_impl_->settings().impl_side_painting); 442 DCHECK(layer_tree_host_impl_->settings().impl_side_painting);
443 DCHECK(Proxy::IsImplThread()); 443 DCHECK(Proxy::IsImplThread());
444 if (scheduler_on_impl_thread_) 444 if (scheduler_on_impl_thread_)
445 scheduler_on_impl_thread_->DidManageTiles(); 445 scheduler_on_impl_thread_->DidPrepareTiles();
446 } 446 }
447 447
448 void SingleThreadProxy::UpdateRendererCapabilitiesOnImplThread() { 448 void SingleThreadProxy::UpdateRendererCapabilitiesOnImplThread() {
449 DCHECK(IsImplThread()); 449 DCHECK(IsImplThread());
450 renderer_capabilities_for_main_thread_ = 450 renderer_capabilities_for_main_thread_ =
451 layer_tree_host_impl_->GetRendererCapabilities().MainThreadCapabilities(); 451 layer_tree_host_impl_->GetRendererCapabilities().MainThreadCapabilities();
452 } 452 }
453 453
454 void SingleThreadProxy::DidLoseOutputSurfaceOnImplThread() { 454 void SingleThreadProxy::DidLoseOutputSurfaceOnImplThread() {
455 TRACE_EVENT0("cc", "SingleThreadProxy::DidLoseOutputSurfaceOnImplThread"); 455 TRACE_EVENT0("cc", "SingleThreadProxy::DidLoseOutputSurfaceOnImplThread");
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
500 500
501 DCHECK_EQ(0u, layer_tree_host_->num_queued_swap_promises()) 501 DCHECK_EQ(0u, layer_tree_host_->num_queued_swap_promises())
502 << "Commit should always succeed and transfer promises."; 502 << "Commit should always succeed and transfer promises.";
503 } 503 }
504 504
505 { 505 {
506 DebugScopedSetImplThread impl(const_cast<SingleThreadProxy*>(this)); 506 DebugScopedSetImplThread impl(const_cast<SingleThreadProxy*>(this));
507 if (layer_tree_host_impl_->settings().impl_side_painting) { 507 if (layer_tree_host_impl_->settings().impl_side_painting) {
508 layer_tree_host_impl_->ActivateSyncTree(); 508 layer_tree_host_impl_->ActivateSyncTree();
509 layer_tree_host_impl_->active_tree()->UpdateDrawProperties(); 509 layer_tree_host_impl_->active_tree()->UpdateDrawProperties();
510 layer_tree_host_impl_->ManageTiles(); 510 layer_tree_host_impl_->PrepareTiles();
511 layer_tree_host_impl_->SynchronouslyInitializeAllTiles(); 511 layer_tree_host_impl_->SynchronouslyInitializeAllTiles();
512 } 512 }
513 513
514 DoAnimate(); 514 DoAnimate();
515 515
516 LayerTreeHostImpl::FrameData frame; 516 LayerTreeHostImpl::FrameData frame;
517 DoComposite(frame_begin_time, &frame); 517 DoComposite(frame_begin_time, &frame);
518 518
519 // DoComposite could abort, but because this is a synchronous composite 519 // DoComposite could abort, but because this is a synchronous composite
520 // another draw will never be scheduled, so break remaining promises. 520 // another draw will never be scheduled, so break remaining promises.
(...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after
764 // creating the output surface makes tests more awkward since this differs 764 // creating the output surface makes tests more awkward since this differs
765 // from the ThreadProxy behavior. However, sometimes there is no 765 // from the ThreadProxy behavior. However, sometimes there is no
766 // task runner. 766 // task runner.
767 if (Proxy::MainThreadTaskRunner()) { 767 if (Proxy::MainThreadTaskRunner()) {
768 ScheduleRequestNewOutputSurface(); 768 ScheduleRequestNewOutputSurface();
769 } else { 769 } else {
770 RequestNewOutputSurface(); 770 RequestNewOutputSurface();
771 } 771 }
772 } 772 }
773 773
774 void SingleThreadProxy::ScheduledActionManageTiles() { 774 void SingleThreadProxy::ScheduledActionPrepareTiles() {
775 TRACE_EVENT0("cc", "SingleThreadProxy::ScheduledActionManageTiles"); 775 TRACE_EVENT0("cc", "SingleThreadProxy::ScheduledActionPrepareTiles");
776 DCHECK(layer_tree_host_impl_->settings().impl_side_painting); 776 DCHECK(layer_tree_host_impl_->settings().impl_side_painting);
777 DebugScopedSetImplThread impl(this); 777 DebugScopedSetImplThread impl(this);
778 layer_tree_host_impl_->ManageTiles(); 778 layer_tree_host_impl_->PrepareTiles();
779 } 779 }
780 780
781 void SingleThreadProxy::DidAnticipatedDrawTimeChange(base::TimeTicks time) { 781 void SingleThreadProxy::DidAnticipatedDrawTimeChange(base::TimeTicks time) {
782 } 782 }
783 783
784 base::TimeDelta SingleThreadProxy::DrawDurationEstimate() { 784 base::TimeDelta SingleThreadProxy::DrawDurationEstimate() {
785 return timing_history_.DrawDurationEstimate(); 785 return timing_history_.DrawDurationEstimate();
786 } 786 }
787 787
788 base::TimeDelta SingleThreadProxy::BeginMainFrameToCommitDurationEstimate() { 788 base::TimeDelta SingleThreadProxy::BeginMainFrameToCommitDurationEstimate() {
789 return timing_history_.BeginMainFrameToCommitDurationEstimate(); 789 return timing_history_.BeginMainFrameToCommitDurationEstimate();
790 } 790 }
791 791
792 base::TimeDelta SingleThreadProxy::CommitToActivateDurationEstimate() { 792 base::TimeDelta SingleThreadProxy::CommitToActivateDurationEstimate() {
793 return timing_history_.CommitToActivateDurationEstimate(); 793 return timing_history_.CommitToActivateDurationEstimate();
794 } 794 }
795 795
796 void SingleThreadProxy::DidBeginImplFrameDeadline() { 796 void SingleThreadProxy::DidBeginImplFrameDeadline() {
797 layer_tree_host_impl_->ResetCurrentBeginFrameArgsForNextFrame(); 797 layer_tree_host_impl_->ResetCurrentBeginFrameArgsForNextFrame();
798 } 798 }
799 799
800 void SingleThreadProxy::SendBeginFramesToChildren(const BeginFrameArgs& args) { 800 void SingleThreadProxy::SendBeginFramesToChildren(const BeginFrameArgs& args) {
801 layer_tree_host_->SendBeginFramesToChildren(args); 801 layer_tree_host_->SendBeginFramesToChildren(args);
802 } 802 }
803 803
804 } // namespace cc 804 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/single_thread_proxy.h ('k') | cc/trees/thread_proxy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698