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 |