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
3 // found in the LICENSE file.
5 #ifndef CHROME_INSTALLER_UTIL_GOOGLE_CHROME_SXS_DISTRIBUTION_H_
6 #define CHROME_INSTALLER_UTIL_GOOGLE_CHROME_SXS_DISTRIBUTION_H_
8 #include "base/strings/string16.h"
9 #include "chrome/installer/util/browser_distribution.h"
10 #include "chrome/installer/util/google_chrome_distribution.h"
11 #include "chrome/installer/util/l10n_string_util.h"
12 #include "chrome/installer/util/util_constants.h"
14 // GoogleChromeSxSDistribution encapsulates properties of Google Chrome Sxs
15 // distribution which can co-exist with other Google Chrome distributions.
16 // Google Chrome Sxs distribution is installed to a different path, runs
17 // alongside with normally installed Google Chrome, and is updated separately.
18 // It is mainly used for developer preview and testing, and is disabled for
19 // system level install and setting as default browser.
20 class GoogleChromeSxSDistribution
: public GoogleChromeDistribution
{
22 virtual base::string16
GetBaseAppName() OVERRIDE
;
23 virtual base::string16
GetShortcutName(ShortcutType shortcut_type
) OVERRIDE
;
24 virtual int GetIconIndex(ShortcutType shortcut_type
) OVERRIDE
;
25 virtual base::string16
GetStartMenuShortcutSubfolder(
26 Subfolder subfolder_type
) OVERRIDE
;
27 virtual base::string16
GetBaseAppId() OVERRIDE
;
28 virtual base::string16
GetBrowserProgIdPrefix() OVERRIDE
;
29 virtual base::string16
GetBrowserProgIdDesc() OVERRIDE
;
30 virtual base::string16
GetInstallSubDir() OVERRIDE
;
31 virtual base::string16
GetUninstallRegPath() OVERRIDE
;
32 virtual DefaultBrowserControlPolicy
GetDefaultBrowserControlPolicy() OVERRIDE
;
33 virtual bool GetChromeChannel(base::string16
* channel
) OVERRIDE
;
34 virtual bool GetCommandExecuteImplClsid(
35 base::string16
* handler_class_uuid
) OVERRIDE
;
36 virtual bool AppHostIsSupported() OVERRIDE
;
37 virtual bool ShouldSetExperimentLabels() OVERRIDE
;
38 virtual bool HasUserExperiments() OVERRIDE
;
39 // returns the channel name for GoogleChromeSxSDistribution
40 static base::string16
ChannelName();
42 friend class BrowserDistribution
;
44 // Disallow construction from non-friends.
45 GoogleChromeSxSDistribution();
48 #endif // CHROME_INSTALLER_UTIL_GOOGLE_CHROME_SXS_DISTRIBUTION_H_