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 aa4a456ac29a56b6e5ce773be7bd196df9e59812..32da19acf6fcd155aa2e127bdf25ed48b2ef856b 100644 |
| --- a/content/renderer/gpu/compositor_external_begin_frame_source.cc |
| +++ b/content/renderer/gpu/compositor_external_begin_frame_source.cc |
| @@ -40,6 +40,20 @@ void CompositorExternalBeginFrameSource::OnNeedsBeginFramesChanged( |
| Send(new ViewHostMsg_SetNeedsBeginFrames(routing_id_, needs_begin_frames)); |
| } |
| +void CompositorExternalBeginFrameSource::DidFinishFrame( |
| + cc::BeginFrameObserver* obs) { |
| + DCHECK(CalledOnValidThread()); |
| + SetClientReady(); |
|
enne (OOO)
2016/04/14 23:02:26
Why do you need to call this? This should have alr
|
| + // Send a MISSED begin frame if necessary. |
|
enne (OOO)
2016/04/14 23:02:26
This looks like a pretty common pattern. Is there
|
| + if (missed_begin_frame_args_.IsValid()) { |
| + cc::BeginFrameArgs last_args = obs->LastUsedBeginFrameArgs(); |
| + if (!last_args.IsValid() || |
| + (missed_begin_frame_args_.frame_time > last_args.frame_time)) { |
| + obs->OnBeginFrame(missed_begin_frame_args_); |
| + } |
| + } |
| +} |
| + |
| void CompositorExternalBeginFrameSource::AddObserver( |
| cc::BeginFrameObserver* obs) { |
| DCHECK(CalledOnValidThread()); |