Chromium Code Reviews| 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..33e62416dabc440fed399cc6abe21ec25fcbba3c 100644 |
| --- a/content/public/test/mock_render_process_host.h |
| +++ b/content/public/test/mock_render_process_host.h |
| @@ -117,12 +117,33 @@ 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) : factory_(factory) { |
| + factory->AddObserver(this); |
|
Paweł Hajdan Jr.
2013/04/04 21:30:05
nit: Why this code doesn't move the implementation
Jeffrey Yasskin
2013/04/05 13:14:01
Done.
|
| + } |
| + 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); |
| }; |