summaryrefslogtreecommitdiffstats
path: root/chrome_frame/test
diff options
context:
space:
mode:
authorstevenjb@google.com <stevenjb@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-16 22:10:32 +0000
committerstevenjb@google.com <stevenjb@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-16 22:10:32 +0000
commit120655dce0bc56e15d64bc0d075f05e703dcf2cd (patch)
tree656ffe5fb4bedb72d8ceb7414f6a3b8d947bce4a /chrome_frame/test
parent5fdc1f1f719d861693f9c6107202ac9b0287c09b (diff)
downloadchromium_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.cc7
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() {