Index: chrome/browser/chromeos/chrome_browser_main_chromeos.cc |
diff --git a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc |
index fcbddc3ea35630369ac1ec2f63475185ffae85b2..accdb24bb81502fcc35f06d7109b5df26345b131 100644 |
--- a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc |
+++ b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc |
@@ -86,6 +86,7 @@ |
#include "chromeos/network/network_state_handler.h" |
#include "chromeos/power/power_state_override.h" |
#include "content/public/browser/notification_service.h" |
+#include "content/public/common/content_switches.h" |
#include "content/public/common/main_function_params.h" |
#include "grit/platform_locale_settings.h" |
#include "net/base/network_change_notifier.h" |
@@ -169,6 +170,29 @@ class StubLogin : public LoginStatusConsumer, |
bool profile_prepared_; |
}; |
+void LaunchDevToolsHandlerIfNeeded(Profile* profile, |
+ const CommandLine& command_line) { |
+ if (command_line.HasSwitch(::switches::kRemoteDebuggingPort)) { |
+ std::string port_str = |
+ command_line.GetSwitchValueASCII(::switches::kRemoteDebuggingPort); |
+ int64 port; |
+ if (base::StringToInt64(port_str, &port) && port > 0 && port < 65535) { |
sky
2012/12/04 00:10:53
Use StringToInt (avoids cast on 188).
zel
2012/12/04 02:12:28
Done.
|
+ std::string frontend_str; |
+ if (command_line.HasSwitch(::switches::kRemoteDebuggingFrontend)) { |
+ frontend_str = command_line.GetSwitchValueASCII( |
+ ::switches::kRemoteDebuggingFrontend); |
+ } |
+ g_browser_process->CreateDevToolsHttpProtocolHandler( |
+ profile, |
+ "127.0.0.1", |
+ static_cast<int>(port), |
+ frontend_str); |
+ } else { |
+ DLOG(WARNING) << "Invalid http debugger port number " << port; |
+ } |
+ } |
+} |
+ |
void OptionallyRunChromeOSLoginManager(const CommandLine& parsed_command_line, |
Profile* profile) { |
if (parsed_command_line.HasSwitch(::switches::kLoginManager)) { |
@@ -503,11 +527,15 @@ void ChromeBrowserMainPartsChromeos::PostProfileInit() { |
// configuration before login. |
connector->GetNetworkConfigurationUpdater(); |
- // Make sure that wallpaper boot transition and other delays in OOBE |
- // are disabled for tests by default. |
- // Individual tests may enable them if they want. |
- if (parsed_command_line().HasSwitch(::switches::kTestType)) |
+ if (parsed_command_line().HasSwitch(::switches::kTestType)) { |
+ // Make sure that wallpaper boot transition and other delays in OOBE |
+ // are disabled for tests by default. |
+ // Individual tests may enable them if they want. |
WizardController::SetZeroDelays(); |
+ } |
+ |
+ // Start dev tools protocol handler. |
+ LaunchDevToolsHandlerIfNeeded(profile(), parsed_command_line()); |
// Tests should be able to tune login manager before showing it. |
// Thus only show login manager in normal (non-testing) mode. |