| Index: cc/trees/thread_proxy.h
|
| diff --git a/cc/trees/thread_proxy.h b/cc/trees/thread_proxy.h
|
| index 544ef87d6591d2e7e5951be1499df15831aa9603..cee844b0077da6688ef91c6642c49f2a3a6bf5ca 100644
|
| --- a/cc/trees/thread_proxy.h
|
| +++ b/cc/trees/thread_proxy.h
|
| @@ -71,6 +71,7 @@ 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 OnHasPendingTreeStateChanged(bool has_pending_tree) OVERRIDE;
|
| virtual void SetNeedsRedrawOnImplThread() OVERRIDE;
|
| @@ -94,10 +95,12 @@ class ThreadProxy : public Proxy,
|
| // SchedulerClient implementation
|
| virtual void SetNeedsBeginFrameOnImplThread(bool enable) OVERRIDE;
|
| virtual void ScheduledActionSendBeginFrameToMainThread() OVERRIDE;
|
| - virtual ScheduledActionDrawAndSwapResult
|
| + virtual ScheduledActionDrawSwapReadbackResult
|
| ScheduledActionDrawAndSwapIfPossible() OVERRIDE;
|
| - virtual ScheduledActionDrawAndSwapResult ScheduledActionDrawAndSwapForced()
|
| - OVERRIDE;
|
| + virtual ScheduledActionDrawSwapReadbackResult
|
| + ScheduledActionDrawAndSwapForced() OVERRIDE;
|
| + virtual ScheduledActionDrawSwapReadbackResult
|
| + ScheduledActionDrawAndReadback() OVERRIDE;
|
| virtual void ScheduledActionCommit() OVERRIDE;
|
| virtual void ScheduledActionCheckForCompletedTileUploads() OVERRIDE;
|
| virtual void ScheduledActionActivatePendingTreeIfNeeded() OVERRIDE;
|
| @@ -105,6 +108,8 @@ class ThreadProxy : public Proxy,
|
| virtual void ScheduledActionAcquireLayerTexturesForMainThread() OVERRIDE;
|
| virtual void DidAnticipatedDrawTimeChange(base::TimeTicks time) OVERRIDE;
|
| virtual base::TimeDelta DrawDurationEstimate() OVERRIDE;
|
| + virtual void PostBeginFrameDeadline(const base::Closure& closure,
|
| + base::TimeTicks deadline) OVERRIDE;
|
|
|
| // ResourceUpdateControllerClient implementation
|
| virtual void ReadyToFinalizeTextureUpdates() OVERRIDE;
|
| @@ -140,13 +145,14 @@ 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();
|
| - void RequestReadbackOnImplThread(ReadbackRequest* request);
|
| void FinishAllRenderingOnImplThread(CompletionEvent* completion);
|
| void InitializeImplOnImplThread(CompletionEvent* completion);
|
| void SetLayerTreeHostClientReadyOnImplThread();
|
| @@ -164,8 +170,8 @@ class ThreadProxy : public Proxy,
|
| void LayerTreeHostClosedOnImplThread(CompletionEvent* completion);
|
| void AcquireLayerTexturesForMainThreadOnImplThread(
|
| CompletionEvent* completion);
|
| - ScheduledActionDrawAndSwapResult ScheduledActionDrawAndSwapInternal(
|
| - bool forced_draw);
|
| + ScheduledActionDrawSwapReadbackResult ScheduledActionDrawSwapReadbackInternal(
|
| + bool forced_draw, bool swap_requested, bool readback_requested);
|
| void ForceSerializeOnSwapBuffersOnImplThread(CompletionEvent* completion);
|
| void CheckOutputSurfaceStatusOnImplThread();
|
| void CommitPendingOnImplThreadForTesting(CommitPendingRequest* request);
|
| @@ -211,12 +217,16 @@ 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.
|
| CompletionEvent*
|
| begin_frame_sent_to_main_thread_completion_event_on_impl_thread_;
|
|
|
| + // Set when there is a pending tree on a commit.
|
| + base::Closure deferred_start_commit_on_impl_thread_;
|
| +
|
| // Set when the main thread is waiting on a readback.
|
| ReadbackRequest* readback_request_on_impl_thread_;
|
|
|
|
|