Index: chrome/installer/setup/setup_main.cc |
diff --git a/chrome/installer/setup/setup_main.cc b/chrome/installer/setup/setup_main.cc |
index 15e08477d8f16faf9119d7e38c665825deb21ef1..5563a23ae0a6b29a58ca67ebcba79f957e53d5bb 100644 |
--- a/chrome/installer/setup/setup_main.cc |
+++ b/chrome/installer/setup/setup_main.cc |
@@ -848,8 +848,17 @@ bool HandleNonInstallCmdLineOptions(const InstallationState& original_state, |
suffix = cmd_line.GetSwitchValueNative( |
installer::switches::kRegisterChromeBrowserSuffix); |
} |
- *exit_code = ShellUtil::RegisterChromeBrowser( |
- chrome_install->distribution(), chrome_exe, suffix, false); |
+ if (cmd_line.HasSwitch( |
+ installer::switches::kRegisterURLProtocol)) { |
+ std::wstring protocol = cmd_line.GetSwitchValueNative( |
+ installer::switches::kRegisterURLProtocol); |
+ *exit_code = ShellUtil::RegisterChromeForProtocol( |
+ chrome_install->distribution(), chrome_exe, suffix, protocol, |
+ false); |
+ } else { |
+ *exit_code = ShellUtil::RegisterChromeBrowser( |
+ chrome_install->distribution(), chrome_exe, suffix, false); |
+ } |
} else { |
LOG(DFATAL) << "Can't register browser - Chrome distribution not found"; |
*exit_code = installer::UNKNOWN_STATUS; |