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

Side by Side Diff: components/exo/surface.cc

Issue 2888043004: [cc] Add and plumb CFS::DidNotProduceFrame. (Closed)
Patch Set: remove ExternalBFS::OnDidFinishFrame and related ack tracking. Created 3 years, 7 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "components/exo/surface.h" 5 #include "components/exo/surface.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/callback_helpers.h" 9 #include "base/callback_helpers.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 408 matching lines...) Expand 10 before | Expand all | Expand 10 after
419 } 419 }
420 } 420 }
421 421
422 if (delegate_) { 422 if (delegate_) {
423 delegate_->OnSurfaceCommit(); 423 delegate_->OnSurfaceCommit();
424 } else { 424 } else {
425 CheckIfSurfaceHierarchyNeedsCommitToNewSurfaces(); 425 CheckIfSurfaceHierarchyNeedsCommitToNewSurfaces();
426 CommitSurfaceHierarchy(); 426 CommitSurfaceHierarchy();
427 } 427 }
428 428
429 if (begin_frame_source_ && current_begin_frame_ack_.sequence_number != 429 if (current_begin_frame_ack_.sequence_number !=
430 cc::BeginFrameArgs::kInvalidFrameNumber) { 430 cc::BeginFrameArgs::kInvalidFrameNumber) {
431 begin_frame_source_->DidFinishFrame(this, current_begin_frame_ack_); 431 if (begin_frame_source_)
432 begin_frame_source_->DidFinishFrame(this, current_begin_frame_ack_);
433 if (!current_begin_frame_ack_.has_damage) {
434 compositor_frame_sink_holder_->GetCompositorFrameSink()
435 ->BeginFrameDidNotProduceFrame(current_begin_frame_ack_);
436 }
432 current_begin_frame_ack_.sequence_number = 437 current_begin_frame_ack_.sequence_number =
433 cc::BeginFrameArgs::kInvalidFrameNumber; 438 cc::BeginFrameArgs::kInvalidFrameNumber;
434 } 439 }
435 } 440 }
436 441
437 void Surface::CommitSurfaceHierarchy() { 442 void Surface::CommitSurfaceHierarchy() {
438 DCHECK(needs_commit_surface_hierarchy_); 443 DCHECK(needs_commit_surface_hierarchy_);
439 needs_commit_surface_hierarchy_ = false; 444 needs_commit_surface_hierarchy_ = false;
440 has_pending_layer_changes_ = false; 445 has_pending_layer_changes_ = false;
441 446
(...skipping 408 matching lines...) Expand 10 before | Expand all | Expand 10 after
850 render_pass->CreateAndAppendDrawQuad<cc::SolidColorDrawQuad>(); 855 render_pass->CreateAndAppendDrawQuad<cc::SolidColorDrawQuad>();
851 solid_quad->SetNew(quad_state, quad_rect, quad_rect, SK_ColorBLACK, false); 856 solid_quad->SetNew(quad_state, quad_rect, quad_rect, SK_ColorBLACK, false);
852 } 857 }
853 858
854 frame.render_pass_list.push_back(std::move(render_pass)); 859 frame.render_pass_list.push_back(std::move(render_pass));
855 compositor_frame_sink_holder_->GetCompositorFrameSink() 860 compositor_frame_sink_holder_->GetCompositorFrameSink()
856 ->SubmitCompositorFrame(std::move(frame)); 861 ->SubmitCompositorFrame(std::move(frame));
857 } 862 }
858 863
859 } // namespace exo 864 } // namespace exo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698