Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1154)

Side by Side Diff: chrome/installer/util/installer_state.cc

Issue 11267023: Implementing --app-launcher install/uninstall flow. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/installer/util/installer_state.h" 5 #include "chrome/installer/util/installer_state.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <functional> 8 #include <functional>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 package_type_(UNKNOWN_PACKAGE_TYPE), 87 package_type_(UNKNOWN_PACKAGE_TYPE),
88 state_type_(BrowserDistribution::CHROME_BROWSER), 88 state_type_(BrowserDistribution::CHROME_BROWSER),
89 root_key_(NULL), 89 root_key_(NULL),
90 msi_(false), 90 msi_(false),
91 verbose_logging_(false), 91 verbose_logging_(false),
92 ensure_google_update_present_(false) { 92 ensure_google_update_present_(false) {
93 // Use set_level() so that root_key_ is updated properly. 93 // Use set_level() so that root_key_ is updated properly.
94 set_level(level); 94 set_level(level);
95 } 95 }
96 96
97 void InstallerState::Initialize(const CommandLine& command_line, 97 bool InstallerState::Initialize(const CommandLine& command_line,
98 const MasterPreferences& prefs, 98 const MasterPreferences& prefs,
99 const InstallationState& machine_state) { 99 const InstallationState& machine_state) {
100 bool pref_bool; 100 bool pref_bool;
101 if (!prefs.GetBool(master_preferences::kSystemLevel, &pref_bool)) 101 if (!prefs.GetBool(master_preferences::kSystemLevel, &pref_bool))
102 pref_bool = false; 102 pref_bool = false;
103 set_level(pref_bool ? SYSTEM_LEVEL : USER_LEVEL); 103 set_level(pref_bool ? SYSTEM_LEVEL : USER_LEVEL);
104 104
105 if (!prefs.GetBool(master_preferences::kVerboseLogging, &verbose_logging_)) 105 if (!prefs.GetBool(master_preferences::kVerboseLogging, &verbose_logging_))
106 verbose_logging_ = false; 106 verbose_logging_ = false;
107 107
(...skipping 16 matching lines...) Expand all
124 VLOG(1) << (is_uninstall ? "Uninstall" : "Install") 124 VLOG(1) << (is_uninstall ? "Uninstall" : "Install")
125 << " distribution: " << p->distribution()->GetAppShortCutName(); 125 << " distribution: " << p->distribution()->GetAppShortCutName();
126 } 126 }
127 if (prefs.install_chrome_frame()) { 127 if (prefs.install_chrome_frame()) {
128 Product* p = 128 Product* p =
129 AddProductFromPreferences(BrowserDistribution::CHROME_FRAME, prefs, 129 AddProductFromPreferences(BrowserDistribution::CHROME_FRAME, prefs,
130 machine_state); 130 machine_state);
131 VLOG(1) << (is_uninstall ? "Uninstall" : "Install") 131 VLOG(1) << (is_uninstall ? "Uninstall" : "Install")
132 << " distribution: " << p->distribution()->GetAppShortCutName(); 132 << " distribution: " << p->distribution()->GetAppShortCutName();
133 } 133 }
134 if (prefs.install_chrome_app_host()) { 134 if (prefs.install_chrome_app_launcher() || prefs.install_chrome_app_host()) {
erikwright (departed) 2012/10/25 02:23:03 It seems OK to me just to simplify this by treatin
huangs 2012/10/29 21:15:16 Done. So --app-host + --app-launcher = --app-launc
135 // TODO(huangs): Revisit all these once App Launcher is default.
136 if (prefs.install_chrome_app_launcher() &&
137 prefs.install_chrome_app_host()) {
138 LOG(ERROR) << "Cannot have --" << installer::switches::kChromeAppHost
139 << " with --" << installer::switches::kChromeAppLauncher;
140 return false;
141 }
142
135 Product* p = 143 Product* p =
136 AddProductFromPreferences(BrowserDistribution::CHROME_APP_HOST, prefs, 144 AddProductFromPreferences(BrowserDistribution::CHROME_APP_HOST, prefs,
137 machine_state); 145 machine_state);
138 VLOG(1) << (is_uninstall ? "Uninstall" : "Install") 146 VLOG(1) << (is_uninstall ? "Uninstall" : "Install")
139 << " distribution: " << p->distribution()->GetAppShortCutName(); 147 << " distribution: " << p->distribution()->GetAppShortCutName();
140 } 148 }
141 149
142 if (!is_uninstall && is_multi_install()) { 150 if (!is_uninstall && is_multi_install()) {
143 bool need_binaries = false; 151 bool need_binaries = false;
144 if (FindProduct(BrowserDistribution::CHROME_APP_HOST)) { 152 if (FindProduct(BrowserDistribution::CHROME_APP_HOST)) {
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
277 operand_distribution_type); 285 operand_distribution_type);
278 } 286 }
279 287
280 state_key_ = operand->GetStateKey(); 288 state_key_ = operand->GetStateKey();
281 state_type_ = operand->GetType(); 289 state_type_ = operand->GetType();
282 290
283 // Parse --critical-update-version=W.X.Y.Z 291 // Parse --critical-update-version=W.X.Y.Z
284 std::string critical_version_value( 292 std::string critical_version_value(
285 command_line.GetSwitchValueASCII(switches::kCriticalUpdateVersion)); 293 command_line.GetSwitchValueASCII(switches::kCriticalUpdateVersion));
286 critical_update_version_ = Version(critical_version_value); 294 critical_update_version_ = Version(critical_version_value);
295 return true;
287 } 296 }
288 297
289 void InstallerState::set_level(Level level) { 298 void InstallerState::set_level(Level level) {
290 level_ = level; 299 level_ = level;
291 switch (level) { 300 switch (level) {
292 case USER_LEVEL: 301 case USER_LEVEL:
293 root_key_ = HKEY_CURRENT_USER; 302 root_key_ = HKEY_CURRENT_USER;
294 break; 303 break;
295 case SYSTEM_LEVEL: 304 case SYSTEM_LEVEL:
296 root_key_ = HKEY_LOCAL_MACHINE; 305 root_key_ = HKEY_LOCAL_MACHINE;
(...skipping 443 matching lines...) Expand 10 before | Expand all | Expand 10 after
740 if (is_multi_install()) { 749 if (is_multi_install()) {
741 InstallUtil::AddInstallerResultItems( 750 InstallUtil::AddInstallerResultItems(
742 system_install, multi_package_binaries_distribution()->GetStateKey(), 751 system_install, multi_package_binaries_distribution()->GetStateKey(),
743 status, string_resource_id, launch_cmd, install_list.get()); 752 status, string_resource_id, launch_cmd, install_list.get());
744 } 753 }
745 if (!install_list->Do()) 754 if (!install_list->Do())
746 LOG(ERROR) << "Failed to record installer error information in registry."; 755 LOG(ERROR) << "Failed to record installer error information in registry.";
747 } 756 }
748 757
749 } // namespace installer 758 } // namespace installer
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698