| Index: cc/scheduler/scheduler.h
|
| diff --git a/cc/scheduler/scheduler.h b/cc/scheduler/scheduler.h
|
| index 58561a574c1694cb106876a8878d1fda35430c72..6d79e9ca97280d2328e926fd4482f3a3c67b9a69 100644
|
| --- a/cc/scheduler/scheduler.h
|
| +++ b/cc/scheduler/scheduler.h
|
| @@ -8,6 +8,7 @@
|
| #include <string>
|
|
|
| #include "base/basictypes.h"
|
| +#include "base/cancelable_callback.h"
|
| #include "base/memory/scoped_ptr.h"
|
| #include "base/time/time.h"
|
| #include "cc/base/cc_export.h"
|
| @@ -46,6 +47,9 @@ class SchedulerClient {
|
| virtual base::TimeDelta DrawDurationEstimate() = 0;
|
| virtual base::TimeDelta BeginFrameToCommitDurationEstimate() = 0;
|
| virtual base::TimeDelta CommitToActivateDurationEstimate() = 0;
|
| + virtual void PostBeginFrameDeadline(const base::Closure& closure,
|
| + base::TimeTicks deadline) = 0;
|
| + virtual void DidBeginFrameDeadlineOnImplThread() = 0;
|
|
|
| protected:
|
| virtual ~SchedulerClient() {}
|
| @@ -98,6 +102,7 @@ class CC_EXPORT Scheduler {
|
| base::TimeTicks LastBeginFrameOnImplThreadTime();
|
|
|
| void BeginFrame(const BeginFrameArgs& args);
|
| + void OnBeginFrameDeadline();
|
|
|
| scoped_ptr<base::Value> StateAsValue() {
|
| return state_machine_.AsValue().Pass();
|
| @@ -107,6 +112,7 @@ class CC_EXPORT Scheduler {
|
| Scheduler(SchedulerClient* client,
|
| const SchedulerSettings& scheduler_settings);
|
|
|
| + void PostBeginFrameDeadline(base::TimeTicks deadline);
|
| void SetupNextBeginFrameIfNeeded();
|
| void DrawAndSwapIfPossible();
|
| void DrawAndSwapForced();
|
| @@ -122,6 +128,7 @@ class CC_EXPORT Scheduler {
|
| // workaround.
|
| bool safe_to_expect_begin_frame_;
|
| BeginFrameArgs last_begin_frame_args_;
|
| + base::CancelableClosure begin_frame_deadline_closure_;
|
|
|
| SchedulerStateMachine state_machine_;
|
| bool inside_process_scheduled_actions_;
|
|
|