Chromium Code Reviews| Index: services/ui/ws/frame_generator.cc |
| diff --git a/services/ui/ws/frame_generator.cc b/services/ui/ws/frame_generator.cc |
| index 30b17f3da99bf188dcddf76cbfd9508f4e87a110..d081b84c33c96ee3f2fb0d536406e5ab9f44c160 100644 |
| --- a/services/ui/ws/frame_generator.cc |
| +++ b/services/ui/ws/frame_generator.cc |
| @@ -93,15 +93,16 @@ void FrameGenerator::SetExternalTilePriorityConstraints( |
| const gfx::Transform& transform) {} |
| void FrameGenerator::OnBeginFrame(const cc::BeginFrameArgs& begin_frame_args) { |
| + // TODO(eseckler): Acknowledge BeginFrame if we don't submit CompositorFrame. |
|
Fady Samuel
2017/03/18 13:03:11
Some unit tests have been introduced for FrameGene
Eric Seckler
2017/03/20 11:54:03
Since it doesn't ack any BeginFrames at the moment
|
| if (!root_window_->visible()) |
| return; |
| + last_begin_frame_args_ = begin_frame_args; |
| // TODO(fsamuel): We should add a trace for generating a top level frame. |
| cc::CompositorFrame frame(GenerateCompositorFrame(root_window_->bounds())); |
| compositor_frame_sink_->SubmitCompositorFrame(std::move(frame)); |
| SetNeedsBeginFrame(false); |
| - last_begin_frame_args_ = begin_frame_args; |
| } |
| const cc::BeginFrameArgs& FrameGenerator::LastUsedBeginFrameArgs() const { |
| @@ -142,6 +143,9 @@ cc::CompositorFrame FrameGenerator::GenerateCompositorFrame( |
| frame.render_pass_list.push_back(std::move(invert_pass)); |
| } |
| frame.metadata.device_scale_factor = device_scale_factor_; |
| + frame.metadata.begin_frame_ack = cc::BeginFrameAck( |
| + last_begin_frame_args_.source_id, last_begin_frame_args_.sequence_number, |
| + last_begin_frame_args_.sequence_number, 0, true); |
| if (window_manager_surface_info_.is_valid()) { |
| frame.metadata.referenced_surfaces.push_back( |