| Index: chrome/browser/ui/startup/startup_browser_creator_browsertest.cc
|
| diff --git a/chrome/browser/ui/startup/startup_browser_creator_browsertest.cc b/chrome/browser/ui/startup/startup_browser_creator_browsertest.cc
|
| index 1e1a055a550f0f221d0f53349bfb6dc77de50fcb..c647cb97d5f6493c2cbadba759fc3f78d099bb36 100644
|
| --- a/chrome/browser/ui/startup/startup_browser_creator_browsertest.cc
|
| +++ b/chrome/browser/ui/startup/startup_browser_creator_browsertest.cc
|
| @@ -68,6 +68,10 @@ using testing::Return;
|
| #include "chrome/browser/supervised_user/supervised_user_service_factory.h"
|
| #endif
|
|
|
| +#if defined(OS_MACOSX) && !defined(OS_IOS)
|
| +#include "base/mac/scoped_nsautorelease_pool.h"
|
| +#endif // defined(OS_MACOSX) && !defined(OS_IOS)
|
| +
|
| using extensions::Extension;
|
|
|
| namespace {
|
| @@ -97,6 +101,13 @@ class StartupBrowserCreatorTest : public ExtensionBrowserTest {
|
| return ExtensionBrowserTest::SetUpUserDataDirectory();
|
| }
|
|
|
| + void CloseBrowser(Browser* browser) {
|
| + browser->window()->Close();
|
| +#if defined(OS_MACOSX) && !defined(OS_IOS)
|
| + AutoreleasePool()->Recycle();
|
| +#endif // defined(OS_MACOSX) && !defined(OS_IOS)
|
| + }
|
| +
|
| void SetUpCommandLine(base::CommandLine* command_line) override {
|
| ExtensionBrowserTest::SetUpCommandLine(command_line);
|
| command_line->AppendSwitch(switches::kEnablePanels);
|
| @@ -217,7 +228,7 @@ IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest,
|
| SessionStartupPref::SetStartupPref(browser()->profile(), pref);
|
|
|
| // Close the browser.
|
| - browser()->window()->Close();
|
| + CloseBrowser(browser());
|
|
|
| // Do a simple non-process-startup browser launch.
|
| base::CommandLine dummy(base::CommandLine::NO_PROGRAM);
|
| @@ -632,7 +643,7 @@ IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, StartupURLsForTwoProfiles) {
|
| SessionStartupPref::SetStartupPref(other_profile, pref2);
|
|
|
| // Close the browser.
|
| - browser()->window()->Close();
|
| + CloseBrowser(browser());
|
|
|
| // Do a simple non-process-startup browser launch.
|
| base::CommandLine dummy(base::CommandLine::NO_PROGRAM);
|
| @@ -690,7 +701,7 @@ IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, PRE_UpdateWithTwoProfiles) {
|
| chrome::NewTab(browser1);
|
| ui_test_utils::NavigateToURL(browser1,
|
| test_server()->GetURL("files/empty.html"));
|
| - browser1->window()->Close();
|
| + CloseBrowser(browser1);
|
|
|
| Browser* browser2 = new Browser(
|
| Browser::CreateParams(Browser::TYPE_TABBED, profile2,
|
| @@ -698,7 +709,7 @@ IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, PRE_UpdateWithTwoProfiles) {
|
| chrome::NewTab(browser2);
|
| ui_test_utils::NavigateToURL(browser2,
|
| test_server()->GetURL("files/form.html"));
|
| - browser2->window()->Close();
|
| + CloseBrowser(browser2);
|
|
|
| // Set different startup preferences for the 2 profiles.
|
| std::vector<GURL> urls1;
|
| @@ -846,12 +857,12 @@ IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest,
|
| chrome::NewTab(browser_last);
|
| ui_test_utils::NavigateToURL(browser_last,
|
| test_server()->GetURL("files/empty.html"));
|
| - browser_last->window()->Close();
|
| + CloseBrowser(browser_last);
|
|
|
| // Close the main browser.
|
| chrome::HostDesktopType original_desktop_type =
|
| browser()->host_desktop_type();
|
| - browser()->window()->Close();
|
| + CloseBrowser(browser());
|
|
|
| // Do a simple non-process-startup browser launch.
|
| base::CommandLine dummy(base::CommandLine::NO_PROGRAM);
|
| @@ -949,7 +960,7 @@ IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, ProfilesLaunchedAfterCrash) {
|
| SessionStartupPref::SetStartupPref(profile_urls, pref_urls);
|
|
|
| // Simulate a launch after an unclear exit.
|
| - browser()->window()->Close();
|
| + CloseBrowser(browser());
|
| static_cast<ProfileImpl*>(profile_home)->last_session_exit_type_ =
|
| Profile::EXIT_CRASHED;
|
| static_cast<ProfileImpl*>(profile_last)->last_session_exit_type_ =
|
|
|