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_frame/test | |
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_frame/test')
-rw-r--r-- | chrome_frame/test/net/fake_external_tab.cc | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/chrome_frame/test/net/fake_external_tab.cc b/chrome_frame/test/net/fake_external_tab.cc index 880d393..b27d666 100644 --- a/chrome_frame/test/net/fake_external_tab.cc +++ b/chrome_frame/test/net/fake_external_tab.cc @@ -375,11 +375,10 @@ void CFUrlRequestUnittestRunner::OnConnectAutomationProviderToChannel( Profile* profile = g_browser_process->profile_manager()-> GetDefaultProfile(fake_chrome_.user_data()); - AutomationProviderList* list = - g_browser_process->InitAutomationProviderList(); + AutomationProviderList* list = g_browser_process->GetAutomationProviderList(); DCHECK(list); - list->AddProvider(TestAutomationProvider::NewAutomationProvider(profile, - channel_id, this)); + list->AddProvider( + TestAutomationProvider::NewAutomationProvider(profile, channel_id, this)); } void CFUrlRequestUnittestRunner::OnInitialTabLoaded() { |