Index: chrome/browser/ui/browser_init.cc |
diff --git a/chrome/browser/ui/browser_init.cc b/chrome/browser/ui/browser_init.cc |
index 7747c8adaa357e4e47a8d26963ec8343eec714ae..8835996679d5a38046c0968b460fa92edfb3c7a4 100644 |
--- a/chrome/browser/ui/browser_init.cc |
+++ b/chrome/browser/ui/browser_init.cc |
@@ -1004,10 +1004,11 @@ bool BrowserInit::ProcessCmdLineImpl(const CommandLine& command_line, |
expected_tab_count = |
std::max(1, static_cast<int>(command_line.args().size())); |
} |
- CreateAutomationProvider<TestingAutomationProvider>( |
+ if (!CreateAutomationProvider<TestingAutomationProvider>( |
testing_channel_id, |
profile, |
- static_cast<size_t>(expected_tab_count)); |
+ static_cast<size_t>(expected_tab_count))) |
+ return false; |
} |
} |
@@ -1024,11 +1025,13 @@ bool BrowserInit::ProcessCmdLineImpl(const CommandLine& command_line, |
silent_launch = true; |
if (command_line.HasSwitch(switches::kChromeFrame)) { |
- CreateAutomationProvider<ChromeFrameAutomationProvider>( |
- automation_channel_id, profile, expected_tabs); |
+ if (!CreateAutomationProvider<ChromeFrameAutomationProvider>( |
+ automation_channel_id, profile, expected_tabs)) |
+ return false; |
} else { |
- CreateAutomationProvider<AutomationProvider>(automation_channel_id, |
- profile, expected_tabs); |
+ if (!CreateAutomationProvider<AutomationProvider>( |
+ automation_channel_id, profile, expected_tabs)) |
+ return false; |
} |
} |
@@ -1087,16 +1090,20 @@ bool BrowserInit::ProcessCmdLineImpl(const CommandLine& command_line, |
} |
template <class AutomationProviderClass> |
-void BrowserInit::CreateAutomationProvider(const std::string& channel_id, |
+bool BrowserInit::CreateAutomationProvider(const std::string& channel_id, |
Profile* profile, |
size_t expected_tabs) { |
scoped_refptr<AutomationProviderClass> automation = |
new AutomationProviderClass(profile); |
- automation->ConnectToChannel(channel_id); |
+ |
+ if (!automation->InitializeChannel(channel_id)) |
+ return false; |
automation->SetExpectedTabCount(expected_tabs); |
AutomationProviderList* list = |
g_browser_process->InitAutomationProviderList(); |
DCHECK(list); |
list->AddProvider(automation); |
+ |
+ return true; |
} |