blob: 2a730f3b8e4aee7a34c33acbc09d5aea7047dce4 [file] [log] [blame]
// 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.
//
// "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.
AnimatedWebP status=stable
ApplicationCache status=stable
AuthorShadowDOMForAnyElement
ClientHintsDpr status=experimental
Crypto status=experimental
CSSAnimationUnprefixed status=experimental
CSSCompositing status=experimental
CSSCustomFilter status=experimental
CSSExclusions status=experimental
CSSGridLayout status=experimental
CSSMaskSourceType status=experimental
CSSRegions status=experimental
CSSShapes status=experimental
CSSStickyPosition status=experimental
CSSTouchAction status=test
CSSVariables status=experimental
CSSViewport status=experimental
CSS3Text status=experimental
CSS3TextDecorations status=experimental
CustomElements status=experimental
Database status=stable
DataListElement status=stable
DeviceMotion status=stable
DeviceOrientation status=stable
DevicePixelRatioIncludesZoom status=stable
DialogElement status=experimental
DirectoryUpload status=stable
DirectWrite
// FIXME: Remove this separate feature when CustomElements are always enabled
EmbedderCustomElements
EncodingAPI status=experimental
EncryptedMedia status=experimental
EncryptedMediaAnyVersion status=stable
ExperimentalCanvasFeatures status=test
ExperimentalContentSecurityPolicyFeatures status=experimental
FileSystem status=stable
FontLoadEvents status=experimental
Fullscreen status=stable
FastTextAutosizing
Gamepad status=stable
Geolocation status=stable
HTMLImports status=test
HighResolutionTimeInWorkers status=experimental
IMEAPI status=test
IndexedDB status=stable
IndexedDBExperimental status=experimental
InputModeAttribute status=test
InputTypeColor status=stable
InputTypeWeek status=stable
LangAttributeAwareFormControlUI
PrefixedEncryptedMedia status=stable
LocalStorage status=stable
Media status=stable
MediaSource status=stable
MediaSourceExperimental depends_on=MediaSource, status=experimental
MediaStream status=stable
Notifications status=stable
ObjectFitPosition status=stable
// Only enabled on Android, and for certain layout tests on Linux.
OverlayFullscreenVideo
PagePopup status=stable
PartialLayout status=experimental
PathOpsSVGClipping
PeerConnection depends_on=MediaStream, status=stable
// Implementation of this feature varies by platform for now.
// Bug to track removal once completed everywhere:
// http://crbug.com/308649
PointerEventsMaxTouchPoints status=experimental
Quota status=stable
OverlayScrollbars
RegionBasedColumns status=experimental
// This is implementation flag for the re-write of the layout/paint system to
// do painting after we have completed layout, instead of piecemeal during layout.
RepaintAfterLayout
RequestAutocomplete status=test
RowSpanLogicalHeightSpreading status=stable
ScriptedSpeech status=stable
SeamlessIFrames status=experimental
ServiceWorker status=experimental
SessionStorage status=stable
ShadowDOM status=experimental
SharedWorker status=stable
SpeechInput status=stable
SpeechSynthesis status=stable
Srcset status=experimental
Stream status=experimental
StyleScoped status=experimental
SubpixelFontScaling
SVGPaintOrder status=experimental
// 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
UserSelectAll status=experimental
Vibration status=stable
VideoTrack depends_on=Media, status=stable
WebAnimations
WebAnimationsCSS depends_on=WebAnimations
WebAnimationsSVG depends_on=WebAnimations
WebAudio condition=WEB_AUDIO, status=stable
WebGLDraftExtensions status=experimental
WebMIDI status=test
WebKitMediaSource status=stable
WebVTTRegions depends_on=VideoTrack, status=experimental
WOFF2 status=experimental
XSLT status=stable