forked from chromium/chromium
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathchrome_features.h
372 lines (256 loc) · 9.53 KB
/
chrome_features.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// This file defines all the public base::FeatureList features for the chrome
// module.
#ifndef CHROME_COMMON_CHROME_FEATURES_H_
#define CHROME_COMMON_CHROME_FEATURES_H_
#include "base/feature_list.h"
#include "build/build_config.h"
#include "build/buildflag.h"
#include "chrome/common/buildflags.h"
#include "device/vr/buildflags/buildflags.h"
#include "extensions/buildflags/buildflags.h"
#include "ppapi/buildflags/buildflags.h"
#include "printing/buildflags/buildflags.h"
#include "ui/base/ui_features.h"
namespace features {
// All features in alphabetical order. The features should be documented
// alongside the definition of their values in the .cc file.
extern const base::Feature kAdsFeature;
#if defined(OS_ANDROID)
extern const base::Feature kAllowAutoplayUnmutedInWebappManifestScope;
#endif // defined(OS_ANDROID)
#if defined(OS_MACOSX)
extern const base::Feature kAppleScriptExecuteJavaScriptMenuItem;
extern const base::Feature kShow10_9ObsoleteInfobar;
extern const base::Feature kViewsTaskManager;
#endif // defined(OS_MACOSX)
#if !defined(OS_ANDROID)
extern const base::Feature kAnimatedAppMenuIcon;
extern const base::Feature kAppBanners;
#endif // !defined(OS_ANDROID)
#if defined(OS_ANDROID)
extern const base::Feature kAppNotificationStatusMessaging;
#endif // defined(OS_ANDROID)
extern const base::Feature kAssetDownloadSuggestionsFeature;
extern const base::Feature kAsyncDns;
#if defined(OS_WIN) || defined(OS_MACOSX)
extern const base::Feature kAutomaticTabDiscarding;
#endif // defined(OS_WIN) || defined(OS_MACOSX)
#if defined(OS_WIN) || defined(OS_LINUX)
extern const base::Feature kBackgroundModeAllowRestart;
#endif // defined(OS_WIN) || defined(OS_LINUX)
extern const base::Feature kBlockPromptsIfDismissedOften;
extern const base::Feature kBlockPromptsIfIgnoredOften;
#if defined(OS_MACOSX)
extern const base::Feature kBookmarkApps;
#endif
extern const base::Feature kBrowserHangFixesExperiment;
#if defined(OS_MACOSX)
extern const base::Feature kBrowserTouchBar;
#endif
extern const base::Feature kBundledConnectionHelpFeature;
#if defined(OS_MACOSX)
extern const base::Feature kDialogTouchBar;
extern const base::Feature kTabStripKeyboardFocus;
#endif // defined(OS_MACOSX)
#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_MACOSX)
extern const base::Feature kCertDualVerificationTrialFeature;
#endif
extern const base::Feature kChangePictureVideoMode;
#if defined(OS_ANDROID)
extern const base::Feature kClearOldBrowsingData;
#endif
extern const base::Feature kClickToOpenPDFPlaceholder;
extern const base::Feature kClipboardContentSetting;
extern const base::Feature kCloseButtonsInactiveTabs;
#if defined(OS_MACOSX)
extern const base::Feature kContentFullscreen;
#endif
#if defined(OS_CHROMEOS)
extern const base::Feature kCrostini;
extern const base::Feature kUsageTimeLimitPolicy;
#endif
#if defined(OS_WIN)
extern const base::Feature kDesktopIOSPromotion;
#endif // defined(OS_WIN)
extern const base::Feature kDesktopPWAWindowing;
extern const base::Feature kDesktopPWAsLinkCapturing;
extern const base::Feature kDisallowUnsafeHttpDownloads;
extern const char kDisallowUnsafeHttpDownloadsParamName[];
#if !defined(OS_ANDROID)
extern const base::Feature kDoodlesOnLocalNtp;
#endif
#if defined(OS_ANDROID)
extern const base::Feature kDownloadsForeground;
#endif
#if defined(OS_ANDROID)
extern const base::Feature kDownloadsLocationChange;
#endif
extern const base::Feature kExperimentalAppBanners;
#if defined(OS_CHROMEOS)
extern const base::Feature kExperimentalCrostiniUI;
#endif
extern const base::Feature kExternalExtensionDefaultButtonControl;
// Android expects this string from Java code, so it is always needed.
// TODO(crbug.com/731802): Use #if BUILDFLAG(ENABLE_VR_BROWSING) instead.
#if BUILDFLAG(ENABLE_VR) || defined(OS_ANDROID)
extern const base::Feature kVrBrowsing;
#endif
#if BUILDFLAG(ENABLE_VR)
extern const base::Feature kVrBrowsingExperimentalFeatures;
extern const base::Feature kVrBrowsingExperimentalRendering;
#if BUILDFLAG(ENABLE_OCULUS_VR)
extern const base::Feature kOculusVR;
#endif // ENABLE_OCULUS_VR
#if BUILDFLAG(ENABLE_OPENVR)
extern const base::Feature kOpenVR;
#endif // ENABLE_OPENVR
#endif // ENABLE_VR
extern const base::Feature kFullscreenExitUI;
#if defined(OS_MACOSX)
extern const base::Feature kFullscreenToolbarReveal;
#endif
#if defined(OS_WIN)
extern const base::Feature kGdiTextPrinting;
#endif
extern const base::Feature kGeoLanguage;
#if defined(OS_ANDROID)
extern const base::Feature kGrantNotificationsToDSE;
#endif
#if defined(OS_CHROMEOS)
extern const base::Feature kHappinessTrackingSystem;
#endif
#if !defined(OS_ANDROID)
extern const base::Feature kViewsCastDialog;
#endif
extern const base::Feature kIdnNavigationSuggestions;
extern const base::Feature kImprovedRecoveryComponent;
#if defined(OS_WIN) && defined(GOOGLE_CHROME_BUILD)
extern const base::Feature kIncompatibleApplicationsWarning;
#endif
#if !defined(OS_ANDROID)
extern const base::Feature kLocalScreenCasting;
#endif
extern const base::Feature kLsdPermissionPrompt;
#if defined(OS_MACOSX)
extern const base::Feature kMacRTL;
extern const base::Feature kMacFullSizeContentView;
extern const base::Feature kMacSystemShareMenu;
#endif
#if defined(OS_MACOSX)
extern const base::Feature kMacMaterialDesignDownloadShelf;
#endif
#if BUILDFLAG(ENABLE_EXTENSIONS)
extern const base::Feature kAcknowledgeNtpOverrideOnDeactivate;
#endif
#if defined(OS_WIN) || (defined(OS_LINUX) && !defined(OS_CHROMEOS))
extern const base::Feature kWarnBeforeQuitting;
#endif
extern const base::Feature kMaterialDesignIncognitoNTP;
extern const base::Feature kMirroringService;
extern const base::Feature kModalPermissionPrompts;
#if BUILDFLAG(ENABLE_NATIVE_NOTIFICATIONS)
extern const base::Feature kNativeNotifications;
#endif
extern const base::Feature kNetworkPrediction;
#if defined(OS_POSIX)
extern const base::Feature kNtlmV2Enabled;
#endif
extern const base::Feature kOfflinePageDownloadSuggestionsFeature;
#if defined(OS_ANDROID)
extern const base::Feature kOomIntervention;
#endif
#if !defined(OS_ANDROID)
extern const base::Feature kOneGoogleBarOnLocalNtp;
#endif
extern const base::Feature kUseNewAcceptLanguageHeader;
extern const base::Feature kPermissionDelegation;
#if defined(OS_WIN)
extern const base::Feature kDisablePostScriptPrinting;
#endif
#if !defined(OS_ANDROID)
extern const base::Feature kPolicyTool;
#endif
#if BUILDFLAG(ENABLE_PLUGINS)
extern const base::Feature kPreferHtmlOverPlugins;
#endif
#if defined(OS_CHROMEOS)
extern const base::Feature kPreloadLockScreen;
#endif
#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
extern const base::Feature kCloudPrinterHandler;
extern const base::Feature kNewPrintPreview;
extern const base::Feature kNupPrinting;
#endif
extern const base::Feature kPushMessagingBackgroundMode;
#if !defined(OS_ANDROID)
extern const base::Feature kRemoveUsageOfDeprecatedGaiaSigninEndpoint;
#endif
extern const base::Feature kSafeSearchUrlReporting;
extern const base::Feature kSecurityKeyAttestationPrompt;
#if defined(OS_MACOSX)
extern const base::Feature kShowAllDialogsWithViewsToolkit;
#endif
#if defined(OS_ANDROID)
extern const base::Feature kShowTrustedPublisherURL;
#endif
extern const base::Feature kSiteSettings;
extern const base::Feature kSitePerProcess;
extern const base::Feature kSitePerProcessOnlyForHighMemoryClients;
extern const char kSitePerProcessOnlyForHighMemoryClientsParamName[];
#if defined(OS_CHROMEOS)
extern const base::Feature kNativeSmb;
#endif
extern const base::Feature kSingleTabMode;
extern const base::Feature kSoundContentSetting;
#if defined(OS_MACOSX)
extern const base::Feature kSuggestedTextTouchBar;
#endif
extern const base::Feature kSupervisedUserCommittedInterstitials;
#if defined(OS_CHROMEOS)
extern const base::Feature kSysInternals;
#endif
#if !defined(OS_ANDROID)
extern const base::Feature kTabMetricsLogging;
#endif
#if defined(OS_WIN) && defined(GOOGLE_CHROME_BUILD)
extern const base::Feature kThirdPartyModulesBlocking;
#endif
extern const base::Feature kTopSitesFromSiteEngagement;
extern const base::Feature kUseGoogleLocalNtp;
#if defined(OS_CHROMEOS)
extern const base::Feature kAdaptiveScreenBrightnessLogging;
extern const base::Feature kUserActivityEventLogging;
extern const base::Feature kUserActivityPrediction;
#endif
extern const base::Feature kUseSameCacheForMedia;
#if !defined(OS_ANDROID)
extern const base::Feature kVoiceSearchOnLocalNtp;
#endif
#if defined(OS_CHROMEOS)
extern const base::Feature kArcCupsApi;
extern const base::Feature kOptInImeMenu;
extern const base::Feature kQuickUnlockPin;
extern const base::Feature kQuickUnlockPinSignin;
extern const base::Feature kQuickUnlockFingerprint;
extern const base::Feature kEHVInputOnImeMenu;
extern const base::Feature kBulkPrinters;
extern const base::Feature kCrosCompUpdates;
extern const base::Feature kCrOSComponent;
extern const base::Feature kTPMFirmwareUpdate;
extern const base::Feature kCrOSEnableUSMUserService;
extern const base::Feature kMachineLearningService;
#endif // defined(OS_CHROMEOS)
#if !defined(OS_ANDROID)
extern const base::Feature kWebRtcRemoteEventLog;
#endif
#if defined(OS_WIN)
extern const base::Feature kWin10AcceleratedDefaultBrowserFlow;
#endif // defined(OS_WIN)
bool PrefServiceEnabled();
// DON'T ADD RANDOM STUFF HERE. Put it in the main section above in
// alphabetical order, or in one of the ifdefs (also in order in each section).
} // namespace features
#endif // CHROME_COMMON_CHROME_FEATURES_H_