Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/browser_main.h" | 5 #include "chrome/browser/browser_main.h" |
| 6 #include "chrome/browser/browser_main_win.h" | 6 #include "chrome/browser/browser_main_win.h" |
| 7 | 7 |
| 8 #include <windows.h> | 8 #include <windows.h> |
| 9 #include <shellapi.h> | 9 #include <shellapi.h> |
| 10 | 10 |
| (...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 139 l10n_util::GetStringUTF16(IDS_CRASH_RECOVERY_CONTENT)); | 139 l10n_util::GetStringUTF16(IDS_CRASH_RECOVERY_CONTENT)); |
| 140 base::i18n::AdjustStringForLocaleDirection(&adjusted_string); | 140 base::i18n::AdjustStringForLocaleDirection(&adjusted_string); |
| 141 dlg_strings.append(adjusted_string); | 141 dlg_strings.append(adjusted_string); |
| 142 dlg_strings.push_back('|'); | 142 dlg_strings.push_back('|'); |
| 143 dlg_strings.append(ASCIIToUTF16( | 143 dlg_strings.append(ASCIIToUTF16( |
| 144 base::i18n::IsRTL() ? env_vars::kRtlLocale : env_vars::kLtrLocale)); | 144 base::i18n::IsRTL() ? env_vars::kRtlLocale : env_vars::kLtrLocale)); |
| 145 | 145 |
| 146 env->SetVar(env_vars::kRestartInfo, UTF16ToUTF8(dlg_strings)); | 146 env->SetVar(env_vars::kRestartInfo, UTF16ToUTF8(dlg_strings)); |
| 147 } | 147 } |
| 148 | 148 |
| 149 void RegisterApplicationRestart(const CommandLine &parsed_command_line) { | |
| 150 // Rebuild the CommandLine without the program for Windows Restart Manager. | |
|
Ben Goodger (Google)
2011/02/10 16:56:49
Rather than say what the code does, say why, e.g.
msw
2011/02/10 18:35:06
Done.
| |
| 151 CommandLine command_line(CommandLine::NO_PROGRAM); | |
| 152 command_line.AppendSwitches(parsed_command_line); | |
| 153 command_line.AppendArgs(parsed_command_line); | |
| 154 // Ensure restore last session is set. | |
| 155 if (!command_line.HasSwitch(switches::kRestoreLastSession)) | |
| 156 command_line.AppendSwitch(switches::kRestoreLastSession); | |
| 157 PCWSTR command_line_string = command_line.command_line_string().c_str(); | |
| 158 // Restart Chrome if the computer is restarted as the result of an update. | |
| 159 // This could be extended to handle crashes, hangs, and patches. | |
| 160 HRESULT hr = ::RegisterApplicationRestart(command_line_string, | |
| 161 RESTART_NO_CRASH | RESTART_NO_HANG | RESTART_NO_PATCH); | |
|
Ben Goodger (Google)
2011/02/10 16:56:49
I am OK with this if cpu is OK :-)
msw
2011/02/10 18:35:06
Yeah, we may want to handle crashes, hangs, and pa
| |
| 162 DCHECK(SUCCEEDED(hr)) << "RegisterApplicationRestart failed."; | |
| 163 } | |
| 164 | |
| 149 // This method handles the --hide-icons and --show-icons command line options | 165 // This method handles the --hide-icons and --show-icons command line options |
| 150 // for chrome that get triggered by Windows from registry entries | 166 // for chrome that get triggered by Windows from registry entries |
| 151 // HideIconsCommand & ShowIconsCommand. Chrome doesn't support hide icons | 167 // HideIconsCommand & ShowIconsCommand. Chrome doesn't support hide icons |
| 152 // functionality so we just ask the users if they want to uninstall Chrome. | 168 // functionality so we just ask the users if they want to uninstall Chrome. |
| 153 int HandleIconsCommands(const CommandLine &parsed_command_line) { | 169 int HandleIconsCommands(const CommandLine &parsed_command_line) { |
| 154 if (parsed_command_line.HasSwitch(switches::kHideIcons)) { | 170 if (parsed_command_line.HasSwitch(switches::kHideIcons)) { |
| 155 string16 cp_applet; | 171 string16 cp_applet; |
| 156 base::win::Version version = base::win::GetVersion(); | 172 base::win::Version version = base::win::GetVersion(); |
| 157 if (version >= base::win::VERSION_VISTA) { | 173 if (version >= base::win::VERSION_VISTA) { |
| 158 cp_applet.assign(L"Programs and Features"); // Windows Vista and later. | 174 cp_applet.assign(L"Programs and Features"); // Windows Vista and later. |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 245 base::EnsureNSPRInit(); | 261 base::EnsureNSPRInit(); |
| 246 } | 262 } |
| 247 } | 263 } |
| 248 }; | 264 }; |
| 249 | 265 |
| 250 // static | 266 // static |
| 251 BrowserMainParts* BrowserMainParts::CreateBrowserMainParts( | 267 BrowserMainParts* BrowserMainParts::CreateBrowserMainParts( |
| 252 const MainFunctionParams& parameters) { | 268 const MainFunctionParams& parameters) { |
| 253 return new BrowserMainPartsWin(parameters); | 269 return new BrowserMainPartsWin(parameters); |
| 254 } | 270 } |
| OLD | NEW |