Chromium Code Reviews| Index: android_webview/browser/browser_view_renderer.h |
| diff --git a/android_webview/browser/browser_view_renderer.h b/android_webview/browser/browser_view_renderer.h |
| index fe6cad755461a1250e31005953a80d5e0e11adab..ef7fa41d781502a658bd580d7075122fe5ef9215 100644 |
| --- a/android_webview/browser/browser_view_renderer.h |
| +++ b/android_webview/browser/browser_view_renderer.h |
| @@ -9,8 +9,9 @@ |
| #include <map> |
| +#include "android_webview/browser/compositor_frame_consumer.h" |
|
boliu
2016/04/21 17:05:39
should only need a forward declaration in header
Tobias Sargeant
2016/04/21 17:48:27
Done.
|
| +#include "android_webview/browser/compositor_frame_producer.h" |
| #include "android_webview/browser/parent_compositor_draw_constraints.h" |
| -#include "android_webview/browser/render_thread_manager.h" |
| #include "base/callback.h" |
| #include "base/cancelable_callback.h" |
| #include "base/macros.h" |
| @@ -36,7 +37,8 @@ class ChildFrame; |
| // Interface for all the WebView-specific content rendering operations. |
| // Provides software and hardware rendering and the Capture Picture API. |
| -class BrowserViewRenderer : public content::SynchronousCompositorClient { |
| +class BrowserViewRenderer : public content::SynchronousCompositorClient, |
| + public CompositorFrameProducer { |
| public: |
| static void CalculateTileMemoryPolicy(); |
| static BrowserViewRenderer* FromWebContents( |
| @@ -52,8 +54,9 @@ class BrowserViewRenderer : public content::SynchronousCompositorClient { |
| void RegisterWithWebContents(content::WebContents* web_contents); |
| // The BrowserViewRenderer client is responsible for ensuring that the |
| - // RenderThreadManager has been set correctly via this method. |
| - void SetRenderThreadManager(RenderThreadManager* render_thread_manager); |
| + // CompositorFrameConsumer has been set correctly via this method. |
| + void SetCompositorFrameConsumer( |
| + CompositorFrameConsumer* compositor_frame_consumer); |
| // Called before either OnDrawHardware or OnDrawSoftware to set the view |
| // state of this frame. |scroll| is the view's current scroll offset. |
| @@ -121,8 +124,11 @@ class BrowserViewRenderer : public content::SynchronousCompositorClient { |
| const gfx::Vector2dF& latest_overscroll_delta, |
| const gfx::Vector2dF& current_fling_velocity) override; |
| - void OnParentDrawConstraintsUpdated(); |
| - void DetachFunctorFromView(); |
| + // CompositorFrameProducer overrides |
| + void OnParentDrawConstraintsUpdated( |
| + CompositorFrameConsumer* compositor_frame_consumer) override; |
| + void OnCompositorFrameConsumerWillDestroy( |
| + CompositorFrameConsumer* compositor_frame_consumer) override; |
| private: |
| void SetTotalRootLayerScrollOffset(const gfx::Vector2dF& new_value_dip); |
| @@ -134,8 +140,9 @@ class BrowserViewRenderer : public content::SynchronousCompositorClient { |
| const gfx::SizeF& scrollable_size_dip); |
| void ReturnUnusedResource(std::unique_ptr<ChildFrame> frame); |
| - void ReturnResourceFromParent(); |
| - void ReleaseHardware(); |
| + void ReturnResourceFromParent( |
| + CompositorFrameConsumer* compositor_frame_consumer); |
| + void ReleaseHardware(CompositorFrameConsumer* compositor_frame_consumer); |
| gfx::Vector2d max_scroll_offset() const; |
| @@ -148,7 +155,7 @@ class BrowserViewRenderer : public content::SynchronousCompositorClient { |
| BrowserViewRendererClient* const client_; |
| const scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner_; |
| - RenderThreadManager* render_thread_manager_; |
| + CompositorFrameConsumer* compositor_frame_consumer_; |
| bool disable_page_visibility_; |
| // The current compositor that's owned by the current RVH. |