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

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

Issue 10665002: Implement installation of the Chrome App Host. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: A basic working app host installer/uninstaller. Created 8 years, 5 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
grt (UTC plus 2) 2012/07/12 18:37:10 2012
erikwright (departed) 2012/07/16 20:13:11 Done.
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/installation_state.h" 5 #include "chrome/installer/util/installation_state.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/string_util.h" 8 #include "base/string_util.h"
9 #include "base/version.h" 9 #include "base/version.h"
10 #include "base/win/registry.h" 10 #include "base/win/registry.h"
11 #include "chrome/installer/util/google_update_constants.h" 11 #include "chrome/installer/util/google_update_constants.h"
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 } 216 }
217 217
218 // static 218 // static
219 int InstallationState::IndexFromDistType(BrowserDistribution::Type type) { 219 int InstallationState::IndexFromDistType(BrowserDistribution::Type type) {
220 COMPILE_ASSERT(BrowserDistribution::CHROME_BROWSER == CHROME_BROWSER_INDEX, 220 COMPILE_ASSERT(BrowserDistribution::CHROME_BROWSER == CHROME_BROWSER_INDEX,
221 unexpected_chrome_browser_distribution_value_); 221 unexpected_chrome_browser_distribution_value_);
222 COMPILE_ASSERT(BrowserDistribution::CHROME_FRAME == CHROME_FRAME_INDEX, 222 COMPILE_ASSERT(BrowserDistribution::CHROME_FRAME == CHROME_FRAME_INDEX,
223 unexpected_chrome_frame_distribution_value_); 223 unexpected_chrome_frame_distribution_value_);
224 COMPILE_ASSERT(BrowserDistribution::CHROME_BINARIES == CHROME_BINARIES_INDEX, 224 COMPILE_ASSERT(BrowserDistribution::CHROME_BINARIES == CHROME_BINARIES_INDEX,
225 unexpected_chrome_frame_distribution_value_); 225 unexpected_chrome_frame_distribution_value_);
226 COMPILE_ASSERT(BrowserDistribution::CHROME_APP_HOST == CHROME_APP_HOST_INDEX,
227 unexpected_chrome_frame_distribution_value_);
226 DCHECK(type == BrowserDistribution::CHROME_BROWSER || 228 DCHECK(type == BrowserDistribution::CHROME_BROWSER ||
227 type == BrowserDistribution::CHROME_FRAME || 229 type == BrowserDistribution::CHROME_FRAME ||
228 type == BrowserDistribution::CHROME_BINARIES); 230 type == BrowserDistribution::CHROME_BINARIES ||
231 type == BrowserDistribution::CHROME_APP_HOST);
229 return type; 232 return type;
230 } 233 }
231 234
232 void InstallationState::Initialize() { 235 void InstallationState::Initialize() {
233 BrowserDistribution* distribution; 236 BrowserDistribution* distribution;
234 237
235 distribution = BrowserDistribution::GetSpecificDistribution( 238 distribution = BrowserDistribution::GetSpecificDistribution(
236 BrowserDistribution::CHROME_BROWSER); 239 BrowserDistribution::CHROME_BROWSER);
237 user_products_[CHROME_BROWSER_INDEX].Initialize(false, distribution); 240 user_products_[CHROME_BROWSER_INDEX].Initialize(false, distribution);
238 system_products_[CHROME_BROWSER_INDEX].Initialize(true, distribution); 241 system_products_[CHROME_BROWSER_INDEX].Initialize(true, distribution);
239 242
240 distribution = BrowserDistribution::GetSpecificDistribution( 243 distribution = BrowserDistribution::GetSpecificDistribution(
241 BrowserDistribution::CHROME_FRAME); 244 BrowserDistribution::CHROME_FRAME);
242 user_products_[CHROME_FRAME_INDEX].Initialize(false, distribution); 245 user_products_[CHROME_FRAME_INDEX].Initialize(false, distribution);
243 system_products_[CHROME_FRAME_INDEX].Initialize(true, distribution); 246 system_products_[CHROME_FRAME_INDEX].Initialize(true, distribution);
244 247
245 distribution = BrowserDistribution::GetSpecificDistribution( 248 distribution = BrowserDistribution::GetSpecificDistribution(
246 BrowserDistribution::CHROME_BINARIES); 249 BrowserDistribution::CHROME_BINARIES);
247 user_products_[CHROME_BINARIES_INDEX].Initialize(false, distribution); 250 user_products_[CHROME_BINARIES_INDEX].Initialize(false, distribution);
248 system_products_[CHROME_BINARIES_INDEX].Initialize(true, distribution); 251 system_products_[CHROME_BINARIES_INDEX].Initialize(true, distribution);
252
253 distribution = BrowserDistribution::GetSpecificDistribution(
254 BrowserDistribution::CHROME_APP_HOST);
255 user_products_[CHROME_APP_HOST_INDEX].Initialize(false, distribution);
256 system_products_[CHROME_APP_HOST_INDEX].Initialize(true, distribution);
249 } 257 }
250 258
251 const ProductState* InstallationState::GetNonVersionedProductState( 259 const ProductState* InstallationState::GetNonVersionedProductState(
252 bool system_install, 260 bool system_install,
253 BrowserDistribution::Type type) const { 261 BrowserDistribution::Type type) const {
254 const ProductState& product_state = (system_install ? system_products_ : 262 const ProductState& product_state = (system_install ? system_products_ :
255 user_products_)[IndexFromDistType(type)]; 263 user_products_)[IndexFromDistType(type)];
256 return &product_state; 264 return &product_state;
257 } 265 }
258 266
259 const ProductState* InstallationState::GetProductState( 267 const ProductState* InstallationState::GetProductState(
260 bool system_install, 268 bool system_install,
261 BrowserDistribution::Type type) const { 269 BrowserDistribution::Type type) const {
262 const ProductState* product_state = 270 const ProductState* product_state =
263 GetNonVersionedProductState(system_install, type); 271 GetNonVersionedProductState(system_install, type);
264 return product_state->version_.get() == NULL ? NULL : product_state; 272 return product_state->version_.get() == NULL ? NULL : product_state;
265 } 273 }
266 } // namespace installer 274 } // namespace installer
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698