| Index: content/browser/frame_host/render_widget_host_view_child_frame.cc
|
| diff --git a/content/browser/frame_host/render_widget_host_view_child_frame.cc b/content/browser/frame_host/render_widget_host_view_child_frame.cc
|
| index 56e95b8775151d8ae88efa65e29b402e7919ef80..c02d4ade827a0cf378666dc6197356c3eb713f78 100644
|
| --- a/content/browser/frame_host/render_widget_host_view_child_frame.cc
|
| +++ b/content/browser/frame_host/render_widget_host_view_child_frame.cc
|
| @@ -404,6 +404,10 @@ void RenderWidgetHostViewChildFrame::OnSwapCompositorFrame(
|
| allocated_new_local_frame_id = true;
|
| }
|
|
|
| + uint64_t begin_frame_source_id = frame.metadata.begin_frame_source_id;
|
| + uint64_t begin_frame_number = frame.metadata.begin_frame_number;
|
| + uint64_t oldest_incorporated_frame = frame.metadata.oldest_incorporated_frame;
|
| +
|
| cc::SurfaceFactory::DrawCallback ack_callback =
|
| base::Bind(&RenderWidgetHostViewChildFrame::SurfaceDrawn, AsWeakPtr(),
|
| compositor_frame_sink_id);
|
| @@ -426,6 +430,14 @@ void RenderWidgetHostViewChildFrame::OnSwapCompositorFrame(
|
| scale_factor, sequence);
|
| }
|
| ProcessFrameSwappedCallbacks();
|
| + DidSwapFrame(begin_frame_source_id, begin_frame_number,
|
| + oldest_incorporated_frame);
|
| +}
|
| +
|
| +void RenderWidgetHostViewChildFrame::OnBeginFrameDidNotDraw(
|
| + cc::BeginFrameAck ack) {
|
| + if (begin_frame_source_)
|
| + begin_frame_source_->DidFinishFrame(this, ack);
|
| }
|
|
|
| void RenderWidgetHostViewChildFrame::ProcessFrameSwappedCallbacks() {
|
| @@ -437,6 +449,16 @@ void RenderWidgetHostViewChildFrame::ProcessFrameSwappedCallbacks() {
|
| callback->Run();
|
| }
|
|
|
| +void RenderWidgetHostViewChildFrame::DidSwapFrame(
|
| + uint64_t source_id,
|
| + uint64_t sequence_number,
|
| + uint64_t oldest_incorporated_frame) {
|
| + cc::BeginFrameAck ack(source_id, sequence_number, true,
|
| + oldest_incorporated_frame, 0);
|
| + if (begin_frame_source_)
|
| + begin_frame_source_->DidFinishFrame(this, ack);
|
| +}
|
| +
|
| gfx::Rect RenderWidgetHostViewChildFrame::GetBoundsInRootWindow() {
|
| gfx::Rect rect;
|
| if (frame_connector_) {
|
|
|