1// http://dev.chromium.org/blink/runtime-enabled-features
2//
3// This list is used to generate RuntimeEnabledFeatures.h/cpp which contains
4// a class that stores static enablers for all experimental features.
5//
6// Each feature can be assigned a "status":
7// status=stable -> Enable this in all Blink configurations.  We are committed to these APIs indefinitely.
8// status=experimental -> In-progress features, Web Developers might play with, but are not on by default in stable.
9// status=test -> Enabled in ContentShell for testing, otherwise off.
10// status=deprecated -> Alias for "test", will be removed at some point.
11// Features without a status are not enabled anywhere by default.
12//
13// "stable" features listed here should be rare, as anything which we've shipped stable
14// can have its runtime flag removed soon after.
15//
16// condition=ENABLE_NAME is used for wrapping features in compile-time
17// #if ENABLE(FEATURE) guards.  These are deprecated and should all be removed.
18
19AnyPointerMediaQueries status=experimental
20ApplicationCache status=stable
21AudioVideoTracks depends_on=Media, status=experimental
22AuthorShadowDOMForAnyElement
23BackgroundSync status=experimental
24BatteryStatus status=stable
25Beacon status=stable
26
27// This feature is deprecated and we are evangalizing affected sites.
28// See https://crbug.com/346236 for current status.
29PrefixedVideoFullscreen status=stable
30
31// Enable bleeding-edge code to make Blink draw content faster.
32// The changes enabled behind this flag are very likely to break lots of content.
33// ** DO NOT use this flag unless you know what you are doing. **
34BleedingEdgeFastPaths
35ThemeColor status=stable
36
37ClientHintsDpr status=experimental
38ContextMenu status=experimental
39Crypto status=stable
40CSSAnimationUnprefixed status=experimental
41CSSAttributeCaseSensitivity status=experimental
42CSSCompositing status=experimental
43CSSGridLayout status=experimental
44CSSMaskSourceType status=experimental
45CSSOMSmoothScroll status=experimental
46CSSTouchActionDelay status=test
47CSSViewport status=experimental
48CSS3Text status=experimental
49CSS3TextDecorations status=experimental
50CompositedSelectionUpdate
51CustomSchemeHandler depends_on=NavigatorContentUtils, status=experimental
52Database status=stable
53DecodeToYUV status=experimental
54DeviceLight status=experimental
55DisplayList2dCanvas
56SVGFontsOnNonGDIPlatforms
57EncodingAPI status=stable
58EncryptedMedia status=test
59EncryptedMediaAnyVersion status=stable
60ExecCommandInJavaScript status=test
61ExperimentalCanvasFeatures status=test
62ExperimentalContentSecurityPolicyFeatures status=experimental
63ExperimentalWebSocket status=stable
64FastMobileScrolling
65FileAPIBlobClose status=experimental
66FileConstructor status=stable
67FileSystem status=stable
68FullscreenUnprefixed status=test
69Gamepad status=stable
70Geofencing status=test
71GeometryInterfaces status=test
72IMEAPI status=experimental
73ImageDataConstructor status=experimental
74ImageRenderingPixelated status=experimental
75IndexedDBExperimental status=experimental
76InputModeAttribute status=experimental
77LangAttributeAwareFormControlUI
78LayerSquashing status=stable
79PrefixedEncryptedMedia status=stable
80LocalStorage status=stable
81Media status=stable
82MediaCapture
83MediaController depends_on=Media, status=experimental
84MediaSource status=stable
85MediaSourceExperimental depends_on=MediaSource, status=experimental
86MediaStream status=stable
87MemoryInfoInWorkers status=experimental
88NavigationTransitions status=experimental
89NavigatorContentUtils
90NetworkInformation status=stable
91Notifications status=stable
92OrientationEvent
93// Only enabled on Android, and for certain layout tests on Linux.
94OverlayFullscreenVideo
95PagePopup status=stable
96PathOpsSVGClipping status=stable
97PeerConnection depends_on=MediaStream, status=stable
98PreciseMemoryInfo
99Presentation status=test
100PushMessaging status=experimental
101QuotaPromise status=experimental
102OverlayScrollbars
103RegionBasedColumns status=experimental
104
105RequestAutocomplete status=test
106ScreenOrientation status=stable
107ScriptedSpeech status=stable
108
109// Implements documentElement.scrollTop/Left and bodyElement.scrollTop/Left
110// as per the spec, matching other Web engines.
111ScrollTopLeftInterop status=experimental
112ServiceWorker status=experimental
113// FIXME: When ServiceWorker is status=stable add a webexposed test to
114// verify that addEventListener('fetch', ... is *not* fired when
115// onfetch is not enabled.
116ServiceWorkerOnFetch status=experimental
117SessionStorage status=stable
118SharedWorker status=stable
119PictureSizes status=stable
120Picture status=stable
121
122// window.showModalDialog is deprecated and slated for removal. crbug.com/345831
123ShowModalDialog status=deprecated
124
125// Lax Mixed Content checking for WebSockets, XHR, etc. is deprecated and slated for removal. crbug.com/389089
126LaxMixedContentChecking status=deprecated
127
128Stream status=experimental
129SubpixelFontScaling status=stable
130SubresourceIntegrity status=test
131
132// Many websites disable mouse support when touch APIs are available.  We'd
133// like to enable this always but can't until more websites fix this bug.
134// Chromium sets this conditionally (eg. based on the presence of a
135// touchscreen) in ApplyWebPreferences.
136Touch status=stable
137
138// Temporary setting to allow easy rollback of change to hover media feature.
139HoverMediaQueryKeywords status=stable
140
141TextBlob
142TouchIconLoading
143ThreadedParserDataReceiver status=experimental
144UserSelectAll status=experimental
145WebAnimationsAPI status=experimental
146WebAnimationsPlaybackControl status=stable
147WebAudio condition=WEB_AUDIO, status=stable
148WebGLDraftExtensions status=experimental
149WebGLImageChromium
150WebMIDI status=test
151WebVTTRegions depends_on=Media, status=experimental
152WOFF2 status=stable
153XSLT status=stable
154
155PseudoClassesInMatchingCriteriaInAuthorShadowTrees status=test
156
157CredentialManager status=test
158