diff options
Diffstat (limited to 'chrome/installer/setup')
-rw-r--r-- | chrome/installer/setup/setup_main.cc | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/chrome/installer/setup/setup_main.cc b/chrome/installer/setup/setup_main.cc index 59589b6..8b3e009 100644 --- a/chrome/installer/setup/setup_main.cc +++ b/chrome/installer/setup/setup_main.cc @@ -321,7 +321,10 @@ installer_util::InstallStatus InstallChrome(const CommandLine& cmd_line, // There might be an experiment (for upgrade usually) that needs to happen. // An experiment's outcome can include chrome's uninstallation. If that is // the case we would not do that directly at this point but in another - // instance of setup.exe + // instance of setup.exe + // + // There is another way to reach this same function if this is a system + // level install. See HandleNonInstallCmdLineOptions(). dist->LaunchUserExperiment(install_status, *installer_version, system_level); } @@ -488,6 +491,14 @@ bool HandleNonInstallCmdLineOptions(const CommandLine& cmd_line, cmd_line.GetSwitchValue(installer_util::switches::kInactiveUserToast); dist->InactiveUserToastExperiment(StringToInt(flavor)); return true; + } else if (cmd_line.HasSwitch(installer_util::switches::kSystemLevelToast)) { + // We started as system-level and have been re-launched as user level + // to continue with the toast experiment. + scoped_ptr<installer::Version> + installed_version(InstallUtil::GetChromeVersion(system_install)); + dist->LaunchUserExperiment(installer_util::REENTRY_SYS_UPDATE, + *installed_version, false); + return true; } return false; } |