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

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

Issue 2622883002: Remove BrowserDistribution::Type. (Closed)
Patch Set: Created 3 years, 11 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
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 // This file defines a class that contains various method related to branding. 5 // This file defines a class that contains various method related to branding.
6 // It provides only default implementations of these methods. Usually to add 6 // It provides only default implementations of these methods. Usually to add
7 // specific branding, we will need to extend this class with a custom 7 // specific branding, we will need to extend this class with a custom
8 // implementation. 8 // implementation.
9 9
10 #include "chrome/installer/util/browser_distribution.h" 10 #include "chrome/installer/util/browser_distribution.h"
(...skipping 23 matching lines...) Expand all
34 namespace { 34 namespace {
35 35
36 const wchar_t kChromiumActiveSetupGuid[] = 36 const wchar_t kChromiumActiveSetupGuid[] =
37 L"{7D2B3E1D-D096-4594-9D8F-A6667F12E0AC}"; 37 L"{7D2B3E1D-D096-4594-9D8F-A6667F12E0AC}";
38 38
39 const wchar_t kCommandExecuteImplUuid[] = 39 const wchar_t kCommandExecuteImplUuid[] =
40 L"{A2DF06F9-A21A-44A8-8A99-8B9C84F29160}"; 40 L"{A2DF06F9-A21A-44A8-8A99-8B9C84F29160}";
41 41
42 // The BrowserDistribution objects are never freed. 42 // The BrowserDistribution objects are never freed.
43 BrowserDistribution* g_browser_distribution = NULL; 43 BrowserDistribution* g_browser_distribution = NULL;
44 BrowserDistribution::Type GetCurrentDistributionType() {
45 return BrowserDistribution::CHROME_BROWSER;
46 }
47 44
48 } // namespace 45 } // namespace
49 46
50 BrowserDistribution::BrowserDistribution() 47 BrowserDistribution::BrowserDistribution()
51 : type_(CHROME_BROWSER), 48 : app_reg_data_(base::MakeUnique<NonUpdatingAppRegistrationData>(
52 app_reg_data_(base::MakeUnique<NonUpdatingAppRegistrationData>(
53 L"Software\\Chromium")) {} 49 L"Software\\Chromium")) {}
54 50
55 BrowserDistribution::BrowserDistribution( 51 BrowserDistribution::BrowserDistribution(
56 Type type,
57 std::unique_ptr<AppRegistrationData> app_reg_data) 52 std::unique_ptr<AppRegistrationData> app_reg_data)
58 : type_(type), app_reg_data_(std::move(app_reg_data)) {} 53 : app_reg_data_(std::move(app_reg_data)) {}
59 54
60 BrowserDistribution::~BrowserDistribution() {} 55 BrowserDistribution::~BrowserDistribution() {}
61 56
62 template<class DistributionClass> 57 template<class DistributionClass>
63 BrowserDistribution* BrowserDistribution::GetOrCreateBrowserDistribution( 58 BrowserDistribution* BrowserDistribution::GetOrCreateBrowserDistribution(
64 BrowserDistribution** dist) { 59 BrowserDistribution** dist) {
65 if (!*dist) { 60 if (!*dist) {
66 DistributionClass* temp = new DistributionClass(); 61 DistributionClass* temp = new DistributionClass();
67 if (base::subtle::NoBarrier_CompareAndSwap( 62 if (base::subtle::NoBarrier_CompareAndSwap(
68 reinterpret_cast<base::subtle::AtomicWord*>(dist), NULL, 63 reinterpret_cast<base::subtle::AtomicWord*>(dist), NULL,
69 reinterpret_cast<base::subtle::AtomicWord>(temp)) != NULL) 64 reinterpret_cast<base::subtle::AtomicWord>(temp)) != NULL)
70 delete temp; 65 delete temp;
71 } 66 }
72 67
73 return *dist; 68 return *dist;
74 } 69 }
75 70
71 // static
76 BrowserDistribution* BrowserDistribution::GetDistribution() { 72 BrowserDistribution* BrowserDistribution::GetDistribution() {
77 return GetSpecificDistribution(GetCurrentDistributionType());
78 }
79
80 // static
81 BrowserDistribution* BrowserDistribution::GetSpecificDistribution(
82 BrowserDistribution::Type type) {
83 DCHECK_EQ(type, CHROME_BROWSER);
84 BrowserDistribution* dist = NULL; 73 BrowserDistribution* dist = NULL;
85 74
86 #if defined(GOOGLE_CHROME_BUILD) 75 #if defined(GOOGLE_CHROME_BUILD)
87 if (InstallUtil::IsChromeSxSProcess()) { 76 if (InstallUtil::IsChromeSxSProcess()) {
88 dist = GetOrCreateBrowserDistribution<GoogleChromeSxSDistribution>( 77 dist = GetOrCreateBrowserDistribution<GoogleChromeSxSDistribution>(
89 &g_browser_distribution); 78 &g_browser_distribution);
90 } else { 79 } else {
91 dist = GetOrCreateBrowserDistribution<GoogleChromeDistribution>( 80 dist = GetOrCreateBrowserDistribution<GoogleChromeDistribution>(
92 &g_browser_distribution); 81 &g_browser_distribution);
93 } 82 }
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
231 installer::InstallStatus install_status) { 220 installer::InstallStatus install_status) {
232 } 221 }
233 222
234 bool BrowserDistribution::ShouldSetExperimentLabels() { 223 bool BrowserDistribution::ShouldSetExperimentLabels() {
235 return false; 224 return false;
236 } 225 }
237 226
238 bool BrowserDistribution::HasUserExperiments() { 227 bool BrowserDistribution::HasUserExperiments() {
239 return false; 228 return false;
240 } 229 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698