Index: content/public/test/mock_render_process_host.h |
diff --git a/content/public/test/mock_render_process_host.h b/content/public/test/mock_render_process_host.h |
index 832c5245207b050c9eb2aa9e2bbafa717b90e4f4..f8ebc6de0ca2f1a80faaa3fa3e71de46be943bbf 100644 |
--- a/content/public/test/mock_render_process_host.h |
+++ b/content/public/test/mock_render_process_host.h |
@@ -117,12 +117,31 @@ class MockRenderProcessHostFactory : public RenderProcessHostFactory { |
// to remove it from |processes_| to prevent it from being deleted twice. |
void Remove(MockRenderProcessHost* host) const; |
+ class Observer { |
+ public: |
+ Observer(MockRenderProcessHostFactory* factory); |
+ virtual ~Observer(); |
+ virtual void OnRenderProcessHostCreated(MockRenderProcessHost*) {} |
+ virtual void OnRenderProcessHostDestroyed(MockRenderProcessHost*) {} |
+ private: |
+ MockRenderProcessHostFactory* factory_; |
+ }; |
+ |
+ void AddObserver(Observer* obs) { |
+ observer_list_.AddObserver(obs); |
+ } |
+ void RemoveObserver(Observer* obs) { |
+ observer_list_.RemoveObserver(obs); |
+ } |
+ |
private: |
// A list of MockRenderProcessHosts created by this object. This list is used |
// for deleting all MockRenderProcessHosts that have not deleted by a test in |
// the destructor and prevent them from being leaked. |
mutable ScopedVector<MockRenderProcessHost> processes_; |
+ mutable ObserverList<Observer> observer_list_; |
+ |
DISALLOW_COPY_AND_ASSIGN(MockRenderProcessHostFactory); |
}; |