Chromium Code Reviews| 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); |