google_chrome_sxs_distribution.h revision 7d4cd473f85ac64c3747c96c277f9e506a0d2246
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. 4 5#ifndef CHROME_INSTALLER_UTIL_GOOGLE_CHROME_SXS_DISTRIBUTION_H_ 6#define CHROME_INSTALLER_UTIL_GOOGLE_CHROME_SXS_DISTRIBUTION_H_ 7 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" 13 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. 20class GoogleChromeSxSDistribution : public GoogleChromeDistribution { 21 public: 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(); 37 private: 38 friend class BrowserDistribution; 39 40 // Disallow construction from non-friends. 41 GoogleChromeSxSDistribution(); 42}; 43 44#endif // CHROME_INSTALLER_UTIL_GOOGLE_CHROME_SXS_DISTRIBUTION_H_ 45