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
|
// http://dev.chromium.org/blink/runtime-enabled-features
//
// This list is used to generate RuntimeEnabledFeatures.h/cpp which contains
// a class that stores static enablers for all experimental features.
//
// Each feature can be assigned a "status":
// status=stable -> Enable this in all Blink configurations. We are committed to these APIs indefinitely.
// status=experimental -> In-progress features, Web Developers might play with, but are not on by default in stable.
// status=test -> Enabled in ContentShell for testing, otherwise off.
// Features without a status are not enabled anywhere by default.
//
// "implied_by" or "depends_on" specifies relationship to other features:
// implied_by=feature1[,feature2,...] -> The feature is automatically enabled if any implied_by features is enabled;
// depends_on=feature1[,feature2,...] -> The feature is enabled only if all depends_on features are enabled.
// Only one of "implied_by" and "depends_on" can be specified.
//
// "stable" features listed here should be rare, as anything which we've shipped stable
// can have its runtime flag removed soon after.
//
// condition=ENABLE_NAME is used for wrapping features in compile-time
// #if ENABLE(FEATURE) guards. These are deprecated and should all be removed.
AdditiveAnimations status=experimental, depends_on=StackedCSSPropertyAnimations
AppBanner status=stable
AlwaysUseComplexText
ApplicationCache status=stable
AudioOutputDevices status=experimental
AudioVideoTracks depends_on=Media, status=experimental
AuthorShadowDOMForAnyElement
BackgroundSync status=experimental
BackgroundSyncPeriodic status=experimental
BackgroundSyncV2 status=experimental
// Enable bleeding-edge code to make Blink draw content faster.
// The changes enabled behind this flag are very likely to break lots of content.
// ** DO NOT use this flag unless you know what you are doing. **
BleedingEdgeFastPaths
CacheStorageMatchAll status=stable
ClientHints status=stable
ColumnFill status=experimental
CompositedSelectionUpdate
CompositorWorker status=experimental
// Unified Chrome Compositor and Blink Animations engine (Project Heaviside). crbug.com/394772
CompositorAnimationTimelines
ContextMenu status=experimental
CreateShadowRootWithParameter status=experimental
CredentialManager status=test
CSS3Text status=experimental
CSS3TextDecorations status=experimental
CSSAttributeCaseSensitivity status=experimental
CSSBackdropFilter status=experimental
CSSCompositing status=stable
CSSFontSizeAdjust status=experimental
CSSGridLayout status=experimental
CSSIndependentTransformProperties status=experimental
CSSMaskSourceType status=experimental
CSSMotionPath status=stable
CSSOMSmoothScroll status=experimental
CSSStickyPosition
CSSTouchActionPanDirections status=experimental
CSSViewport status=experimental
CSSScrollSnapPoints status=test
// getPropertyCSSValue, CSSValue, etc. will be removed once layout tests no longer depend on them. crbug.com/331608
CustomSchemeHandler depends_on=NavigatorContentUtils, status=experimental
Database status=stable
DecodeToYUV status=experimental
DeviceLight status=experimental
DisplayList2dCanvas status=stable
DurableStorage status=experimental
ForceDisplayList2dCanvas
EncryptedMedia status=stable
ExecCommandInJavaScript status=test
ComputedAccessibilityInfo status=experimental
ExperimentalCanvasFeatures status=test
ExperimentalContentSecurityPolicyFeatures status=experimental
FastMobileScrolling
FileAPIBlobClose status=experimental
FileSystem status=stable
FormDataNewMethods status=experimental
FullscreenUnprefixed status=test
FrameTimingSupport status=experimental
Geofencing status=experimental
GeometryInterfaces status=test
GetUserMedia depends_on=MediaDevices, status=experimental
GlobalCacheStorage status=stable
HiResEventTimeStamp status=experimental
ImageColorProfiles
ImageOrientation status=test
ImageRenderingPixelated status=stable
IndexedDBExperimental status=experimental
InputDeviceCapabilities status=stable
InputModeAttribute status=experimental
KeyboardEventCode status=experimental
KeyboardEventKey status=experimental
LangAttributeAwareFormControlUI
LinkPreconnect status=stable
LinkPreload status=experimental
LinkHeader status=stable
FractionalScrollOffsets status=experimental
Media status=stable
MediaCapture
MediaController depends_on=Media, status=experimental
MediaDevices status=stable
MediaRecorder status=experimental
MediaSession
MediaSource status=stable
MediaSourceExperimental depends_on=MediaSource, status=experimental
MediaStreamSpeech status=experimental
MemoryInfoInWorkers status=experimental
NavigatorConnect status=experimental
NavigatorContentUtils
WebNFC status=experimental
NetworkInformation status=stable
NetInfoDownlinkMax status=experimental
NewMediaPlaybackUi
NotificationConstructor status=stable
NotificationExperimental status=test
Notifications status=stable
OrientationEvent
// For simulating Android's overlay fullscreen video in layout tests on Linux.
ForceOverlayFullscreenVideo
OverlayScrollbars
PagePopup status=stable
PathOpsSVGClipping status=stable
PerformanceObserver status=experimental
Permissions status=stable
PermissionsRequestRevoke status=experimental
PointerEvent
PreciseMemoryInfo
PrefixedEncryptedMedia status=test
// This feature is deprecated and we are evangelizing affected sites.
// See https://crbug.com/346236 for current status.
PrefixedVideoFullscreen status=stable
Presentation status=stable
PromiseRejectionEvent status=experimental
PushMessaging status=stable
// Push messaging payloads are blocked on the Push API supporting encryption.
PushMessagingData status=test
QuotaPromise status=experimental
ReducedReferrerGranularity
RequestIdleCallback status=stable
RequestAutocomplete status=test
RestrictIFramePermissions
SandboxBlocksModals status=stable
ScreenOrientation status=stable
ScriptedSpeech status=stable
// Implements documentElement.scrollTop/Left and bodyElement.scrollTop/Left
// as per the spec, matching other Web engines.
ScrollTopLeftInterop status=experimental
SelectionForComposedTree status=stable
SelectionPaintingWithoutSelectionGaps status=stable
ServiceWorkerClientAttributes status=stable
ServiceWorkerPerformanceTimeline status=stable
ServiceWorkerWindowClientNavigate status=experimental
ShadowRootClosedMode status=experimental
ShadowRootDelegatesFocus status=experimental
SharedArrayBuffer
SharedWorker status=stable
SlimmingPaintV2
SlimmingPaintOffsetCaching implied_by=SlimmingPaintV2
SlimmingPaintStrictCullRectClipping
SlimmingPaintSubsequenceCaching implied_by=SlimmingPaintV2
SlimmingPaintSynchronizedPainting implied_by=SlimmingPaintV2
SlimmingPaintUnderInvalidationChecking
StackedCSSPropertyAnimations status=experimental
StyleSharing status=stable
StyleMatchedPropertiesCache status=stable
// Do not turn this flag into stable, because many interfaces that should not
// be shipped would be enabled. Instead, remove the flag from the shipping
// interface.
ExperimentalStream status=experimental
ReferrerPolicyAttribute status=experimental
Suborigins status=experimental
ThreadedParserDataReceiver
// Many websites disable mouse support when touch APIs are available. We'd
// like to enable this always but can't until more websites fix this bug.
// Chromium sets this conditionally (eg. based on the presence of a
// touchscreen) in ApplyWebPreferences.
Touch status=stable
TouchIconLoading
TrustedEvents status=stable
TrustedEventsDefaultAction
UnsafeES3APIs
UnsandboxedAuxiliary status=stable
UserSelectAll status=experimental
WebAnimationsAPI status=experimental
WebAnimationsSVG status=experimental
WebAudio condition=WEB_AUDIO, status=stable
WebBluetooth
WebGLDraftExtensions status=experimental
WebGLImageChromium
WebUSB status=experimental
WebVR depends_on=GeometryInterfaces
WebVTTRegions depends_on=Media, status=experimental
V8IdleTasks
XSLT status=stable
SVG1DOM status=stable
smil status=stable
ScrollCustomization
ScrollRestoration status=stable
WakeLock status=experimental
|