Index: cc/scheduler/scheduler.h |
diff --git a/cc/scheduler/scheduler.h b/cc/scheduler/scheduler.h |
index 99a907a36d2d4f2f51f3d38f3ab81225dec71f30..47ff8618b2b2669a5a15e64fb51982116201b438 100644 |
--- a/cc/scheduler/scheduler.h |
+++ b/cc/scheduler/scheduler.h |
@@ -65,6 +65,8 @@ class CC_EXPORT SchedulerFrameSourcesConstructor { |
virtual BeginFrameSource* ConstructPrimaryFrameSource(Scheduler* scheduler); |
virtual BeginFrameSource* ConstructBackgroundFrameSource( |
Scheduler* scheduler); |
+ virtual BeginFrameSource* ConstructUnthrottledFrameSource( |
+ Scheduler* scheduler); |
protected: |
SchedulerFrameSourcesConstructor() {} |
@@ -112,6 +114,7 @@ class CC_EXPORT Scheduler : public BeginFrameObserverMixIn, |
void SetCanDraw(bool can_draw); |
void NotifyReadyToActivate(); |
void NotifyReadyToDraw(); |
+ void SetThrottleFrameProduction(bool throttle); |
void SetNeedsCommit(); |
@@ -184,12 +187,15 @@ class CC_EXPORT Scheduler : public BeginFrameObserverMixIn, |
scoped_ptr<BeginFrameSourceMultiplexer> frame_source_; |
BeginFrameSource* primary_frame_source_; |
BeginFrameSource* background_frame_source_; |
+ BeginFrameSource* unthrottled_frame_source_; |
// Storage when frame sources are internal |
scoped_ptr<BeginFrameSource> primary_frame_source_internal_; |
scoped_ptr<SyntheticBeginFrameSource> background_frame_source_internal_; |
+ scoped_ptr<BeginFrameSource> unthrottled_frame_source_internal_; |
VSyncParameterObserver* vsync_observer_; |
+ bool throttle_frame_production_; |
const SchedulerSettings settings_; |
SchedulerClient* client_; |
@@ -236,6 +242,7 @@ class CC_EXPORT Scheduler : public BeginFrameObserverMixIn, |
void PollToAdvanceCommitState(); |
void SetupPowerMonitoring(); |
void TeardownPowerMonitoring(); |
+ void UpdateActiveFrameSource(); |
base::TimeDelta EstimatedParentDrawTime() { |
return estimated_parent_draw_time_; |