Chromium Code Reviews| Index: content/renderer/gpu/compositor_external_begin_frame_source.cc |
| diff --git a/content/renderer/gpu/compositor_external_begin_frame_source.cc b/content/renderer/gpu/compositor_external_begin_frame_source.cc |
| index 90f5554ba3915d1deb71674f38f7eaaed7716598..23b5d5402b283af9fd8ea06277dae87c8fda6763 100644 |
| --- a/content/renderer/gpu/compositor_external_begin_frame_source.cc |
| +++ b/content/renderer/gpu/compositor_external_begin_frame_source.cc |
| @@ -55,6 +55,12 @@ void CompositorExternalBeginFrameSource::RemoveObserver( |
| external_begin_frame_source_.RemoveObserver(obs); |
| } |
| +void CompositorExternalBeginFrameSource::DidFinishFrame( |
| + cc::BeginFrameObserver* obs, |
| + const cc::BeginFrameAck& ack) { |
| + external_begin_frame_source_.DidFinishFrame(obs, ack); |
| +} |
| + |
| bool CompositorExternalBeginFrameSource::IsThrottled() const { |
| return true; |
| } |
| @@ -66,7 +72,9 @@ void CompositorExternalBeginFrameSource::OnNeedsBeginFrames( |
| void CompositorExternalBeginFrameSource::OnDidFinishFrame( |
| const cc::BeginFrameAck& ack) { |
| - // TODO(eseckler): Pass on the ack to the view host. |
| + // If there was damage, ViewHostMsg_SwapCompositorFrame includes the ack. |
| + if (!ack.has_damage) |
| + Send(new ViewHostMsg_BeginFrameDidNotSwap(routing_id_, ack)); |
|
piman
2017/03/14 20:06:44
So, there are a few cases where we bundle IPC mess
Eric Seckler
2017/03/15 11:56:48
This sounds like an interesting optimization, but
piman
2017/03/15 21:17:10
I think ideally if the compositor is making frames
|
| } |
| void CompositorExternalBeginFrameSource::OnMessageReceived( |