Pin Chrome's shortcut to the Win10 Start menu on install and OS upgrade.
[chromium-blink-merge.git] / chrome / installer / util / google_chrome_sxs_distribution.h
blob9ae8c3a9dd12e14f1488345bd31e19599a941fdc
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 {
21 public:
22 base::string16 GetBaseAppName() override;
23 base::string16 GetShortcutName(ShortcutType shortcut_type) override;
24 int GetIconIndex(ShortcutType shortcut_type) override;
25 base::string16 GetStartMenuShortcutSubfolder(
26 Subfolder subfolder_type) override;
27 base::string16 GetBaseAppId() override;
28 base::string16 GetBrowserProgIdPrefix() override;
29 base::string16 GetBrowserProgIdDesc() override;
30 base::string16 GetInstallSubDir() override;
31 base::string16 GetUninstallRegPath() override;
32 DefaultBrowserControlPolicy GetDefaultBrowserControlPolicy() override;
33 bool GetChromeChannel(base::string16* channel) override;
34 bool GetCommandExecuteImplClsid(base::string16* handler_class_uuid) override;
35 bool ShouldSetExperimentLabels() override;
36 bool HasUserExperiments() override;
37 // returns the channel name for GoogleChromeSxSDistribution
38 static base::string16 ChannelName();
39 private:
40 friend class BrowserDistribution;
42 // Disallow construction from non-friends.
43 GoogleChromeSxSDistribution();
46 #endif // CHROME_INSTALLER_UTIL_GOOGLE_CHROME_SXS_DISTRIBUTION_H_