| Index: chrome/browser/ui/startup/startup_browser_creator.cc
|
| diff --git a/chrome/browser/ui/startup/startup_browser_creator.cc b/chrome/browser/ui/startup/startup_browser_creator.cc
|
| index cc9a84beee35e5910e4388176ba4a622c49fae66..ad62fa921549bb5c0f974a897fefe3f48587028b 100644
|
| --- a/chrome/browser/ui/startup/startup_browser_creator.cc
|
| +++ b/chrome/browser/ui/startup/startup_browser_creator.cc
|
| @@ -31,6 +31,7 @@
|
| #include "chrome/browser/auto_launch_trial.h"
|
| #include "chrome/browser/browser_process.h"
|
| #include "chrome/browser/chrome_notification_types.h"
|
| +#include "chrome/browser/component_updater/recovery_component_installer.h"
|
| #include "chrome/browser/custom_handlers/protocol_handler_registry.h"
|
| #include "chrome/browser/extensions/startup_helper.h"
|
| #include "chrome/browser/extensions/unpacked_installer.h"
|
| @@ -507,6 +508,16 @@ bool StartupBrowserCreator::ProcessCmdLineImpl(
|
| return false;
|
| }
|
|
|
| + if (command_line.HasSwitch(switches::kInstallRecoveryComponent)) {
|
| + std::string recovery_version = command_line.GetSwitchValueASCII(
|
| + switches::kInstallRecoveryComponent);
|
| + silent_launch = true;
|
| + component_updater::InstallRecoveryComponentElevated(recovery_version);
|
| + // Nothing more to do after recovery, return false to stop launching and
|
| + // quit.
|
| + return false;
|
| + }
|
| +
|
| if (command_line.HasSwitch(switches::kValidateCrx)) {
|
| if (!process_startup) {
|
| LOG(ERROR) << "chrome is already running; you must close all running "
|
|
|