[go: nahoru, domu]

blob: 9c65edd16d7e6327c7bcda9c60a7d1478ced5947 [file] [log] [blame]
Avi Drissmane4714ce92022-09-12 21:41:581// Copyright 2021 The Chromium Authors
Jenny Zhangfcf6f0e2021-10-08 22:16:212// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
Samuel Huang885fb15b2021-11-08 19:16:525#ifndef CHROMEOS_CONSTANTS_CHROMEOS_FEATURES_H_
6#define CHROMEOS_CONSTANTS_CHROMEOS_FEATURES_H_
Jenny Zhangfcf6f0e2021-10-08 22:16:217
Alan Cutter6b37b9b12023-11-20 22:27:188#include "base/auto_reset.h"
Samuel Huang04a1d0d2021-11-18 17:50:029#include "base/component_export.h"
Jenny Zhangfcf6f0e2021-10-08 22:16:2110#include "base/feature_list.h"
Clement Yan48912fa2023-10-20 01:34:5911#include "build/buildflag.h"
Jenny Zhangfcf6f0e2021-10-08 22:16:2112
13// This file is only for the feature flags that are shared between ash-chrome
Samuel Huang81b7b322021-11-19 06:19:5514// and lacros-chrome that are not common. For ash features, please add them
Jenny Zhangfcf6f0e2021-10-08 22:16:2115// in //ash/constants/ash_features.h.
16namespace chromeos {
17
Samuel Huang81b7b322021-11-19 06:19:5518namespace features {
19
Yue Liaf09d412021-11-22 22:40:2820// All features in alphabetical order. The features should be documented
21// alongside the definition of their values in the .cc file. If a feature is
22// being rolled out via Finch, add a comment in the .cc file.
Samuel Huang81b7b322021-11-19 06:19:5523
Alan Cutteref4dbb862023-10-18 03:05:5324#if BUILDFLAG(IS_CHROMEOS_ASH)
25COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
26BASE_DECLARE_FEATURE(kAppInstallServiceUri);
27#endif // BUILDFLAG(IS_CHROMEOS_ASH)
Regan Hsu13d05de22024-04-29 19:29:1728COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kApnPolicies);
Samuel Huang81b7b322021-11-19 06:19:5529COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
Daniel Cheng1c0542a2022-09-26 18:37:5130BASE_DECLARE_FEATURE(kBluetoothPhoneFilter);
andrewxu8145f282023-04-27 17:14:2931COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
Steven Bennetts554bc4a2024-01-31 20:42:1532BASE_DECLARE_FEATURE(kCaptivePortalPopupWindow);
33COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
andrewxu8145f282023-04-27 17:14:2934BASE_DECLARE_FEATURE(kClipboardHistoryRefresh);
Daniel Cheng1c0542a2022-09-26 18:37:5135COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kCloudGamingDevice);
Jia Meng4261f4152024-03-21 00:03:3536COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
37BASE_DECLARE_FEATURE(kAlmanacLauncherPayload);
Giovanni Ortuño Urquidi21e306de2023-09-13 00:13:4738COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kBlinkExtension);
39COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
40BASE_DECLARE_FEATURE(kBlinkExtensionDiagnostics);
Edman Anjos353059c2024-01-10 19:32:5141COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kBlinkExtensionKiosk);
Clement Yan48912fa2023-10-20 01:34:5942COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
David Black692a15c2024-03-20 18:56:2943BASE_DECLARE_FEATURE(kContainerAppPreinstall);
44COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
Clement Yan48912fa2023-10-20 01:34:5945BASE_DECLARE_FEATURE(kCrosAppsBackgroundEventHandling);
Christos Froussios7787e3b2023-07-21 02:26:2646COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kCrosComponents);
Tim Sergeant6b834cc2024-03-04 07:18:0547COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kCrosMall);
Tim Sergeant2090b272024-05-23 05:19:3548COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kCrosMallSwa);
Jeevan Shikaram96a02392022-06-06 23:24:3649COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
Sharmin Zamandc88a2a2023-11-01 05:20:5350BASE_DECLARE_FEATURE(kCrosShortstand);
Maggie Caia4c5fae2023-10-23 05:05:5051#if BUILDFLAG(IS_CHROMEOS_ASH)
52COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
53BASE_DECLARE_FEATURE(kCrosWebAppShortcutUiUpdate);
54#endif // BUILDFLAG(IS_CHROMEOS_ASH)
Judy Wang452c4142023-10-19 01:38:5255COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kDeskProfiles);
Louise Brett437ae392023-10-04 05:03:5156COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
Daniel Brinkers2ab1f1e2023-11-09 08:58:0557BASE_DECLARE_FEATURE(kDataControlsFileAccessDefaultDeny);
Yuki Awano31675672024-01-22 19:25:2258COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kDataMigration);
Daniel Brinkers2ab1f1e2023-11-09 08:58:0559COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
Daniel Cheng1c0542a2022-09-26 18:37:5160BASE_DECLARE_FEATURE(kDisableIdleSocketsCloseOnMemoryPressure);
Yue Liaf09d412021-11-22 22:40:2861COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
Daniel Cheng1c0542a2022-09-26 18:37:5162BASE_DECLARE_FEATURE(kDisableOfficeEditingComponentApp);
Pavol Marko798ffdb42022-06-23 13:22:4263COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
Daniel Cheng1c0542a2022-09-26 18:37:5164BASE_DECLARE_FEATURE(kDisableQuickAnswersV2Translation);
Oleksandr Sarapulov6c8cb702c2024-02-14 18:48:5965COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
66BASE_DECLARE_FEATURE(kEnablePkcs12ToChapsDualWrite);
Mohammed Abdond4a1cdb2023-11-23 11:11:1167COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kEssentialSearch);
Jason Line4862b02023-03-21 04:38:1368COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
69BASE_DECLARE_FEATURE(kExperimentalWebAppStoragePartitionIsolation);
Sean Kau12be3af2023-03-02 23:32:4370COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kJelly);
conniekxu4096bb82023-02-08 01:17:2971COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kJellyroll);
Marc Grimme22f1630c2023-11-14 16:35:2272#if BUILDFLAG(IS_CHROMEOS_ASH)
Maria Petrisor10c3c132024-06-25 14:53:2673COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kFloatingSso);
Marc Grimme22f1630c2023-11-14 16:35:2274COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
75BASE_DECLARE_FEATURE(kKioskHeartbeatsViaERP);
Andre Le7733d122024-05-16 17:09:4376COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kMagicBoost);
Andre Leee0baf32024-01-04 17:39:3377COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kMahi);
Lauren Commeignes6310dcb2024-05-08 05:43:4878COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kSparky);
Michelle36b9e3062024-03-18 22:47:5479#endif // BUILDFLAG(IS_CHROMEOS_ASH)
CJ Huange6fbbef2024-04-09 05:07:2080COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kMahiDebugging);
Tao Wuec30354c12023-08-15 20:53:3281COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kOrca);
Chuong Ho0653d1c52023-09-25 01:01:2882COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kOrcaDogfood);
Chuong Ho50e8e4b2024-05-10 09:02:5183COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
84BASE_DECLARE_FEATURE(kOrcaInternationalize);
Chuong Hoa0295f62024-04-10 02:11:1885COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kOrcaUseL10nStrings);
David Blackf43e7052024-03-26 19:23:3286#if !BUILDFLAG(IS_CHROMEOS_LACROS)
87COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
88BASE_DECLARE_FEATURE(kFeatureManagementContainerAppPreinstall);
89#endif // !BUILDFLAG(IS_CHROMEOS_LACROS)
Jenny Zhang0f8cb4fc2022-05-27 00:03:5090COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
Yulun Wu5182cde2024-06-10 22:31:4091BASE_DECLARE_FEATURE(kFeatureManagementHistoryEmbedding);
92COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
Guoxing Zhaoc15018f2023-12-21 23:11:0293BASE_DECLARE_FEATURE(kFeatureManagementOrca);
94COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
95BASE_DECLARE_FEATURE(kFeatureManagementDisableChromeCompose);
96COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
Bhuvana Betini2bd89632024-06-03 17:47:1097BASE_DECLARE_FEATURE(kNotificationWidthIncrease);
98COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
Joel Hockey55097e62024-05-31 04:19:5899BASE_DECLARE_FEATURE(kPreinstalledWebAppsCoreOnly);
100COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
Angela Xiao9f1baa002024-02-21 01:07:00101BASE_DECLARE_FEATURE(kQuickAnswersMaterialNextUI);
102COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
Yue Li50e4063002022-11-18 19:03:39103BASE_DECLARE_FEATURE(kQuickAnswersRichCard);
104COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
Daniel Cheng1c0542a2022-09-26 18:37:51105BASE_DECLARE_FEATURE(kQuickAnswersV2SettingsSubToggle);
Alexander Bolodurinb8e43472023-04-20 00:33:53106COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kUploadOfficeToCloud);
Andrew Rayskiy89a77102023-08-29 11:06:05107COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
108BASE_DECLARE_FEATURE(kUploadOfficeToCloudForEnterprise);
Zoraiz Naeem056fe4b2023-05-23 00:35:38109COMPONENT_EXPORT(CHROMEOS_CONSTANTS) BASE_DECLARE_FEATURE(kRoundedWindows);
Simon Hanglf92a7132023-11-13 14:41:10110COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
111BASE_DECLARE_FEATURE(kMicrosoftOneDriveIntegrationForEnterprise);
Ben Reich963dd092023-12-20 05:31:55112COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
cassycc8e3f9672024-02-08 06:24:59113BASE_DECLARE_FEATURE(kFileSystemProviderCloudFileSystem);
114COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
Ben Reich963dd092023-12-20 05:31:55115BASE_DECLARE_FEATURE(kFileSystemProviderContentCache);
Yue Liaf09d412021-11-22 22:40:28116
117// Keep alphabetized.
Samuel Huang81b7b322021-11-19 06:19:55118
andrewxu8145f282023-04-27 17:14:29119COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
Regan Hsu13d05de22024-04-29 19:29:17120bool IsApnPoliciesEnabled();
121COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
Steven Bennetts554bc4a2024-01-31 20:42:15122bool IsCaptivePortalPopupWindowEnabled();
123COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
andrewxu8145f282023-04-27 17:14:29124bool IsClipboardHistoryRefreshEnabled();
Jeevan Shikaram96a02392022-06-06 23:24:36125COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsCloudGamingDeviceEnabled();
Jia Meng4261f4152024-03-21 00:03:35126COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsAlmanacLauncherPayloadEnabled();
Giovanni Ortuño Urquidi21e306de2023-09-13 00:13:47127COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsBlinkExtensionEnabled();
128COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsBlinkExtensionDiagnosticsEnabled();
David Black692a15c2024-03-20 18:56:29129COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsContainerAppPreinstallEnabled();
Christos Froussios7787e3b2023-07-21 02:26:26130COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsCrosComponentsEnabled();
Tim Sergeant0e3172f2024-06-17 07:14:41131COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsCrosMallWebAppEnabled();
Tim Sergeant2090b272024-05-23 05:19:35132COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsCrosMallSwaEnabled();
Maggie Caia4c5fae2023-10-23 05:05:50133COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsCrosWebAppShortcutUiUpdateEnabled();
Sharmin Zamandc88a2a2023-11-01 05:20:53134COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsCrosShortstandEnabled();
Chung-Sheng Wu81ffda792023-07-14 10:08:34135COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
Guoxing Zhaoc15018f2023-12-21 23:11:02136bool ShouldDisableChromeComposeOnChromeOS();
137COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
Daniel Brinkers2ab1f1e2023-11-09 08:58:05138bool IsDataControlsFileAccessDefaultDenyEnabled();
Yuki Awano31675672024-01-22 19:25:22139COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsDataMigrationEnabled();
Daniel Brinkers2ab1f1e2023-11-09 08:58:05140COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
Judy Wang452c4142023-10-19 01:38:52141bool IsDeskProfilesEnabled();
Mohammed Abdond4a1cdb2023-11-23 11:11:11142COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsEssentialSearchEnabled();
Judy Wang452c4142023-10-19 01:38:52143COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
cassycc8e3f9672024-02-08 06:24:59144bool IsFileSystemProviderCloudFileSystemEnabled();
145COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
Ben Reichedc1dc12024-01-08 01:37:28146bool IsFileSystemProviderContentCacheEnabled();
Maria Petrisor10c3c132024-06-25 14:53:26147#if BUILDFLAG(IS_CHROMEOS_ASH)
Andrey Davydova4d579a42024-06-11 17:41:50148COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsFloatingSsoAllowed();
Maria Petrisor10c3c132024-06-25 14:53:26149#endif // BUILDFLAG(IS_CHROMEOS_ASH)
Sean Kau12be3af2023-03-02 23:32:43150COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsJellyEnabled();
conniekxu4096bb82023-02-08 01:17:29151COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsJellyrollEnabled();
Andre Le7733d122024-05-16 17:09:43152COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsMagicBoostEnabled();
Andre Leee0baf32024-01-04 17:39:33153COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsMahiEnabled();
CJ Huange6fbbef2024-04-09 05:07:20154COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsMahiDebuggingEnabled();
Bhuvana Betini2bd89632024-06-03 17:47:10155COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsNotificationWidthIncreaseEnabled();
Zoraiz Naeem056fe4b2023-05-23 00:35:38156COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsRoundedWindowsEnabled();
Zoraiz Naeemb7e004f2023-06-23 21:47:17157COMPONENT_EXPORT(CHROMEOS_CONSTANTS) int RoundedWindowsRadius();
Zoraiz Naeem056fe4b2023-05-23 00:35:38158COMPONENT_EXPORT(CHROMEOS_CONSTANTS) extern const char kRoundedWindowsRadius[];
Owen Zhang2a5778d2023-10-27 16:33:00159COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
160bool IsSeparateWebAppShortcutBadgeIconEnabled();
Tao Wuec30354c12023-08-15 20:53:32161COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsOrcaEnabled();
Chuong Hoa0295f62024-04-10 02:11:18162COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsOrcaUseL10nStringsEnabled();
Chuong Ho50e8e4b2024-05-10 09:02:51163COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsOrcaInternationalizeEnabled();
Yue Liaf09d412021-11-22 22:40:28164COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsQuickAnswersV2TranslationDisabled();
165COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
166bool IsQuickAnswersV2SettingsSubToggleEnabled();
Yue Li4073f6f2022-01-26 22:45:02167COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
Yue Li50e4063002022-11-18 19:03:39168bool IsQuickAnswersRichCardEnabled();
169COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
Yue Li4073f6f2022-01-26 22:45:02170bool IsQuickAnswersAlwaysTriggerForSingleWord();
Lauren Commeignes6310dcb2024-05-08 05:43:48171COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsSparkyEnabled();
Oleksandr Sarapulov6c8cb702c2024-02-14 18:48:59172COMPONENT_EXPORT(CHROMEOS_CONSTANTS) bool IsPkcs12ToChapsDualWriteEnabled();
Alexander Bolodurinb8e43472023-04-20 00:33:53173COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
174bool IsUploadOfficeToCloudEnabled();
Andrew Rayskiy89a77102023-08-29 11:06:05175COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
176bool IsUploadOfficeToCloudForEnterpriseEnabled();
Simon Hanglf92a7132023-11-13 14:41:10177COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
178bool IsMicrosoftOneDriveIntegrationForEnterpriseEnabled();
Samuel Huang81b7b322021-11-19 06:19:55179
180} // namespace features
Jenny Zhangfcf6f0e2021-10-08 22:16:21181} // namespace chromeos
182
Samuel Huang885fb15b2021-11-08 19:16:52183#endif // CHROMEOS_CONSTANTS_CHROMEOS_FEATURES_H_