// 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.
// status=deprecated -> Alias for "test", will be removed at some point.
// 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.

AnyPointerMediaQueries status=experimental
AudioVideoTracks depends_on=Media, status=experimental
AuthorShadowDOMForAnyElement
Beacon status=stable

// This feature is deprecated and we are evangalizing affected sites.
// See https://crbug.com/346236 for current status.
PrefixedVideoFullscreen status=stable

// 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=stable
CSSAttributeCaseSensitivity status=experimental
CSSMaskSourceType status=experimental
CSSOMSmoothScroll status=experimental
CSSTouchActionDelay status=test
CSSViewport status=experimental
CSS3Text status=experimental
CSS3TextDecorations status=experimental
CompositedSelectionUpdates
CustomSchemeHandler depends_on=NavigatorContentUtils, status=experimental
Database status=stable
DeviceLight status=experimental
SVGFontsOnNonGDIPlatforms
EncodingAPI status=stable
EncryptedMedia status=test
EncryptedMediaAnyVersion status=stable
ExecCommandInJavaScript status=test
ExperimentalCanvasFeatures status=test
ExperimentalWebSocket status=stable
FastMobileScrolling
FileAPIBlobClose status=experimental
FileConstructor status=stable
FileSystem status=stable
FullscreenUnprefixed status=test
Geofencing status=test
GeometryInterfaces status=test
IMEAPI status=experimental
ImageDataConstructor status=experimental
ImageRenderingPixelated status=stable
IndexedDBExperimental status=experimental
InputModeAttribute status=experimental
LangAttributeAwareFormControlUI
LayerSquashing status=stable
PrefixedEncryptedMedia status=stable
LocalStorage status=stable
Manifest status=test
Media status=stable
MediaCapture
MediaQueryParser status=stable
MediaSource status=stable
MediaSourceExperimental depends_on=MediaSource, status=experimental
NavigationTransitions status=experimental
NavigatorContentUtils
NetworkInformation status=stable
Notifications status=stable
ObjectFitPosition status=stable
OrientationEvent
// Only enabled on Android, and for certain layout tests on Linux.
OverlayFullscreenVideo
PathOpsSVGClipping status=stable
PreciseMemoryInfo
PushMessaging status=experimental
QuotaPromise status=experimental
OverlayScrollbars status=stable
RegionBasedColumns status=experimental

RequestAutocomplete status=test
ScreenOrientation status=stable

// Implements documentElement.scrollTop/Left and bodyElement.scrollTop/Left
// as per the spec, matching other Web engines.
ScrollTopLeftInterop status=experimental

SessionStorage status=stable
PictureSizes status=stable
Picture status=stable

// Lax Mixed Content checking for WebSockets, XHR, etc. is deprecated and slated for removal. crbug.com/389089
LaxMixedContentChecking status=deprecated

Stream status=experimental
SubpixelFontScaling 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

// Temporary setting to allow easy rollback of change to hover media feature.
HoverMediaQueryKeywords status=stable

TextBlob
TouchIconLoading
UserSelectAll status=experimental
WebGLDraftExtensions status=experimental
WebGLImageChromium
WOFF2 status=stable

PseudoClassesInMatchingCriteriaInAuthorShadowTrees status=test

CredentialManager status=test
