| Index: cc/scheduler/scheduler.h
|
| diff --git a/cc/scheduler/scheduler.h b/cc/scheduler/scheduler.h
|
| index 710aec43c28153ab65c400a31bf15b0c54c5060c..2c3b68c52dfda8f54af9e44e3d303cba1d96827c 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 void ScheduledActionAcquireLayerTexturesForMainThread() = 0;
|
| virtual void DidAnticipatedDrawTimeChange(base::TimeTicks time) = 0;
|
| virtual base::TimeDelta DrawDurationEstimate() = 0;
|
| + virtual void PostBeginFrameDeadline(const base::Closure& closure,
|
| + base::TimeTicks deadline) = 0;
|
| + virtual void DidBeginFrameDeadlineOnImplThread() = 0;
|
|
|
| protected:
|
| virtual ~SchedulerClient() {}
|
| @@ -65,7 +69,7 @@ class CC_EXPORT Scheduler {
|
|
|
| void SetVisible(bool visible);
|
| void SetCanDraw(bool can_draw);
|
| - void SetHasPendingTree(bool has_pending_tree);
|
| + void SetHasTrees(bool has_pending_tree, bool active_tree_is_null);
|
|
|
| void SetNeedsCommit();
|
|
|
| @@ -102,6 +106,7 @@ class CC_EXPORT Scheduler {
|
| base::TimeTicks LastBeginFrameOnImplThreadTime();
|
|
|
| void BeginFrame(const BeginFrameArgs& args);
|
| + void OnBeginFrameDeadline();
|
|
|
| std::string StateAsStringForTesting() { return state_machine_.ToString(); }
|
|
|
| @@ -109,6 +114,7 @@ class CC_EXPORT Scheduler {
|
| Scheduler(SchedulerClient* client,
|
| const SchedulerSettings& scheduler_settings);
|
|
|
| + void PostBeginFrameDeadline(base::TimeTicks deadline);
|
| void SetupNextBeginFrameIfNeeded();
|
| void DrawAndSwapIfPossible();
|
| void DrawAndSwapForced();
|
| @@ -124,6 +130,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_;
|
|
|