// 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.
//
// "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
ImageColorProfiles
ImageOrientation status=test
ImageRenderingPixelated status=stable
IndexedDBExperimental status=experimental
InputDeviceCapabilities status=stable
InputModeAttribute status=experimental
KeyboardEventCode status=experimental
KeyboardEventKey status=test
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=test
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=deprecated
// 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=experimental
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
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
