// 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.
//
// "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.
//
// origin_trial_feature_name=FEATURE_NAME is used to integrate the feature with
// the Origin Trials framework. The framework allows the feature to be enabled
// at runtime on a per-page basis through a signed token for the corresponding
// feature name. Declaring the origin_trial_feature_name will cause a static
// method to be generated in OriginTrials.h/cpp. This static method allows the
// feature implementation to check if it is enabled for the current context.
//
// settable_from_internals specifies whether a feature can be set from internals.runtimeFlags, with the default
// being false.

Accelerated2dCanvas status=stable, settable_from_internals=True
AlwaysUseComplexText status=stable
AudioOutputDevices status=stable
AudioVideoTracks status=experimental
AudioWorklet status=experimental
Auxclick status=stable
BackgroundSync status=stable
BackspaceDefaultHandler status=test
BroadcastChannel status=stable
Budget status=experimental
Canvas2dFixedRenderingMode status=test
EnableCanvas2dDynamicRenderingModeSwitching status=experimental
Canvas2dImageChromium status=experimental
ClientHints status=stable
CompositeOpaqueFixedPosition settable_from_internals=True
CompositeOpaqueScrollers status=stable, settable_from_internals=True
ColorCorrectRendering settable_from_internals=True
CompositedSelectionUpdate
CompositorWorker status=experimental
ContextMenu status=test
CorsRFC1918 status=test
CredentialManager status=stable
CSS3Text status=experimental
CSS3TextDecorations status=experimental
CSSApplyAtRules status=experimental
CSSAdditiveAnimations status=experimental, depends_on=StackedCSSPropertyAnimations
CSSBackdropFilter status=experimental
CSSHexAlphaColor status=experimental
CSSContainment status=stable
CSSFontDisplay status=experimental
CSSFontSizeAdjust status=experimental
CSSGridLayout status=experimental, settable_from_internals=True
CSSHyphens status=stable
CSSInBodyDoesNotBlockPaint status=experimental
CSSIndependentTransformProperties status=experimental
CSSMaskSourceType status=experimental
CSSOMSmoothScroll status=experimental
CSSOffsetPositionAnchor status=experimental
CSSPaintAPI status=experimental, depends_on=CSSTypedOM, depends_on=Worklet
CSSSnapSize status=experimental
CSSStickyPosition status=experimental
CSSTouchActionPanDirections status=stable
CSSTouchActionPinchZoom status=experimental
CSSTypedOM status=experimental
CSSVariables2 status=experimental
CSSViewport status=experimental
CSSScrollSnapPoints status=test
CustomElementsV1 status=stable
CustomSchemeHandler depends_on=NavigatorContentUtils, status=experimental
Database status=stable
DecodeToYUV status=experimental
DeviceLight status=experimental
DisplayList2dCanvas status=stable
DocumentWriteEvaluator
DOMConvenienceAPI status=stable
DurableStorage status=experimental, origin_trial_feature_name=DurableStorage
FontCacheScaling status=test
ForceDisplayList2dCanvas
// See crbug.com/585250.
ForceDisable2dCanvasCopyOnWrite
EmbedderCSPEnforcement status=experimental
ExecCommandInJavaScript status=test
ComputedAccessibilityInfo status=experimental
ExperimentalCanvasFeatures status=test
ExperimentalContentSecurityPolicyFeatures status=experimental
ExperimentalV8Extras status=experimental
FastMobileScrolling
FeaturePolicy status=experimental
FileAPIBlobClose status=experimental
FileSystem status=stable
ForeignFetch status=experimental, origin_trial_feature_name=ForeignFetch
FramebustingNeedsSameOriginOrUserGesture status=stable
FullscreenUnprefixed status=test
FrameTimingSupport status=experimental
GamepadExtensions
GeometryInterfaces status=experimental, implied_by=CompositorWorker
GetUserMedia status=stable
GlobalCacheStorage status=stable
IDBObserver status=experimental
ImageCapture status=experimental
ImageOrientation status=test
IndexedDBExperimental status=experimental
InertTopControls status=experimental
InputEvent status=experimental
InputModeAttribute status=experimental
InputMultipleFieldsUI status=stable
InstalledApp status=experimental
IntersectionObserver status=stable
LangAttributeAwareFormControlUI
LayoutNG
LinkServiceWorker status=experimental, origin_trial_feature_name=ForeignFetch
LongTaskObserver status=test
FractionalScrollOffsets
LoadingWithMojo
MediaCapture
MediaCaptureFromCanvas status=stable
MediaCaptureFromVideo status=experimental
MediaConstraints status=stable
MediaDocumentDownloadButton
MediaGetSettings status=test
MediaSession
MediaSourceExperimental status=experimental
MediaSourceNewAbortAndDuration status=experimental
MediaStreamSpeech status=experimental
MemoryInfoInWorkers status=experimental
// This is enabled by default on Windows only. The only part that's
// "experimental" is the support on other platforms.
MiddleClickAutoscroll status=experimental
MobileLayoutTheme
ModuleScripts status=test
NavigatorContentUtils
WebNFC status=experimental
NetworkInformation status=stable
NetInfoDownlinkMax status=stable
NewMediaPlaybackUi
NotificationConstructor status=stable
NotificationBadge status=stable
NotificationImage status=experimental
NotificationInlineReplies status=experimental
Notifications status=stable
OnDeviceChange status=experimental
OrientationEvent
OriginTrials status=stable
// Define a sample API for testing integration with the Origin Trials Framework.
// The sample API is used in both unit and layout tests for the Origin Trials
// Framework. Do not change this flag to stable, as it exists solely to generate
// code used by the sample API implementation.
OriginTrialsSampleAPI origin_trial_feature_name=Frobulate
// For simulating Android's overlay fullscreen video in layout tests on Linux.
ForceOverlayFullscreenVideo
OverlayScrollbars
PagePopup status=stable
PaintUnderInvalidationChecking settable_from_internals=True
PassiveDocumentEventListeners status=experimental
PassiveEventListenersDueToFling status=experimental
PassPaintVisualRectToCompositor
PaymentRequest status=experimental
PaymentRequestPayerName status=experimental
PerformanceObserver status=stable
PermissionDelegation status=test
Permissions status=stable
PermissionsRequestRevoke status=experimental
PointerEvent status=stable
// For temporary compat testing of Edge-like model - crbug.com/640700
PointerEventV1SpecCapturing
PreciseMemoryInfo
// This feature is deprecated and we are evangelizing affected sites.
// See https://crbug.com/346236 for current status.
PrefixedVideoFullscreen status=stable
Presentation status=stable
PresentationReceiver status=test
PushMessaging status=stable
QuotaPromise status=experimental
ReducedReferrerGranularity
ReferrerPolicyHeader status=experimental
ReloadwithoutSubResourceCacheRevalidation
RemotePlayback status=experimental
RenderingPipelineThrottling status=stable
RenderUnicodeControlCharacters status=experimental
ResizeObserver status=experimental
// Handles frame scrolling via the root PaintLayer instead of the FrameView.
// crbug.com/417782 tracks enabling this by default.
RootLayerScrolling
RTCPeerConnectionNewGetStats status=test
ScriptedSpeech status=stable
// Scrolls to compensate for layout movements (bit.ly/scroll-anchoring).
ScrollAnchoring status=experimental, settable_from_internals=True
// Implements documentElement.scrollTop/Left and bodyElement.scrollTop/Left
// as per the spec, matching other Web engines.
ScrollTopLeftInterop status=experimental
Sensor status=experimental
ServiceWorkerClientAttributes status=stable
ServiceWorkerClientsGetID status=stable
ServiceWorkerWindowClientNavigate status=stable
SetRootScroller status=experimental
ShadowDOMV1 status=stable
ShapeDetection status=experimental
SharedArrayBuffer
SharedWorker status=stable
SlimmingPaintInvalidation implied_by=SlimmingPaintV2
SlimmingPaintV2
SlimmingPaintStrictCullRectClipping
// Used as argument in attribute of stable-release functions/interfaces where
// a runtime-enabled feature name is required for correct IDL syntax.
// This is a global flag; do not change its status.
StableBlinkFeatures status=stable
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
SpeculativeLaunchServiceWorker
StorageEstimate status=experimental
Suborigins status=experimental
TimerThrottlingForBackgroundTabs status=stable
TimerThrottlingForHiddenFrames 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
TraceWrappables
TrustedEventsDefaultAction status=stable
UnsafeES3APIs
UnsandboxedAuxiliary status=stable
UserSelectAll status=stable
WebAnimationsAPI status=experimental
WebAnimationsSVG status=experimental
WebAssemblySerialization status=test
WebBluetooth origin_trial_feature_name=WebBluetooth
WebGLDraftExtensions status=experimental
WebGLImageChromium
WebUSB status=experimental, origin_trial_feature_name=WebUSB
WebVR
WebVTTRegions status=experimental
V8BasedStructuredClone
V8IdleTasks
VisibilityChangeOnUnload status=experimental
XSLT status=stable
smil status=stable
ScrollCustomization
AutoplayMutedVideos settable_from_internals=True
VisualViewportAPI status=experimental
WakeLock status=experimental
WebFontsInterventionV2With2G
WebFontsInterventionV2With3G
WebFontsInterventionV2WithSlow2G
WebFontsInterventionTrigger
WebShare status=experimental, origin_trial_feature_name=WebShare
Worklet status=experimental
ParseHTMLOnMainThread status=test
SendBeaconThrowForBlobWithNonSimpleType status=experimental
