// 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.

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=experimental
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
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
EnumerateDevices status=experimental
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
GlobalCacheStorage status=stable
ImageColorProfiles
ImageOrientation status=test
ImageRenderingPixelated status=stable
IndexedDBExperimental status=experimental
InputDeviceCapabilities status=experimental
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
MediaSession
MediaSource status=stable
MediaSourceExperimental depends_on=MediaSource, status=experimental
MediaStreamSpeech status=experimental
MemoryInfoInWorkers status=experimental
NavigatorConnect status=experimental
NavigatorContentUtils
NetworkInformation status=stable
NewMediaPlaybackUi
NotificationConstructor status=stable
NotificationExperimental status=test
Notifications status=stable
OrientationEvent
// Only enabled on Android, and for certain layout tests on Linux.
// TODO(watk): Delete this in favor of ForceOverlayFullscreenVideo after
// removing chromium's dependency on it. http://crbug.com/511376
OverlayFullscreenVideo
// For simulating Android's overlay fullscreen video in layout tests on Linux.
ForceOverlayFullscreenVideo
OverlayScrollbars
PagePopup status=stable
PathOpsSVGClipping status=stable
Permissions status=stable
PermissionsRequestRevoke status=experimental
PointerEvent
PreciseMemoryInfo
// This feature is deprecated and replaced by EncryptedMedia.
// See http://crbug.com/451117 for current status.
PrefixedEncryptedMedia status=stable
// This feature is deprecated and we are evangalizing affected sites.
// See https://crbug.com/346236 for current status.
PrefixedVideoFullscreen status=stable
Presentation status=experimental
PromiseRejectionEvent status=experimental
PushMessaging status=stable
// Push messaging payloads are blocked on the Push API supporting encryption.
PushMessagingData status=test
QuotaPromise status=experimental
ReducedReferrerGranularity
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
SelectionForComposedTree status=stable
ServiceWorkerClientAttributes status=stable
ServiceWorkerNotifications status=stable
ServiceWorkerPerformanceTimeline status=stable
ServiceWorkerWindowClientNavigate status=experimental
ShadowRootClosedMode status=experimental
ShadowRootDelegatesFocus status=experimental
SharedArrayBuffer
SharedWorker status=stable
SlimmingPaint status=stable
SlimmingPaintV2 depends_on=SlimmingPaint
SlimmingPaintUnderInvalidationChecking depends_on=SlimmingPaint
SlimmingPaintStrictCullRectClipping depends_on=SlimmingPaint
StaleWhileRevalidateCacheControl
// 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
