summaryrefslogtreecommitdiffstats
path: root/chrome/test
diff options
context:
space:
mode:
authorben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-25 20:14:29 +0000
committerben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-25 20:14:29 +0000
commita4fe67013ea54ca4f550d8c27b55b180fe0c4a70 (patch)
treea2eb4697a22a3ea49aeece7a395286a6e84fda0f /chrome/test
parentf82480eb8c899f51177505494a485587c60e7ad4 (diff)
downloadchromium_src-a4fe67013ea54ca4f550d8c27b55b180fe0c4a70.zip
chromium_src-a4fe67013ea54ca4f550d8c27b55b180fe0c4a70.tar.gz
chromium_src-a4fe67013ea54ca4f550d8c27b55b180fe0c4a70.tar.bz2
Consolidate Browser Creation.
. Make all instantiators use a single ctor that takes CreateParams. . Get rid of InitBrowserWindow() and make CreateBrowserWindow() a anonymous namespace function in browser.cc http://crbug.com/133576 TEST=none Review URL: https://chromiumcodereview.appspot.com/10692195 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@148396 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test')
-rw-r--r--chrome/test/base/browser_with_test_window_test.cc7
-rw-r--r--chrome/test/base/in_process_browser_test.cc12
-rw-r--r--chrome/test/base/test_browser_window.cc47
-rw-r--r--chrome/test/base/test_browser_window.h11
4 files changed, 66 insertions, 11 deletions
diff --git a/chrome/test/base/browser_with_test_window_test.cc b/chrome/test/base/browser_with_test_window_test.cc
index 8c3fcb4..85c5895 100644
--- a/chrome/test/base/browser_with_test_window_test.cc
+++ b/chrome/test/base/browser_with_test_window_test.cc
@@ -41,9 +41,10 @@ void BrowserWithTestWindowTest::SetUp() {
testing::Test::SetUp();
set_profile(CreateProfile());
- browser_.reset(new Browser(Browser::TYPE_TABBED, profile()));
- window_.reset(new TestBrowserWindow(browser()));
- browser_->SetWindowForTesting(window_.get());
+ window_.reset(new TestBrowserWindow);
+ Browser::CreateParams params(profile());
+ params.window = window_.get();
+ browser_.reset(new Browser(params));
#if defined(USE_AURA)
aura_test_helper_.reset(new aura::test::AuraTestHelper(&ui_loop_));
aura_test_helper_->SetUp();
diff --git a/chrome/test/base/in_process_browser_test.cc b/chrome/test/base/in_process_browser_test.cc
index f3fa9a5..f493a3a 100644
--- a/chrome/test/base/in_process_browser_test.cc
+++ b/chrome/test/base/in_process_browser_test.cc
@@ -237,22 +237,22 @@ bool InProcessBrowserTest::SetUpUserDataDirectory() {
// Creates a browser with a single tab (about:blank), waits for the tab to
// finish loading and shows the browser.
Browser* InProcessBrowserTest::CreateBrowser(Profile* profile) {
- Browser* browser = Browser::Create(profile);
+ Browser* browser = new Browser(Browser::CreateParams(profile));
AddBlankTabAndShow(browser);
return browser;
}
Browser* InProcessBrowserTest::CreateIncognitoBrowser() {
// Create a new browser with using the incognito profile.
- Browser* incognito =
- Browser::Create(browser()->profile()->GetOffTheRecordProfile());
+ Browser* incognito = new Browser(
+ Browser::CreateParams(browser()->profile()->GetOffTheRecordProfile()));
AddBlankTabAndShow(incognito);
return incognito;
}
Browser* InProcessBrowserTest::CreateBrowserForPopup(Profile* profile) {
- Browser* browser = Browser::CreateWithParams(
- Browser::CreateParams(Browser::TYPE_POPUP, profile));
+ Browser* browser =
+ new Browser(Browser::CreateParams(Browser::TYPE_POPUP, profile));
AddBlankTabAndShow(browser);
return browser;
}
@@ -260,7 +260,7 @@ Browser* InProcessBrowserTest::CreateBrowserForPopup(Profile* profile) {
Browser* InProcessBrowserTest::CreateBrowserForApp(
const std::string& app_name,
Profile* profile) {
- Browser* browser = Browser::CreateWithParams(
+ Browser* browser = new Browser(
Browser::CreateParams::CreateForApp(
Browser::TYPE_POPUP, app_name, gfx::Rect(), profile));
AddBlankTabAndShow(browser);
diff --git a/chrome/test/base/test_browser_window.cc b/chrome/test/base/test_browser_window.cc
index a09b8e8..e489ed5 100644
--- a/chrome/test/base/test_browser_window.cc
+++ b/chrome/test/base/test_browser_window.cc
@@ -4,11 +4,13 @@
#include "chrome/test/base/test_browser_window.h"
+#include "chrome/browser/ui/browser_list.h"
+#include "chrome/browser/ui/browser_list_observer.h"
#include "ui/gfx/rect.h"
using content::NativeWebKeyboardEvent;
-TestBrowserWindow::TestBrowserWindow(Browser* browser) {}
+TestBrowserWindow::TestBrowserWindow() {}
TestBrowserWindow::~TestBrowserWindow() {}
@@ -130,3 +132,46 @@ WindowOpenDisposition TestBrowserWindow::GetDispositionForPopupBounds(
FindBar* TestBrowserWindow::CreateFindBar() {
return NULL;
}
+
+namespace chrome {
+
+namespace {
+
+// Handles destroying a TestBrowserWindow when the Browser it is attached to is
+// destroyed.
+class TestBrowserWindowOwner : public chrome::BrowserListObserver {
+ public:
+ explicit TestBrowserWindowOwner(TestBrowserWindow* window) : window_(window) {
+ BrowserList::AddObserver(this);
+ }
+ virtual ~TestBrowserWindowOwner() {
+ BrowserList::RemoveObserver(this);
+ }
+
+ private:
+ // Overridden from BrowserListObserver:
+ virtual void OnBrowserRemoved(Browser* browser) OVERRIDE {
+ if (browser->window() == window_.get())
+ delete this;
+ }
+
+ scoped_ptr<TestBrowserWindow> window_;
+
+ DISALLOW_COPY_AND_ASSIGN(TestBrowserWindowOwner);
+};
+
+} // namespace
+
+Browser* CreateBrowserWithTestWindowForProfile(Profile* profile) {
+ Browser::CreateParams params(profile);
+ return CreateBrowserWithTestWindowForParams(&params);
+}
+
+Browser* CreateBrowserWithTestWindowForParams(Browser::CreateParams* params) {
+ TestBrowserWindow* window = new TestBrowserWindow;
+ new TestBrowserWindowOwner(window);
+ params->window = window;
+ return new Browser(*params);
+}
+
+} // namespace chrome
diff --git a/chrome/test/base/test_browser_window.h b/chrome/test/base/test_browser_window.h
index 4ef2ab7..2a5c974 100644
--- a/chrome/test/base/test_browser_window.h
+++ b/chrome/test/base/test_browser_window.h
@@ -8,6 +8,7 @@
#include "base/basictypes.h"
#include "base/compiler_specific.h"
#include "build/build_config.h"
+#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_window.h"
#include "chrome/test/base/test_location_bar.h"
@@ -20,7 +21,7 @@ class Extension;
// See BrowserWithTestWindowTest for an example of using this class.
class TestBrowserWindow : public BrowserWindow {
public:
- explicit TestBrowserWindow(Browser* browser);
+ TestBrowserWindow();
virtual ~TestBrowserWindow();
// BrowserWindow:
@@ -150,4 +151,12 @@ class TestBrowserWindow : public BrowserWindow {
DISALLOW_COPY_AND_ASSIGN(TestBrowserWindow);
};
+namespace chrome {
+
+// Helpers that handle the lifetime of TestBrowserWindow instances.
+Browser* CreateBrowserWithTestWindowForProfile(Profile* profile);
+Browser* CreateBrowserWithTestWindowForParams(Browser::CreateParams* params);
+
+} // namespace chrome
+
#endif // CHROME_TEST_BASE_TEST_BROWSER_WINDOW_H_