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

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

Issue 10818021: Revert 147650 - Implement installation of the Chrome App Host. (Closed) Base URL: svn://svn.chromium.org/chrome/branches/1215/src/
Patch Set: 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) 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"
11 11
12 #include "base/atomicops.h" 12 #include "base/atomicops.h"
13 #include "base/command_line.h" 13 #include "base/command_line.h"
14 #include "base/file_path.h" 14 #include "base/file_path.h"
15 #include "base/path_service.h" 15 #include "base/path_service.h"
16 #include "base/logging.h" 16 #include "base/logging.h"
17 #include "base/win/registry.h" 17 #include "base/win/registry.h"
18 #include "base/win/windows_version.h" 18 #include "base/win/windows_version.h"
19 #include "chrome/common/env_vars.h" 19 #include "chrome/common/env_vars.h"
20 #include "chrome/installer/util/chrome_app_host_distribution.h"
21 #include "chrome/installer/util/chrome_frame_distribution.h" 20 #include "chrome/installer/util/chrome_frame_distribution.h"
22 #include "chrome/installer/util/chromium_binaries_distribution.h" 21 #include "chrome/installer/util/chromium_binaries_distribution.h"
22 #include "chrome/installer/util/google_chrome_distribution.h"
23 #include "chrome/installer/util/google_chrome_binaries_distribution.h" 23 #include "chrome/installer/util/google_chrome_binaries_distribution.h"
24 #include "chrome/installer/util/google_chrome_distribution.h"
25 #include "chrome/installer/util/google_chrome_sxs_distribution.h" 24 #include "chrome/installer/util/google_chrome_sxs_distribution.h"
26 #include "chrome/installer/util/install_util.h" 25 #include "chrome/installer/util/install_util.h"
27 #include "chrome/installer/util/l10n_string_util.h" 26 #include "chrome/installer/util/l10n_string_util.h"
28 #include "chrome/installer/util/master_preferences.h" 27 #include "chrome/installer/util/master_preferences.h"
29 28
30 #include "installer_util_strings.h" // NOLINT 29 #include "installer_util_strings.h" // NOLINT
31 30
32 using installer::MasterPreferences; 31 using installer::MasterPreferences;
33 32
34 namespace { 33 namespace {
35 34
36 const wchar_t kCommandExecuteImplUuid[] = 35 const wchar_t kCommandExecuteImplUuid[] =
37 L"{A2DF06F9-A21A-44A8-8A99-8B9C84F29160}"; 36 L"{A2DF06F9-A21A-44A8-8A99-8B9C84F29160}";
38 const wchar_t kDelegateExecuteLibUuid[] = 37 const wchar_t kDelegateExecuteLibUuid[] =
39 L"{7779FB70-B399-454A-AA1A-BAA850032B10}"; 38 L"{7779FB70-B399-454A-AA1A-BAA850032B10}";
40 const wchar_t kDelegateExecuteLibVersion[] = L"1.0"; 39 const wchar_t kDelegateExecuteLibVersion[] = L"1.0";
41 const wchar_t kICommandExecuteImplUuid[] = 40 const wchar_t kICommandExecuteImplUuid[] =
42 L"{0BA0D4E9-2259-4963-B9AE-A839F7CB7544}"; 41 L"{0BA0D4E9-2259-4963-B9AE-A839F7CB7544}";
43 42
44 // The BrowserDistribution objects are never freed. 43 // The BrowserDistribution objects are never freed.
45 BrowserDistribution* g_browser_distribution = NULL; 44 BrowserDistribution* g_browser_distribution = NULL;
46 BrowserDistribution* g_chrome_frame_distribution = NULL; 45 BrowserDistribution* g_chrome_frame_distribution = NULL;
47 BrowserDistribution* g_binaries_distribution = NULL; 46 BrowserDistribution* g_binaries_distribution = NULL;
48 BrowserDistribution* g_chrome_app_host_distribution = NULL;
49 47
50 // Returns true if currently running in npchrome_frame.dll 48 // Returns true if currently running in npchrome_frame.dll
51 bool IsChromeFrameModule() { 49 bool IsChromeFrameModule() {
52 FilePath module_path; 50 FilePath module_path;
53 PathService::Get(base::FILE_MODULE, &module_path); 51 PathService::Get(base::FILE_MODULE, &module_path);
54 return FilePath::CompareEqualIgnoreCase(module_path.BaseName().value(), 52 return FilePath::CompareEqualIgnoreCase(module_path.BaseName().value(),
55 installer::kChromeFrameDll); 53 installer::kChromeFrameDll);
56 } 54 }
57 55
58 BrowserDistribution::Type GetCurrentDistributionType() { 56 BrowserDistribution::Type GetCurrentDistributionType() {
59 // TODO(erikwright): If the app host is installed, but not Chrome, perhaps
60 // this should return CHROME_APP_HOST.
61 static BrowserDistribution::Type type = 57 static BrowserDistribution::Type type =
62 (MasterPreferences::ForCurrentProcess().install_chrome_frame() || 58 (MasterPreferences::ForCurrentProcess().install_chrome_frame() ||
63 IsChromeFrameModule()) ? 59 IsChromeFrameModule()) ?
64 BrowserDistribution::CHROME_FRAME : 60 BrowserDistribution::CHROME_FRAME :
65 BrowserDistribution::CHROME_BROWSER; 61 BrowserDistribution::CHROME_BROWSER;
66 return type; 62 return type;
67 } 63 }
68 64
69 } // end namespace 65 } // end namespace
70 66
67 // CHROME_BINARIES represents the binaries shared by multi-install products and
68 // is not a product in and of itself, so it is not present in this collection.
69 const BrowserDistribution::Type BrowserDistribution::kProductTypes[] = {
70 BrowserDistribution::CHROME_BROWSER,
71 BrowserDistribution::CHROME_FRAME,
72 };
73
74 const size_t BrowserDistribution::kNumProductTypes =
75 arraysize(BrowserDistribution::kProductTypes);
76
71 BrowserDistribution::BrowserDistribution() 77 BrowserDistribution::BrowserDistribution()
72 : type_(CHROME_BROWSER) { 78 : type_(CHROME_BROWSER) {
73 } 79 }
74 80
75 BrowserDistribution::BrowserDistribution(Type type) 81 BrowserDistribution::BrowserDistribution(Type type)
76 : type_(type) { 82 : type_(type) {
77 } 83 }
78 84
79 template<class DistributionClass> 85 template<class DistributionClass>
80 BrowserDistribution* BrowserDistribution::GetOrCreateBrowserDistribution( 86 BrowserDistribution* BrowserDistribution::GetOrCreateBrowserDistribution(
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 dist = GetOrCreateBrowserDistribution<BrowserDistribution>( 119 dist = GetOrCreateBrowserDistribution<BrowserDistribution>(
114 &g_browser_distribution); 120 &g_browser_distribution);
115 #endif 121 #endif
116 break; 122 break;
117 123
118 case CHROME_FRAME: 124 case CHROME_FRAME:
119 dist = GetOrCreateBrowserDistribution<ChromeFrameDistribution>( 125 dist = GetOrCreateBrowserDistribution<ChromeFrameDistribution>(
120 &g_chrome_frame_distribution); 126 &g_chrome_frame_distribution);
121 break; 127 break;
122 128
123 case CHROME_APP_HOST:
124 dist = GetOrCreateBrowserDistribution<ChromeAppHostDistribution>(
125 &g_chrome_app_host_distribution);
126 break;
127
128 default: 129 default:
129 DCHECK_EQ(CHROME_BINARIES, type); 130 DCHECK_EQ(CHROME_BINARIES, type);
130 #if defined(GOOGLE_CHROME_BUILD) 131 #if defined(GOOGLE_CHROME_BUILD)
131 dist = GetOrCreateBrowserDistribution<GoogleChromeBinariesDistribution>( 132 dist = GetOrCreateBrowserDistribution<GoogleChromeBinariesDistribution>(
132 &g_binaries_distribution); 133 &g_binaries_distribution);
133 #else 134 #else
134 dist = GetOrCreateBrowserDistribution<ChromiumBinariesDistribution>( 135 dist = GetOrCreateBrowserDistribution<ChromiumBinariesDistribution>(
135 &g_binaries_distribution); 136 &g_binaries_distribution);
136 #endif 137 #endif
137 } 138 }
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
269 const Version& version, const installer::Product& product, 270 const Version& version, const installer::Product& product,
270 bool system_level) { 271 bool system_level) {
271 } 272 }
272 273
273 274
274 void BrowserDistribution::InactiveUserToastExperiment(int flavor, 275 void BrowserDistribution::InactiveUserToastExperiment(int flavor,
275 const string16& experiment_group, 276 const string16& experiment_group,
276 const installer::Product& installation, 277 const installer::Product& installation,
277 const FilePath& application_path) { 278 const FilePath& application_path) {
278 } 279 }
OLDNEW
« no previous file with comments | « chrome/installer/util/browser_distribution.h ('k') | chrome/installer/util/browser_distribution_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698