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

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

Issue 2792063003: Factor out RenderWidgetHostConnector (Closed)
Patch Set: destruction observer 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..b7d4f25fdf8b3c187397d1a9e0abcc015adc3b81 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,16 @@ class CONTENT_EXPORT RenderWidgetHostViewAndroid
void Blur();
+ // Interface used to observe the destruction of a RenderWidgetHostViewAndroid.
+ struct DestructionObserver {
boliu 2017/04/13 03:44:13 write a proper class if you need polymorphism, no
Jinsuk Kim 2017/04/13 04:20:20 Done. Turned to class.
+ virtual void RenderWidgetHostViewDestroyed(
+ RenderWidgetHostViewAndroid* rwhva) = 0;
+ };
+
+ void add_destruction_observer(DestructionObserver* connector) {
+ destruction_observers_.push_back(connector);
+ }
+
// RenderWidgetHostView implementation.
bool OnMessageReceived(const IPC::Message& msg) override;
void InitAsChild(gfx::NativeView parent_view) override;
@@ -404,6 +414,8 @@ class CONTENT_EXPORT RenderWidgetHostViewAndroid
cc::mojom::MojoCompositorFrameSinkClient* renderer_compositor_frame_sink_ =
nullptr;
+ std::list<DestructionObserver*> destruction_observers_;
+
base::WeakPtrFactory<RenderWidgetHostViewAndroid> weak_ptr_factory_;
DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewAndroid);

Powered by Google App Engine
This is Rietveld 408576698