OLD | NEW |
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 415 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
426 | 426 |
427 if (delegate_) { | 427 if (delegate_) { |
428 delegate_->OnSurfaceCommit(); | 428 delegate_->OnSurfaceCommit(); |
429 } else { | 429 } else { |
430 CheckIfSurfaceHierarchyNeedsCommitToNewSurfaces(); | 430 CheckIfSurfaceHierarchyNeedsCommitToNewSurfaces(); |
431 CommitSurfaceHierarchy(); | 431 CommitSurfaceHierarchy(); |
432 } | 432 } |
433 | 433 |
434 if (current_begin_frame_ack_.sequence_number != | 434 if (current_begin_frame_ack_.sequence_number != |
435 cc::BeginFrameArgs::kInvalidFrameNumber) { | 435 cc::BeginFrameArgs::kInvalidFrameNumber) { |
436 if (begin_frame_source_) | |
437 begin_frame_source_->DidFinishFrame(this, current_begin_frame_ack_); | |
438 if (!current_begin_frame_ack_.has_damage) { | 436 if (!current_begin_frame_ack_.has_damage) { |
439 compositor_frame_sink_holder_->GetCompositorFrameSink() | 437 compositor_frame_sink_holder_->GetCompositorFrameSink() |
440 ->DidNotProduceFrame(current_begin_frame_ack_); | 438 ->DidNotProduceFrame(current_begin_frame_ack_); |
441 } | 439 } |
442 current_begin_frame_ack_.sequence_number = | 440 current_begin_frame_ack_.sequence_number = |
443 cc::BeginFrameArgs::kInvalidFrameNumber; | 441 cc::BeginFrameArgs::kInvalidFrameNumber; |
| 442 if (begin_frame_source_) |
| 443 begin_frame_source_->DidFinishFrame(this); |
444 } | 444 } |
445 } | 445 } |
446 | 446 |
447 void Surface::CommitSurfaceHierarchy() { | 447 void Surface::CommitSurfaceHierarchy() { |
448 DCHECK(needs_commit_surface_hierarchy_); | 448 DCHECK(needs_commit_surface_hierarchy_); |
449 needs_commit_surface_hierarchy_ = false; | 449 needs_commit_surface_hierarchy_ = false; |
450 has_pending_layer_changes_ = false; | 450 has_pending_layer_changes_ = false; |
451 | 451 |
452 state_ = pending_state_; | 452 state_ = pending_state_; |
453 pending_state_.only_visible_on_secure_output = false; | 453 pending_state_.only_visible_on_secure_output = false; |
(...skipping 414 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
868 render_pass->CreateAndAppendDrawQuad<cc::SolidColorDrawQuad>(); | 868 render_pass->CreateAndAppendDrawQuad<cc::SolidColorDrawQuad>(); |
869 solid_quad->SetNew(quad_state, quad_rect, quad_rect, SK_ColorBLACK, false); | 869 solid_quad->SetNew(quad_state, quad_rect, quad_rect, SK_ColorBLACK, false); |
870 } | 870 } |
871 | 871 |
872 frame.render_pass_list.push_back(std::move(render_pass)); | 872 frame.render_pass_list.push_back(std::move(render_pass)); |
873 compositor_frame_sink_holder_->GetCompositorFrameSink() | 873 compositor_frame_sink_holder_->GetCompositorFrameSink() |
874 ->SubmitCompositorFrame(std::move(frame)); | 874 ->SubmitCompositorFrame(std::move(frame)); |
875 } | 875 } |
876 | 876 |
877 } // namespace exo | 877 } // namespace exo |
OLD | NEW |