| OLD | NEW |
| 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/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/strings/string_util.h" | 8 #include "base/strings/string_util.h" |
| 9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
| 10 #include "base/version.h" | 10 #include "base/version.h" |
| (...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 220 } | 220 } |
| 221 | 221 |
| 222 // static | 222 // static |
| 223 int InstallationState::IndexFromDistType(BrowserDistribution::Type type) { | 223 int InstallationState::IndexFromDistType(BrowserDistribution::Type type) { |
| 224 COMPILE_ASSERT(BrowserDistribution::CHROME_BROWSER == CHROME_BROWSER_INDEX, | 224 COMPILE_ASSERT(BrowserDistribution::CHROME_BROWSER == CHROME_BROWSER_INDEX, |
| 225 unexpected_chrome_browser_distribution_value_); | 225 unexpected_chrome_browser_distribution_value_); |
| 226 COMPILE_ASSERT(BrowserDistribution::CHROME_FRAME == CHROME_FRAME_INDEX, | 226 COMPILE_ASSERT(BrowserDistribution::CHROME_FRAME == CHROME_FRAME_INDEX, |
| 227 unexpected_chrome_frame_distribution_value_); | 227 unexpected_chrome_frame_distribution_value_); |
| 228 COMPILE_ASSERT(BrowserDistribution::CHROME_BINARIES == CHROME_BINARIES_INDEX, | 228 COMPILE_ASSERT(BrowserDistribution::CHROME_BINARIES == CHROME_BINARIES_INDEX, |
| 229 unexpected_chrome_frame_distribution_value_); | 229 unexpected_chrome_frame_distribution_value_); |
| 230 COMPILE_ASSERT(BrowserDistribution::CHROME_APP_HOST == CHROME_APP_HOST_INDEX, | |
| 231 unexpected_chrome_frame_distribution_value_); | |
| 232 DCHECK(type == BrowserDistribution::CHROME_BROWSER || | 230 DCHECK(type == BrowserDistribution::CHROME_BROWSER || |
| 233 type == BrowserDistribution::CHROME_FRAME || | 231 type == BrowserDistribution::CHROME_FRAME || |
| 234 type == BrowserDistribution::CHROME_BINARIES || | 232 type == BrowserDistribution::CHROME_BINARIES); |
| 235 type == BrowserDistribution::CHROME_APP_HOST); | |
| 236 return type; | 233 return type; |
| 237 } | 234 } |
| 238 | 235 |
| 239 void InstallationState::Initialize() { | 236 void InstallationState::Initialize() { |
| 240 BrowserDistribution* distribution; | 237 BrowserDistribution* distribution; |
| 241 | 238 |
| 242 distribution = BrowserDistribution::GetSpecificDistribution( | 239 distribution = BrowserDistribution::GetSpecificDistribution( |
| 243 BrowserDistribution::CHROME_BROWSER); | 240 BrowserDistribution::CHROME_BROWSER); |
| 244 user_products_[CHROME_BROWSER_INDEX].Initialize(false, distribution); | 241 user_products_[CHROME_BROWSER_INDEX].Initialize(false, distribution); |
| 245 system_products_[CHROME_BROWSER_INDEX].Initialize(true, distribution); | 242 system_products_[CHROME_BROWSER_INDEX].Initialize(true, distribution); |
| 246 | 243 |
| 247 distribution = BrowserDistribution::GetSpecificDistribution( | 244 distribution = BrowserDistribution::GetSpecificDistribution( |
| 248 BrowserDistribution::CHROME_FRAME); | 245 BrowserDistribution::CHROME_FRAME); |
| 249 user_products_[CHROME_FRAME_INDEX].Initialize(false, distribution); | 246 user_products_[CHROME_FRAME_INDEX].Initialize(false, distribution); |
| 250 system_products_[CHROME_FRAME_INDEX].Initialize(true, distribution); | 247 system_products_[CHROME_FRAME_INDEX].Initialize(true, distribution); |
| 251 | 248 |
| 252 distribution = BrowserDistribution::GetSpecificDistribution( | 249 distribution = BrowserDistribution::GetSpecificDistribution( |
| 253 BrowserDistribution::CHROME_BINARIES); | 250 BrowserDistribution::CHROME_BINARIES); |
| 254 user_products_[CHROME_BINARIES_INDEX].Initialize(false, distribution); | 251 user_products_[CHROME_BINARIES_INDEX].Initialize(false, distribution); |
| 255 system_products_[CHROME_BINARIES_INDEX].Initialize(true, distribution); | 252 system_products_[CHROME_BINARIES_INDEX].Initialize(true, distribution); |
| 256 | |
| 257 distribution = BrowserDistribution::GetSpecificDistribution( | |
| 258 BrowserDistribution::CHROME_APP_HOST); | |
| 259 user_products_[CHROME_APP_HOST_INDEX].Initialize(false, distribution); | |
| 260 system_products_[CHROME_APP_HOST_INDEX].Initialize(true, distribution); | |
| 261 } | 253 } |
| 262 | 254 |
| 263 const ProductState* InstallationState::GetNonVersionedProductState( | 255 const ProductState* InstallationState::GetNonVersionedProductState( |
| 264 bool system_install, | 256 bool system_install, |
| 265 BrowserDistribution::Type type) const { | 257 BrowserDistribution::Type type) const { |
| 266 const ProductState& product_state = (system_install ? system_products_ : | 258 const ProductState& product_state = (system_install ? system_products_ : |
| 267 user_products_)[IndexFromDistType(type)]; | 259 user_products_)[IndexFromDistType(type)]; |
| 268 return &product_state; | 260 return &product_state; |
| 269 } | 261 } |
| 270 | 262 |
| 271 const ProductState* InstallationState::GetProductState( | 263 const ProductState* InstallationState::GetProductState( |
| 272 bool system_install, | 264 bool system_install, |
| 273 BrowserDistribution::Type type) const { | 265 BrowserDistribution::Type type) const { |
| 274 const ProductState* product_state = | 266 const ProductState* product_state = |
| 275 GetNonVersionedProductState(system_install, type); | 267 GetNonVersionedProductState(system_install, type); |
| 276 return product_state->version_.get() == NULL ? NULL : product_state; | 268 return product_state->version_.get() == NULL ? NULL : product_state; |
| 277 } | 269 } |
| 278 } // namespace installer | 270 } // namespace installer |
| OLD | NEW |