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 ecc36f81000c23358785da508d8154e0851facaf..aa4a456ac29a56b6e5ce773be7bd196df9e59812 100644 |
--- a/content/renderer/gpu/compositor_external_begin_frame_source.cc |
+++ b/content/renderer/gpu/compositor_external_begin_frame_source.cc |
@@ -43,6 +43,7 @@ void CompositorExternalBeginFrameSource::OnNeedsBeginFramesChanged( |
void CompositorExternalBeginFrameSource::AddObserver( |
cc::BeginFrameObserver* obs) { |
DCHECK(CalledOnValidThread()); |
+ SetClientReady(); |
BeginFrameSourceBase::AddObserver(obs); |
// Send a MISSED begin frame if necessary. |
if (missed_begin_frame_args_.IsValid()) { |
@@ -56,7 +57,8 @@ void CompositorExternalBeginFrameSource::AddObserver( |
void CompositorExternalBeginFrameSource::SetClientReady() { |
DCHECK(CalledOnValidThread()); |
- DCHECK(!begin_frame_source_proxy_.get()); |
+ if (begin_frame_source_proxy_) |
+ return; |
begin_frame_source_proxy_ = |
new CompositorExternalBeginFrameSourceProxy(this); |
begin_frame_source_filter_handler_ = base::Bind( |