blob: c79f82dfadb064474e188f084ea57ba01aae3be5 [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.
ApplicationCache status=stable
AuthorShadowDOMForAnyElement
BatteryStatus status=test
PrefixedVideoFullscreen status=test
// 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
ClientHintsDpr status=experimental
Crypto status=experimental
CSSAnimationUnprefixed status=experimental
CSSCompositing status=experimental
CSSExclusions status=experimental
CSSGridLayout status=experimental
CSSMaskSourceType status=experimental
CSSOMSmoothScroll status=experimental
CSSShapes status=experimental
CSSStickyPosition status=experimental
CSSTouchAction status=stable
CSSTouchActionDelay status=test
CSSTransformsUnprefixed status=test
CSSViewport status=experimental
CSSWillChange status=experimental
CSS3Text status=experimental
CSS3TextDecorations status=experimental
CustomSchemeHandler depends_on=NavigatorContentUtils, status=experimental
Database status=stable
DeviceMotion status=stable
DeviceOrientation status=stable
DialogElement status=experimental
EncodingAPI status=experimental
EncryptedMedia status=test
EncryptedMediaAnyVersion status=stable
ExperimentalCanvasFeatures status=test
ExperimentalContentSecurityPolicyFeatures status=experimental
ExperimentalWebSocket status=test
FileAPIBlobClose status=experimental
FileConstructor status=experimental
FileSystem status=stable
FontLoadEvents status=stable
FastTextAutosizing
Gamepad status=stable
HTMLImports status=test
HighResolutionTimeInWorkers status=stable
IMEAPI status=experimental
IndexedDBExperimental status=experimental
InputModeAttribute status=experimental
LangAttributeAwareFormControlUI
PrefixedEncryptedMedia status=stable
LocalStorage status=stable
Media status=stable
MediaSource status=stable
MediaSourceExperimental depends_on=MediaSource, status=experimental
MediaStream status=stable
NavigatorContentUtils
Notifications status=stable
ObjectFitPosition status=stable
OrientationEvent
// Only enabled on Android, and for certain layout tests on Linux.
OverlayFullscreenVideo
PagePopup status=stable
PathOpsSVGClipping
PeerConnection depends_on=MediaStream, status=stable
Quota status=stable
QuotaPromise status=experimental
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
ScreenOrientation status=experimental
ScriptedSpeech status=stable
// Implements documentElement.scrollTop/Left and bodyElement.scrollTop/Left
// as per the spec, matching other Web engines.
ScrollTopLeftInterop status=experimental
ServiceWorker status=experimental
SessionStorage status=stable
SharedWorker status=stable
SpeechInput status=stable
SpeechSynthesis status=stable
Srcset status=stable
Stream status=experimental
StyleScoped status=experimental
SubpixelFontScaling status=experimental
SVGPaintOrder status=stable
// Enable optimizations to recalculate style on the fewest possible number of
// elements when updating classes, ids or attributes of DOM elements.
TargetedStyleRecalc status=stable
// 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
UserSelectAll status=experimental
ScriptPromiseOnV8Promise status=stable
VideoTrack depends_on=Media, status=stable
WebAnimationsSVG
WebAnimationsAPI status=experimental
WebAudio condition=WEB_AUDIO, status=stable
WebGLDraftExtensions status=experimental
WebMIDI status=test
WebKitMediaSource status=stable
WebVTTRegions depends_on=VideoTrack, status=experimental
WOFF2 status=stable
XSLT status=stable