Index: cc/test/fake_external_begin_frame_source.cc |
diff --git a/cc/test/fake_external_begin_frame_source.cc b/cc/test/fake_external_begin_frame_source.cc |
index 02e0ae195a7da89d42e949cbc3ec6c1f30e5049e..c1885c143429dafe1bc1a5ac7666e2d7aba77ab9 100644 |
--- a/cc/test/fake_external_begin_frame_source.cc |
+++ b/cc/test/fake_external_begin_frame_source.cc |
@@ -31,16 +31,24 @@ void FakeExternalBeginFrameSource::OnNeedsBeginFramesChange( |
bool needs_begin_frames) { |
DCHECK(CalledOnValidThread()); |
if (needs_begin_frames) { |
- base::MessageLoop::current()->PostDelayedTask( |
- FROM_HERE, base::Bind(&FakeExternalBeginFrameSource::TestOnBeginFrame, |
- weak_ptr_factory_.GetWeakPtr()), |
- base::TimeDelta::FromMilliseconds(milliseconds_per_frame_)); |
+ PostTestOnBeginFrame(); |
} |
} |
void FakeExternalBeginFrameSource::TestOnBeginFrame() { |
DCHECK(CalledOnValidThread()); |
CallOnBeginFrame(CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE)); |
+ |
+ if (NeedsBeginFrames()) { |
+ PostTestOnBeginFrame(); |
+ } |
+} |
+ |
+void FakeExternalBeginFrameSource::PostTestOnBeginFrame() { |
+ base::MessageLoop::current()->PostDelayedTask( |
+ FROM_HERE, base::Bind(&FakeExternalBeginFrameSource::TestOnBeginFrame, |
+ weak_ptr_factory_.GetWeakPtr()), |
+ base::TimeDelta::FromMilliseconds(milliseconds_per_frame_)); |
} |
} // namespace cc |