Index: cc/trees/thread_proxy.h |
diff --git a/cc/trees/thread_proxy.h b/cc/trees/thread_proxy.h |
index 1f5f29eec6c28c6b4071c0a5d6885cd9ff2d2cfe..bba9716489da495b0635070dfad75a2d955b2e8d 100644 |
--- a/cc/trees/thread_proxy.h |
+++ b/cc/trees/thread_proxy.h |
@@ -72,7 +72,9 @@ class ThreadProxy : public Proxy, |
virtual void DidLoseOutputSurfaceOnImplThread() OVERRIDE; |
virtual void OnSwapBuffersCompleteOnImplThread() OVERRIDE; |
virtual void BeginFrameOnImplThread(const BeginFrameArgs& args) OVERRIDE; |
+ virtual void DidBeginFrameDeadlineOnImplThread() OVERRIDE; |
virtual void OnCanDrawStateChanged(bool can_draw) OVERRIDE; |
+ virtual void NotifyReadyToActivate() OVERRIDE; |
virtual void OnHasPendingTreeStateChanged(bool has_pending_tree) OVERRIDE; |
virtual void SetNeedsRedrawOnImplThread() OVERRIDE; |
virtual void SetNeedsRedrawRectOnImplThread(gfx::Rect dirty_rect) OVERRIDE; |
@@ -95,19 +97,21 @@ class ThreadProxy : public Proxy, |
// SchedulerClient implementation |
virtual void SetNeedsBeginFrameOnImplThread(bool enable) OVERRIDE; |
virtual void ScheduledActionSendBeginFrameToMainThread() OVERRIDE; |
- virtual ScheduledActionDrawAndSwapResult |
- ScheduledActionDrawAndSwapIfPossible() OVERRIDE; |
- virtual ScheduledActionDrawAndSwapResult ScheduledActionDrawAndSwapForced() |
+ virtual DrawSwapReadbackResult ScheduledActionDrawAndSwapIfPossible() |
OVERRIDE; |
+ virtual DrawSwapReadbackResult ScheduledActionDrawAndSwapForced() OVERRIDE; |
+ virtual DrawSwapReadbackResult ScheduledActionDrawAndReadback() OVERRIDE; |
virtual void ScheduledActionCommit() OVERRIDE; |
virtual void ScheduledActionUpdateVisibleTiles() OVERRIDE; |
- virtual void ScheduledActionActivatePendingTreeIfNeeded() OVERRIDE; |
+ virtual void ScheduledActionActivatePendingTree() OVERRIDE; |
virtual void ScheduledActionBeginOutputSurfaceCreation() OVERRIDE; |
virtual void ScheduledActionAcquireLayerTexturesForMainThread() OVERRIDE; |
virtual void DidAnticipatedDrawTimeChange(base::TimeTicks time) OVERRIDE; |
virtual base::TimeDelta DrawDurationEstimate() OVERRIDE; |
virtual base::TimeDelta BeginFrameToCommitDurationEstimate() OVERRIDE; |
virtual base::TimeDelta CommitToActivateDurationEstimate() OVERRIDE; |
+ virtual void PostBeginFrameDeadline(const base::Closure& closure, |
+ base::TimeTicks deadline) OVERRIDE; |
// ResourceUpdateControllerClient implementation |
virtual void ReadyToFinalizeTextureUpdates() OVERRIDE; |
@@ -144,13 +148,13 @@ class ThreadProxy : public Proxy, |
struct CommitPendingRequest; |
struct SchedulerStateRequest; |
- void ForceCommitOnImplThread(CompletionEvent* completion); |
+ void ForceCommitForReadbackOnImplThread(CompletionEvent* completion, |
+ ReadbackRequest* request); |
void StartCommitOnImplThread( |
CompletionEvent* completion, |
ResourceUpdateQueue* queue, |
scoped_refptr<cc::ContextProvider> offscreen_context_provider); |
void BeginFrameAbortedByMainThreadOnImplThread(bool did_handle); |
- void RequestReadbackOnImplThread(ReadbackRequest* request); |
void FinishAllRenderingOnImplThread(CompletionEvent* completion); |
void InitializeImplOnImplThread(CompletionEvent* completion); |
void SetLayerTreeHostClientReadyOnImplThread(); |
@@ -168,8 +172,10 @@ class ThreadProxy : public Proxy, |
void LayerTreeHostClosedOnImplThread(CompletionEvent* completion); |
void AcquireLayerTexturesForMainThreadOnImplThread( |
CompletionEvent* completion); |
- ScheduledActionDrawAndSwapResult ScheduledActionDrawAndSwapInternal( |
- bool forced_draw); |
+ DrawSwapReadbackResult ScheduledActionDrawSwapReadbackInternal( |
+ bool forced_draw, |
+ bool swap_requested, |
+ bool readback_requested); |
void ForceSerializeOnSwapBuffersOnImplThread(CompletionEvent* completion); |
void CheckOutputSurfaceStatusOnImplThread(); |
void CommitPendingOnImplThreadForTesting(CommitPendingRequest* request); |
@@ -214,6 +220,7 @@ class ThreadProxy : public Proxy, |
scoped_ptr<LayerTreeHostImpl> layer_tree_host_impl_; |
scoped_ptr<Scheduler> scheduler_on_impl_thread_; |
+ bool frame_did_draw_; |
// Set when the main thread is waiting on a |
// ScheduledActionSendBeginFrameToMainThread to be issued. |