Index: cc/scheduler/scheduler.h |
diff --git a/cc/scheduler/scheduler.h b/cc/scheduler/scheduler.h |
index 93d5b4ec55f9b06f3a2518c9ce9ee367f2369188..b9b51647502a263e391052f54c35b37172ed415f 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.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 DidFinishBeginFrameOnImplThread() = 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_; |