Index: cc/scheduler/scheduler.h |
diff --git a/cc/scheduler/scheduler.h b/cc/scheduler/scheduler.h |
index 311a71d4b0a66135b84cd0f5f0e1ea9279548d4c..778bfb351bf626a1498b0c2527ff998402adba07 100644 |
--- a/cc/scheduler/scheduler.h |
+++ b/cc/scheduler/scheduler.h |
@@ -46,6 +46,7 @@ class SchedulerClient { |
virtual base::TimeDelta BeginMainFrameToCommitDurationEstimate() = 0; |
virtual base::TimeDelta CommitToActivateDurationEstimate() = 0; |
virtual void DidBeginImplFrameDeadline() = 0; |
+ virtual void SendBeginFrameToChildren(const BeginFrameArgs& args) = 0; |
protected: |
virtual ~SchedulerClient() {} |
@@ -58,8 +59,10 @@ class CC_EXPORT Scheduler { |
const SchedulerSettings& scheduler_settings, |
int layer_tree_host_id, |
const scoped_refptr<base::SingleThreadTaskRunner>& task_runner) { |
- return make_scoped_ptr(new Scheduler( |
- client, scheduler_settings, layer_tree_host_id, task_runner)); |
+ return make_scoped_ptr(new Scheduler(client, |
+ scheduler_settings, |
+ layer_tree_host_id, |
+ task_runner)); |
} |
virtual ~Scheduler(); |
@@ -143,6 +146,11 @@ class CC_EXPORT Scheduler { |
state_machine_.SetContinuousPainting(continuous_painting); |
} |
+ // SetChildrenNeedBeginFrames() is only used when this Scheduler is acting |
+ // as the publisher. |
+ void SetChildrenNeedBeginFrames(bool need_begin_frame); |
+ void SetAuthoritativeVSyncInterval(base::TimeDelta interval); |
+ |
protected: |
class CC_EXPORT SyntheticBeginFrameSource : public TimeSourceClient { |
public: |
@@ -184,6 +192,9 @@ class CC_EXPORT Scheduler { |
scoped_refptr<base::SingleThreadTaskRunner> task_runner_; |
base::TimeDelta vsync_interval_; |
+ base::TimeDelta authoritative_vsync_interval_; |
mithro-old
2014/09/09 03:22:37
What is the difference between "authoritative_vsyn
|
+ base::TimeTicks last_timebase_; |
+ |
base::TimeDelta estimated_parent_draw_time_; |
bool last_set_needs_begin_frame_; |