| Index: content/browser/renderer_host/render_widget_host_view_base.h | 
| diff --git a/content/browser/renderer_host/render_widget_host_view_base.h b/content/browser/renderer_host/render_widget_host_view_base.h | 
| index 5c2495c803d862ba575486f7bb9822af46e2cee4..94fbbb63af8992c4c305c64a6f0bc751540dddac 100644 | 
| --- a/content/browser/renderer_host/render_widget_host_view_base.h | 
| +++ b/content/browser/renderer_host/render_widget_host_view_base.h | 
| @@ -14,6 +14,7 @@ | 
| #include "base/callback_forward.h" | 
| #include "base/macros.h" | 
| #include "base/memory/scoped_ptr.h" | 
| +#include "base/observer_list.h" | 
| #include "base/process/kill.h" | 
| #include "base/timer/timer.h" | 
| #include "build/build_config.h" | 
| @@ -63,6 +64,7 @@ class LatencyInfo; | 
| namespace content { | 
| class BrowserAccessibilityDelegate; | 
| class BrowserAccessibilityManager; | 
| +class RenderWidgetHostViewBaseObserver; | 
| class SyntheticGesture; | 
| class SyntheticGestureTarget; | 
| class WebCursor; | 
| @@ -389,6 +391,12 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView, | 
| static void DetachPluginWindowsCallback(HWND window); | 
| #endif | 
|  | 
| +  // Add and remove observers for lifetime event notifications. The order in | 
| +  // which notifications are sent to observers is undefined. Clients must be | 
| +  // sure to remove the observer before they go away. | 
| +  void AddObserver(RenderWidgetHostViewBaseObserver* observer); | 
| +  void RemoveObserver(RenderWidgetHostViewBaseObserver* observer); | 
| + | 
| // Exposed for testing. | 
| virtual cc::SurfaceId SurfaceIdForTesting() const; | 
|  | 
| @@ -396,6 +404,8 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView, | 
| // Interface class only, do not construct. | 
| RenderWidgetHostViewBase(); | 
|  | 
| +  void NotifyObserversAboutShutdown(); | 
| + | 
| #if defined(OS_WIN) | 
| // Shared implementation of MovePluginWindows for use by win and aura/wina. | 
| static void MovePluginWindowsHelper( | 
| @@ -458,6 +468,8 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView, | 
|  | 
| base::OneShotTimer flush_input_timer_; | 
|  | 
| +  base::ObserverList<RenderWidgetHostViewBaseObserver> observers_; | 
| + | 
| base::WeakPtrFactory<RenderWidgetHostViewBase> weak_factory_; | 
|  | 
| DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewBase); | 
|  |