Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CONTENT_PUBLIC_TEST_MOCK_RENDER_PROCESS_HOST_H_ | 5 #ifndef CONTENT_PUBLIC_TEST_MOCK_RENDER_PROCESS_HOST_H_ |
| 6 #define CONTENT_PUBLIC_TEST_MOCK_RENDER_PROCESS_HOST_H_ | 6 #define CONTENT_PUBLIC_TEST_MOCK_RENDER_PROCESS_HOST_H_ |
| 7 | 7 |
| 8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
| 9 #include "base/memory/scoped_vector.h" | 9 #include "base/memory/scoped_vector.h" |
| 10 #include "content/public/browser/render_process_host.h" | 10 #include "content/public/browser/render_process_host.h" |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 110 virtual ~MockRenderProcessHostFactory(); | 110 virtual ~MockRenderProcessHostFactory(); |
| 111 | 111 |
| 112 virtual RenderProcessHost* CreateRenderProcessHost( | 112 virtual RenderProcessHost* CreateRenderProcessHost( |
| 113 BrowserContext* browser_context) const OVERRIDE; | 113 BrowserContext* browser_context) const OVERRIDE; |
| 114 | 114 |
| 115 // Removes the given MockRenderProcessHost from the MockRenderProcessHost list | 115 // Removes the given MockRenderProcessHost from the MockRenderProcessHost list |
| 116 // without deleting it. When a test deletes a MockRenderProcessHost, we need | 116 // without deleting it. When a test deletes a MockRenderProcessHost, we need |
| 117 // to remove it from |processes_| to prevent it from being deleted twice. | 117 // to remove it from |processes_| to prevent it from being deleted twice. |
| 118 void Remove(MockRenderProcessHost* host) const; | 118 void Remove(MockRenderProcessHost* host) const; |
| 119 | 119 |
| 120 class Observer { | |
| 121 public: | |
| 122 Observer(MockRenderProcessHostFactory* factory) : factory_(factory) { | |
| 123 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.
| |
| 124 } | |
| 125 virtual ~Observer(); | |
| 126 virtual void OnRenderProcessHostCreated(MockRenderProcessHost*) {} | |
| 127 virtual void OnRenderProcessHostDestroyed(MockRenderProcessHost*) {} | |
| 128 private: | |
| 129 MockRenderProcessHostFactory* factory_; | |
| 130 }; | |
| 131 | |
| 132 void AddObserver(Observer* obs) { | |
| 133 observer_list_.AddObserver(obs); | |
| 134 } | |
| 135 void RemoveObserver(Observer* obs) { | |
| 136 observer_list_.RemoveObserver(obs); | |
| 137 } | |
| 138 | |
| 120 private: | 139 private: |
| 121 // A list of MockRenderProcessHosts created by this object. This list is used | 140 // A list of MockRenderProcessHosts created by this object. This list is used |
| 122 // for deleting all MockRenderProcessHosts that have not deleted by a test in | 141 // for deleting all MockRenderProcessHosts that have not deleted by a test in |
| 123 // the destructor and prevent them from being leaked. | 142 // the destructor and prevent them from being leaked. |
| 124 mutable ScopedVector<MockRenderProcessHost> processes_; | 143 mutable ScopedVector<MockRenderProcessHost> processes_; |
| 125 | 144 |
| 145 mutable ObserverList<Observer> observer_list_; | |
| 146 | |
| 126 DISALLOW_COPY_AND_ASSIGN(MockRenderProcessHostFactory); | 147 DISALLOW_COPY_AND_ASSIGN(MockRenderProcessHostFactory); |
| 127 }; | 148 }; |
| 128 | 149 |
| 129 } // namespace content | 150 } // namespace content |
| 130 | 151 |
| 131 #endif // CONTENT_PUBLIC_TEST_MOCK_RENDER_PROCESS_HOST_H_ | 152 #endif // CONTENT_PUBLIC_TEST_MOCK_RENDER_PROCESS_HOST_H_ |
| OLD | NEW |