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 5108875532ebb81d4d469dc996d72ab24cfea820..2736782bcb23e92328c96e8af27f5f50de5f19e1 100644 |
| --- a/android_webview/browser/browser_view_renderer.h |
| +++ b/android_webview/browser/browser_view_renderer.h |
| @@ -8,6 +8,7 @@ |
| #include <stddef.h> |
| #include <map> |
| +#include <set> |
| #include "android_webview/browser/compositor_frame_producer.h" |
| #include "android_webview/browser/parent_compositor_draw_constraints.h" |
| @@ -52,10 +53,15 @@ class BrowserViewRenderer : public content::SynchronousCompositorClient, |
| void RegisterWithWebContents(content::WebContents* web_contents); |
| - // The BrowserViewRenderer client is responsible for ensuring that the |
| - // CompositorFrameConsumer has been set correctly via this method. |
| - void SetCompositorFrameConsumer( |
| + // The BrowserViewRenderer client is responsible for ensuring that |
| + // the current compositor frame consumer has been set correctly via |
| + // this method. The consumer is added to the set of registered |
| + // consumers if it is not already registered. |
| + void SetCurrentCompositorFrameConsumer( |
| CompositorFrameConsumer* compositor_frame_consumer); |
| + CompositorFrameConsumer* current_compositor_frame_consumer() { |
|
boliu
2016/05/10 15:18:19
not used?
Tobias Sargeant
2016/05/13 13:23:56
Removed.
|
| + return current_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. |
| @@ -124,8 +130,10 @@ class BrowserViewRenderer : public content::SynchronousCompositorClient, |
| const gfx::Vector2dF& current_fling_velocity) override; |
| // CompositorFrameProducer overrides |
| - void OnParentDrawConstraintsUpdated() override; |
| - void OnCompositorFrameConsumerWillDestroy() override; |
| + void OnParentDrawConstraintsUpdated( |
| + CompositorFrameConsumer* compositor_frame_consumer) override; |
| + void RemoveCompositorFrameConsumer( |
| + CompositorFrameConsumer* compositor_frame_consumer) override; |
| private: |
| void SetTotalRootLayerScrollOffset(const gfx::Vector2dF& new_value_dip); |
| @@ -152,7 +160,8 @@ class BrowserViewRenderer : public content::SynchronousCompositorClient, |
| BrowserViewRendererClient* const client_; |
| const scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner_; |
| - CompositorFrameConsumer* compositor_frame_consumer_; |
| + CompositorFrameConsumer* current_compositor_frame_consumer_; |
| + std::set<CompositorFrameConsumer*> compositor_frame_consumers_; |
| // The current compositor that's owned by the current RVH. |
| content::SynchronousCompositor* compositor_; |