Chromium Code Reviews| 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_; |