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 string16
GetBaseAppName() OVERRIDE
;
23 virtual string16
GetAppShortCutName() OVERRIDE
;
24 virtual string16
GetBaseAppId() OVERRIDE
;
25 virtual string16
GetInstallSubDir() OVERRIDE
;
26 virtual string16
GetUninstallRegPath() OVERRIDE
;
27 virtual bool CanSetAsDefault() OVERRIDE
;
28 virtual int GetIconIndex() OVERRIDE
;
29 virtual bool GetChromeChannel(string16
* channel
) OVERRIDE
;
30 virtual bool GetCommandExecuteImplClsid(
31 string16
* handler_class_uuid
) OVERRIDE
;
32 virtual bool AppHostIsSupported() OVERRIDE
;
33 virtual bool ShouldSetExperimentLabels() OVERRIDE
;
34 virtual bool HasUserExperiments() OVERRIDE
;
35 // returns the channel name for GoogleChromeSxSDistribution
36 static string16
ChannelName();
38 friend class BrowserDistribution
;
40 // Disallow construction from non-friends.
41 GoogleChromeSxSDistribution();
44 #endif // CHROME_INSTALLER_UTIL_GOOGLE_CHROME_SXS_DISTRIBUTION_H_