Index: cc/scheduler/scheduler.h |
diff --git a/cc/scheduler/scheduler.h b/cc/scheduler/scheduler.h |
index dea7c3e541004fd0bce31f182b501ca0e16be845..addd5aa5717c87df084b1c296d89b0c4840179d5 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_; |
enne (OOO)
2014/12/15 23:21:07
Maybe it's not possible, but I kind of wish that t
brianderson
2014/12/16 22:36:42
We could move the existing internal synthetic Begi
|
// 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_; |
@@ -238,6 +244,7 @@ class CC_EXPORT Scheduler : public BeginFrameObserverMixIn, |
void PollToAdvanceCommitState(); |
void SetupPowerMonitoring(); |
void TeardownPowerMonitoring(); |
+ void UpdateActiveFrameSource(); |
base::TimeDelta EstimatedParentDrawTime() { |
return estimated_parent_draw_time_; |