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

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

Issue 924973003: CC: Force push properties for all layers when tracing is started (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: review comments addressed Created 5 years, 9 months 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
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/trace_event/trace_event.h" 8 #include "base/trace_event/trace_event.h"
9 #include "cc/debug/benchmark_instrumentation.h" 9 #include "cc/debug/benchmark_instrumentation.h"
10 #include "cc/debug/devtools_instrumentation.h" 10 #include "cc/debug/devtools_instrumentation.h"
(...skipping 526 matching lines...) Expand 10 before | Expand all | Expand 10 after
537 if (layer_tree_host_impl_->settings().impl_side_painting) { 537 if (layer_tree_host_impl_->settings().impl_side_painting) {
538 layer_tree_host_impl_->ActivateSyncTree(); 538 layer_tree_host_impl_->ActivateSyncTree();
539 DCHECK(!layer_tree_host_impl_->active_tree() 539 DCHECK(!layer_tree_host_impl_->active_tree()
540 ->needs_update_draw_properties()); 540 ->needs_update_draw_properties());
541 layer_tree_host_impl_->PrepareTiles(); 541 layer_tree_host_impl_->PrepareTiles();
542 layer_tree_host_impl_->SynchronouslyInitializeAllTiles(); 542 layer_tree_host_impl_->SynchronouslyInitializeAllTiles();
543 } 543 }
544 544
545 DoAnimate(); 545 DoAnimate();
546 546
547 LayerTreeHostImpl::FrameData frame; 547 FrameData frame;
548 DoComposite(frame_begin_time, &frame); 548 DoComposite(frame_begin_time, &frame);
549 549
550 // DoComposite could abort, but because this is a synchronous composite 550 // DoComposite could abort, but because this is a synchronous composite
551 // another draw will never be scheduled, so break remaining promises. 551 // another draw will never be scheduled, so break remaining promises.
552 layer_tree_host_impl_->active_tree()->BreakSwapPromises( 552 layer_tree_host_impl_->active_tree()->BreakSwapPromises(
553 SwapPromise::SWAP_FAILS); 553 SwapPromise::SWAP_FAILS);
554 } 554 }
555 } 555 }
556 556
557 void SingleThreadProxy::ForceSerializeOnSwapBuffers() { 557 void SingleThreadProxy::ForceSerializeOnSwapBuffers() {
(...skipping 21 matching lines...) Expand all
579 !output_surface_creation_requested_) { 579 !output_surface_creation_requested_) {
580 output_surface_creation_callback_.Reset( 580 output_surface_creation_callback_.Reset(
581 base::Bind(&SingleThreadProxy::RequestNewOutputSurface, 581 base::Bind(&SingleThreadProxy::RequestNewOutputSurface,
582 weak_factory_.GetWeakPtr())); 582 weak_factory_.GetWeakPtr()));
583 MainThreadTaskRunner()->PostTask( 583 MainThreadTaskRunner()->PostTask(
584 FROM_HERE, output_surface_creation_callback_.callback()); 584 FROM_HERE, output_surface_creation_callback_.callback());
585 } 585 }
586 } 586 }
587 587
588 DrawResult SingleThreadProxy::DoComposite(base::TimeTicks frame_begin_time, 588 DrawResult SingleThreadProxy::DoComposite(base::TimeTicks frame_begin_time,
589 LayerTreeHostImpl::FrameData* frame) { 589 FrameData* frame) {
590 TRACE_EVENT0("cc", "SingleThreadProxy::DoComposite"); 590 TRACE_EVENT0("cc", "SingleThreadProxy::DoComposite");
591 DCHECK(!layer_tree_host_->output_surface_lost()); 591 DCHECK(!layer_tree_host_->output_surface_lost());
592 592
593 DrawResult draw_result; 593 DrawResult draw_result;
594 bool draw_frame; 594 bool draw_frame;
595 { 595 {
596 DebugScopedSetImplThread impl(this); 596 DebugScopedSetImplThread impl(this);
597 base::AutoReset<bool> mark_inside(&inside_draw_, true); 597 base::AutoReset<bool> mark_inside(&inside_draw_, true);
598 598
599 // We guard PrepareToDraw() with CanDraw() because it always returns a valid 599 // We guard PrepareToDraw() with CanDraw() because it always returns a valid
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
752 DebugScopedSetImplThread impl(this); 752 DebugScopedSetImplThread impl(this);
753 DCHECK(scheduler_on_impl_thread_->CommitPending()); 753 DCHECK(scheduler_on_impl_thread_->CommitPending());
754 DCHECK(!layer_tree_host_impl_->pending_tree()); 754 DCHECK(!layer_tree_host_impl_->pending_tree());
755 755
756 layer_tree_host_impl_->BeginMainFrameAborted(reason); 756 layer_tree_host_impl_->BeginMainFrameAborted(reason);
757 scheduler_on_impl_thread_->BeginMainFrameAborted(reason); 757 scheduler_on_impl_thread_->BeginMainFrameAborted(reason);
758 } 758 }
759 759
760 DrawResult SingleThreadProxy::ScheduledActionDrawAndSwapIfPossible() { 760 DrawResult SingleThreadProxy::ScheduledActionDrawAndSwapIfPossible() {
761 DebugScopedSetImplThread impl(this); 761 DebugScopedSetImplThread impl(this);
762 LayerTreeHostImpl::FrameData frame; 762 FrameData frame;
763 return DoComposite(layer_tree_host_impl_->CurrentBeginFrameArgs().frame_time, 763 return DoComposite(layer_tree_host_impl_->CurrentBeginFrameArgs().frame_time,
764 &frame); 764 &frame);
765 } 765 }
766 766
767 DrawResult SingleThreadProxy::ScheduledActionDrawAndSwapForced() { 767 DrawResult SingleThreadProxy::ScheduledActionDrawAndSwapForced() {
768 NOTREACHED(); 768 NOTREACHED();
769 return INVALID_RESULT; 769 return INVALID_RESULT;
770 } 770 }
771 771
772 void SingleThreadProxy::ScheduledActionCommit() { 772 void SingleThreadProxy::ScheduledActionCommit() {
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
823 823
824 void SingleThreadProxy::DidBeginImplFrameDeadline() { 824 void SingleThreadProxy::DidBeginImplFrameDeadline() {
825 layer_tree_host_impl_->ResetCurrentBeginFrameArgsForNextFrame(); 825 layer_tree_host_impl_->ResetCurrentBeginFrameArgsForNextFrame();
826 } 826 }
827 827
828 void SingleThreadProxy::SendBeginFramesToChildren(const BeginFrameArgs& args) { 828 void SingleThreadProxy::SendBeginFramesToChildren(const BeginFrameArgs& args) {
829 layer_tree_host_->SendBeginFramesToChildren(args); 829 layer_tree_host_->SendBeginFramesToChildren(args);
830 } 830 }
831 831
832 } // namespace cc 832 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698