Index: chrome/test/base/test_browser_window.h |
diff --git a/chrome/test/base/test_browser_window.h b/chrome/test/base/test_browser_window.h |
index e3411675aac8e51774d10d459a9be080603d2eee..e97473a64d5ed4c6014039f6bd28ba1c11d9a789 100644 |
--- a/chrome/test/base/test_browser_window.h |
+++ b/chrome/test/base/test_browser_window.h |
@@ -191,10 +191,26 @@ class TestBrowserWindow : public BrowserWindow { |
DISALLOW_COPY_AND_ASSIGN(TestBrowserWindow); |
}; |
+// Handles destroying a TestBrowserWindow when the Browser it is attached to is |
+// destroyed. |
+class TestBrowserWindowOwner : public chrome::BrowserListObserver { |
+ public: |
+ explicit TestBrowserWindowOwner(TestBrowserWindow* window); |
+ ~TestBrowserWindowOwner() override; |
+ |
+ private: |
+ // Overridden from BrowserListObserver: |
+ void OnBrowserRemoved(Browser* browser) override; |
+ scoped_ptr<TestBrowserWindow> window_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(TestBrowserWindowOwner); |
+}; |
+ |
namespace chrome { |
// Helper that handle the lifetime of TestBrowserWindow instances. |
-Browser* CreateBrowserWithTestWindowForParams(Browser::CreateParams* params); |
+scoped_ptr<Browser> CreateBrowserWithTestWindowForParams( |
+ Browser::CreateParams* params); |
} // namespace chrome |