| Index: chrome/installer/util/master_preferences.cc
|
| diff --git a/chrome/installer/util/master_preferences.cc b/chrome/installer/util/master_preferences.cc
|
| index 76b544ff61985a1d358140ee8ba174a8b7b48fd1..cf2830055579d97f3ec25287dd061e7ebada768d 100644
|
| --- a/chrome/installer/util/master_preferences.cc
|
| +++ b/chrome/installer/util/master_preferences.cc
|
| @@ -75,6 +75,7 @@
|
| preferences_read_from_file_(false),
|
| chrome_(true),
|
| chrome_app_launcher_(false),
|
| + chrome_frame_(false),
|
| multi_install_(false) {
|
| InitializeFromCommandLine(*CommandLine::ForCurrentProcess());
|
| }
|
| @@ -84,6 +85,7 @@
|
| preferences_read_from_file_(false),
|
| chrome_(true),
|
| chrome_app_launcher_(false),
|
| + chrome_frame_(false),
|
| multi_install_(false) {
|
| InitializeFromCommandLine(cmd_line);
|
| }
|
| @@ -93,6 +95,7 @@
|
| preferences_read_from_file_(false),
|
| chrome_(true),
|
| chrome_app_launcher_(false),
|
| + chrome_frame_(false),
|
| multi_install_(false) {
|
| std::string json_data;
|
| // Failure to read the file is ignored as |json_data| will be the empty string
|
| @@ -111,6 +114,7 @@
|
| preferences_read_from_file_(false),
|
| chrome_(true),
|
| chrome_app_launcher_(false),
|
| + chrome_frame_(false),
|
| multi_install_(false) {
|
| InitializeFromString(prefs);
|
| }
|
| @@ -145,6 +149,8 @@
|
| installer::master_preferences::kChromeAppLauncher },
|
| { installer::switches::kChrome,
|
| installer::master_preferences::kChrome },
|
| + { installer::switches::kChromeFrame,
|
| + installer::master_preferences::kChromeFrame },
|
| { installer::switches::kDisableLogging,
|
| installer::master_preferences::kDisableLogging },
|
| { installer::switches::kMsi,
|
| @@ -225,10 +231,12 @@
|
| void MasterPreferences::InitializeProductFlags() {
|
| // Make sure we start out with the correct defaults.
|
| multi_install_ = false;
|
| + chrome_frame_ = false;
|
| chrome_app_launcher_ = false;
|
| chrome_ = true;
|
|
|
| GetBool(installer::master_preferences::kMultiInstall, &multi_install_);
|
| + GetBool(installer::master_preferences::kChromeFrame, &chrome_frame_);
|
|
|
| GetBool(installer::master_preferences::kChromeAppLauncher,
|
| &chrome_app_launcher_);
|
| @@ -242,12 +250,17 @@
|
| // When multi-install is specified, the checks are pretty simple (in theory):
|
| // In order to be installed/uninstalled, each product must have its switch
|
| // present on the command line.
|
| - // When multi-install is not set, operate on Chrome.
|
| + // Before multi-install was introduced however, we only supported installing
|
| + // two products, Chrome and Chrome Frame. For the time being we need to
|
| + // continue to support this mode where multi-install is not set.
|
| + // So, when multi-install is not set, we continue to support mutually
|
| + // exclusive installation of Chrome and Chrome Frame.
|
| if (multi_install_) {
|
| if (!GetBool(installer::master_preferences::kChrome, &chrome_))
|
| chrome_ = false;
|
| } else {
|
| - chrome_ = true;
|
| + // If chrome-frame is on the command line however, we only install CF.
|
| + chrome_ = !chrome_frame_;
|
| }
|
| }
|
|
|
|
|