Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6501)

Unified Diff: content/browser/renderer_host/render_widget_host_view_android.h

Issue 2792063003: Factor out RenderWidgetHostConnector (Closed)
Patch Set: base::ObserverList Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/render_widget_host_view_android.h
diff --git a/content/browser/renderer_host/render_widget_host_view_android.h b/content/browser/renderer_host/render_widget_host_view_android.h
index cd3964b2c3a88cb611afff495b45073da8480865..99c577189c17eb8a409cfede6b2f2d3a5e569de0 100644
--- a/content/browser/renderer_host/render_widget_host_view_android.h
+++ b/content/browser/renderer_host/render_widget_host_view_android.h
@@ -78,6 +78,19 @@ class CONTENT_EXPORT RenderWidgetHostViewAndroid
void Blur();
+ // Interface used to observe the destruction of a RenderWidgetHostViewAndroid.
+ class DestructionObserver {
+ public:
+ virtual void RenderWidgetHostViewDestroyed(
+ RenderWidgetHostViewAndroid* rwhva) = 0;
+
+ protected:
+ virtual ~DestructionObserver() {}
+ };
+
+ void AddDestructionObserver(DestructionObserver* connector);
+ void RemoveDestructionObserver(DestructionObserver* connector);
+
// RenderWidgetHostView implementation.
bool OnMessageReceived(const IPC::Message& msg) override;
void InitAsChild(gfx::NativeView parent_view) override;
@@ -404,6 +417,8 @@ class CONTENT_EXPORT RenderWidgetHostViewAndroid
cc::mojom::MojoCompositorFrameSinkClient* renderer_compositor_frame_sink_ =
nullptr;
+ base::ObserverList<DestructionObserver> destruction_observers_;
+
base::WeakPtrFactory<RenderWidgetHostViewAndroid> weak_ptr_factory_;
DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewAndroid);

Powered by Google App Engine
This is Rietveld 408576698