| Index: cc/trees/thread_proxy.h
|
| diff --git a/cc/trees/thread_proxy.h b/cc/trees/thread_proxy.h
|
| index 2f3e7c56a671bb48257713001e072a385b398412..adccf725d7aa7e1abf4061120964227af495fb00 100644
|
| --- a/cc/trees/thread_proxy.h
|
| +++ b/cc/trees/thread_proxy.h
|
| @@ -25,6 +25,7 @@ class SingleThreadTaskRunner;
|
|
|
| namespace cc {
|
|
|
| +class BeginFrameSource;
|
| class ContextProvider;
|
| class InputHandlerClient;
|
| class LayerTreeHost;
|
| @@ -40,7 +41,8 @@ class CC_EXPORT ThreadProxy : public Proxy,
|
| static scoped_ptr<Proxy> Create(
|
| LayerTreeHost* layer_tree_host,
|
| scoped_refptr<base::SingleThreadTaskRunner> main_task_runner,
|
| - scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner);
|
| + scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner,
|
| + scoped_ptr<BeginFrameSource> external_begin_frame_source);
|
|
|
| ~ThreadProxy() override;
|
|
|
| @@ -96,7 +98,8 @@ class CC_EXPORT ThreadProxy : public Proxy,
|
| CompositorThreadOnly(
|
| ThreadProxy* proxy,
|
| int layer_tree_host_id,
|
| - RenderingStatsInstrumentation* rendering_stats_instrumentation);
|
| + RenderingStatsInstrumentation* rendering_stats_instrumentation,
|
| + scoped_ptr<BeginFrameSource> external_begin_frame_source);
|
| ~CompositorThreadOnly();
|
|
|
| const int layer_tree_host_id;
|
| @@ -137,6 +140,8 @@ class CC_EXPORT ThreadProxy : public Proxy,
|
|
|
| ProxyTimingHistory timing_history;
|
|
|
| + scoped_ptr<BeginFrameSource> external_begin_frame_source;
|
| +
|
| scoped_ptr<LayerTreeHostImpl> layer_tree_host_impl;
|
| base::WeakPtrFactory<ThreadProxy> weak_factory;
|
| };
|
| @@ -182,6 +187,7 @@ class CC_EXPORT ThreadProxy : public Proxy,
|
| void DidSwapBuffersCompleteOnImplThread() override;
|
| void OnCanDrawStateChanged(bool can_draw) override;
|
| void NotifyReadyToActivate() override;
|
| + void NotifyReadyToDraw() override;
|
| // Please call these 3 functions through
|
| // LayerTreeHostImpl's SetNeedsRedraw(), SetNeedsRedrawRect() and
|
| // SetNeedsAnimate().
|
| @@ -203,7 +209,6 @@ class CC_EXPORT ThreadProxy : public Proxy,
|
| void DidManageTiles() override;
|
|
|
| // SchedulerClient implementation
|
| - BeginFrameSource* ExternalBeginFrameSource() override;
|
| void WillBeginImplFrame(const BeginFrameArgs& args) override;
|
| void ScheduledActionSendBeginMainFrame() override;
|
| DrawResult ScheduledActionDrawAndSwapIfPossible() override;
|
| @@ -224,9 +229,11 @@ class CC_EXPORT ThreadProxy : public Proxy,
|
| void ReadyToFinalizeTextureUpdates() override;
|
|
|
| protected:
|
| - ThreadProxy(LayerTreeHost* layer_tree_host,
|
| - scoped_refptr<base::SingleThreadTaskRunner> main_task_runner,
|
| - scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner);
|
| + ThreadProxy(
|
| + LayerTreeHost* layer_tree_host,
|
| + scoped_refptr<base::SingleThreadTaskRunner> main_task_runner,
|
| + scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner,
|
| + scoped_ptr<BeginFrameSource> external_begin_frame_source);
|
|
|
| private:
|
| // Called on main thread.
|
| @@ -253,7 +260,6 @@ class CC_EXPORT ThreadProxy : public Proxy,
|
| void InitializeImplOnImplThread(CompletionEvent* completion);
|
| void SetLayerTreeHostClientReadyOnImplThread();
|
| void SetVisibleOnImplThread(CompletionEvent* completion, bool visible);
|
| - void UpdateBackgroundAnimateTicking();
|
| void HasInitializedOutputSurfaceOnImplThread(
|
| CompletionEvent* completion,
|
| bool* has_initialized_output_surface);
|
|
|