diff options
author | stevenjb@google.com <stevenjb@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-16 22:10:32 +0000 |
---|---|---|
committer | stevenjb@google.com <stevenjb@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-16 22:10:32 +0000 |
commit | 120655dce0bc56e15d64bc0d075f05e703dcf2cd (patch) | |
tree | 656ffe5fb4bedb72d8ceb7414f6a3b8d947bce4a /chrome/browser/ui/tests | |
parent | 5fdc1f1f719d861693f9c6107202ac9b0287c09b (diff) | |
download | chromium_src-120655dce0bc56e15d64bc0d075f05e703dcf2cd.zip chromium_src-120655dce0bc56e15d64bc0d075f05e703dcf2cd.tar.gz chromium_src-120655dce0bc56e15d64bc0d075f05e703dcf2cd.tar.bz2 |
Cleanup AutomationProviderList to fix shutdown crashes on ChromeOS auto tests
There is a circular relationship between BrowserProcessImpl and AutomationProvider. To clean this up and eliminate a shutdown crash:
1. Eliminate the AutomationProviderList singleton instance; it is already clearly owned by BrowserProcessImpl
2. Eliminate the calls to g_browser_process->Add/ReleaseModule in AutomationProvider since BrowserProcessImpl already owns AutomationProviderList (which owns any AutomationProvider instances). This could possibly have side effects if AutomationProvider attempts to access the message loop after the last call to BrowserProcessImpl::ReleaseModule exits the message loop, but that shouldn't be happening.
BUG=96030
TEST=./run_remote_tests.sh --remote=localhost --ssh_port 9222 --use_emerged suite_Smoke and ensure no crashes occur in ~AutomationProvider
Review URL: http://codereview.chromium.org/7790031
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101582 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/ui/tests')
-rw-r--r-- | chrome/browser/ui/tests/browser_uitest.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/chrome/browser/ui/tests/browser_uitest.cc b/chrome/browser/ui/tests/browser_uitest.cc index 00b4d95..5819f0a 100644 --- a/chrome/browser/ui/tests/browser_uitest.cc +++ b/chrome/browser/ui/tests/browser_uitest.cc @@ -220,6 +220,10 @@ TEST_F(RunInBackgroundTest, RunInBackgroundBasicTest) { ASSERT_TRUE(automation()->OpenNewBrowserWindow(Browser::TYPE_TABBED, true)); ASSERT_TRUE(automation()->GetBrowserWindowCount(&window_count)); EXPECT_EQ(1, window_count); + // Set the shutdown type to 'SESSION_ENDING' since we are running in + // background mode and neither closing all the windows nor quitting will + // shut down the browser. + set_shutdown_type(ProxyLauncher::SESSION_ENDING); } // Tests to ensure that the browser continues running in the background after |