Index: cc/scheduler/begin_frame_source.h |
diff --git a/cc/scheduler/begin_frame_source.h b/cc/scheduler/begin_frame_source.h |
index 4a0668cd9fb4534deea2cb214e39c917ea70ee12..bde01afd79ec6bd72a1d525c85b9d6d49bafe9d0 100644 |
--- a/cc/scheduler/begin_frame_source.h |
+++ b/cc/scheduler/begin_frame_source.h |
@@ -112,15 +112,20 @@ class CC_EXPORT BeginFrameSource { |
// should shut down its timers, disable vsync, etc. |
virtual void AddObserver(BeginFrameObserver* obs) = 0; |
virtual void RemoveObserver(BeginFrameObserver* obs) = 0; |
+ |
+ // Returns false if the begin frame source will just continue to produce |
+ // begin frames without waiting. |
+ virtual bool IsThrottled() const = 0; |
}; |
// A BeginFrameSource that does nothing. |
-class StubBeginFrameSource : public BeginFrameSource { |
+class CC_EXPORT StubBeginFrameSource : public BeginFrameSource { |
public: |
void DidFinishFrame(BeginFrameObserver* obs, |
size_t remaining_frames) override {} |
void AddObserver(BeginFrameObserver* obs) override {} |
void RemoveObserver(BeginFrameObserver* obs) override {} |
+ bool IsThrottled() const override; |
}; |
// A frame source which ticks itself independently. |
@@ -148,6 +153,7 @@ class CC_EXPORT BackToBackBeginFrameSource : public SyntheticBeginFrameSource, |
void RemoveObserver(BeginFrameObserver* obs) override; |
void DidFinishFrame(BeginFrameObserver* obs, |
size_t remaining_frames) override; |
+ bool IsThrottled() const override; |
// SyntheticBeginFrameSource implementation. |
void OnUpdateVSyncParameters(base::TimeTicks timebase, |
@@ -180,6 +186,7 @@ class CC_EXPORT DelayBasedBeginFrameSource : public SyntheticBeginFrameSource, |
void RemoveObserver(BeginFrameObserver* obs) override; |
void DidFinishFrame(BeginFrameObserver* obs, |
size_t remaining_frames) override {} |
+ bool IsThrottled() const override; |
// SyntheticBeginFrameSource implementation. |
void OnUpdateVSyncParameters(base::TimeTicks timebase, |
@@ -222,6 +229,7 @@ class CC_EXPORT ExternalBeginFrameSource : public BeginFrameSource { |
void RemoveObserver(BeginFrameObserver* obs) override; |
void DidFinishFrame(BeginFrameObserver* obs, |
size_t remaining_frames) override {} |
+ bool IsThrottled() const override; |
void OnSetBeginFrameSourcePaused(bool paused); |
void OnBeginFrame(const BeginFrameArgs& args); |