diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/platform/runtime_enabled_features.json5')
-rw-r--r-- | chromium/third_party/blink/renderer/platform/runtime_enabled_features.json5 | 380 |
1 files changed, 239 insertions, 141 deletions
diff --git a/chromium/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/chromium/third_party/blink/renderer/platform/runtime_enabled_features.json5 index 9158a16d4e3..8dc06627b2a 100644 --- a/chromium/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/chromium/third_party/blink/renderer/platform/runtime_enabled_features.json5 @@ -33,7 +33,7 @@ // shipped stable can have its runtime flag removed soon after. status: { valid_values: ["stable", "experimental", "test"], - valid_keys: ["Android", "Win", "ChromeOS", "Mac"] + valid_keys: ["Android", "Win", "ChromeOS", "Mac", "Lacros"] }, // "implied_by" or "depends_on" specifies relationship to other features: @@ -139,8 +139,10 @@ status: "experimental", }, { + name: "AccessibilityPageZoom", + }, + { name: "AccessibilityUseAXPositionForDocumentMarkers", - status: "test", }, { name: "AddEventListenerAbortSignal", @@ -174,6 +176,10 @@ status: "experimental", }, { + name: "AnonymousIframe", + status: "test", + }, + { name: "AOMAriaProperties", status: "stable", }, @@ -209,6 +215,13 @@ status: "experimental", }, { + name: "AutoExpandDetailsElement", + }, + { + name: "AutofillShadowDOM", + status: "experimental", + }, + { name: "AutoLazyLoadOnReloads", depends_on: ["LazyFrameLoading"], }, @@ -237,6 +250,11 @@ name: "AutoplayIgnoresWebAudio", settable_from_internals: true, }, + // When enabled, enforces new interoperable semantics for 3D transforms. + // See crbug.com/1008483. + { + name: "BackfaceVisibilityInterop", + }, { name: "BackForwardCache", }, @@ -316,11 +334,18 @@ name: "Canvas2dImageChromium", }, { + name: "Canvas2dLayers", + }, + { name: "Canvas2dScrollPathIntoView", status: "experimental", }, { name: "CanvasColorManagement", + status: "stable", + }, + { + name: "CanvasColorManagementV2", status: "experimental", }, { @@ -361,10 +386,22 @@ status: "experimental", }, { + name: "ClipboardCustomFormats", + status: "experimental", + }, + { + name: "ClipboardReadPng", + status: "experimental", + }, + { name: "ClipboardSvg", status: "experimental", }, { + name: "CLSScrollAnchoring", + status: "experimental", + }, + { name: "COLRV1Fonts", status: "experimental", }, @@ -373,6 +410,7 @@ }, { name: "CompositeBGColorAnimation", + status: "experimental", }, { name: "CompositeClipPathAnimation", @@ -386,10 +424,6 @@ status: "stable" }, { - name: "CompositeSVG", - status: "stable" - }, - { name: "ComputedAccessibilityInfo", status: "experimental", }, @@ -424,15 +458,9 @@ origin_trial_feature_name: "ConversionMeasurement", origin_trial_allows_third_party: true, status: "experimental", - depends_on: ["ConversionMeasurementInfraSupport"], - }, - { - // Feature to explicitly disable/enable the Conversion - // Measurement API when there is not browser process side infra. - name: "ConversionMeasurementInfraSupport", }, { - name: "CookiesWithoutSameSiteMustBeSecure", + name: "ConversionMeasurementEventSources", status: "test", }, { @@ -441,6 +469,16 @@ { name: "CorsRFC1918", }, + // This block isn't really used on its own. Blink doesn't really have to + // know about COEP:credentialless. However it is used for "declaring" the + // OriginTrial feature name. This is similar to: + // https://chromium-review.googlesource.com/c/chromium/src/+/2366778 + // for CrossOriginOpenerPolicyReporting. + { + name: "CrossOriginEmbedderPolicyCredentialless", + origin_trial_feature_name: "CrossOriginEmbedderPolicyCredentiallessOriginTrial", + status: "experimental", + }, { name: "CrossOriginIsolation", status: "stable", @@ -452,39 +490,31 @@ status: "experimental", }, { - name: "CSS3Text", - status: "experimental", + name: "CrossOriginWebAssemblyModuleSharingAllowed", }, { - name: "CSSAccentColor", + name: "CSS3Text", status: "experimental", }, { - name: "CSSAspectRatioInterpolation", - status: "stable", - }, - { - name: "CSSAspectRatioProperty", - status: "stable", - }, - { - // https://drafts.csswg.org/css-counter-styles-3 - name: "CSSAtRuleCounterStyle", + name: "CSSAccentColor", status: "stable", }, { // Whether <image> values are allowed as counter style <symbol> name: "CSSAtRuleCounterStyleImageSymbols", - depends_on: ["CSSAtRuleCounterStyle"] }, { // https://github.com/w3c/csswg-drafts/issues/5693 // Experimental support of @counter-style rules in shadow DOM. name: "CSSAtRuleCounterStyleInShadowDOM", - depends_on: ["CSSAtRuleCounterStyle"], status: "test", }, { + // https://drafts.csswg.org/css-counter-styles/#counter-style-speak-as + name: "CSSAtRuleCounterStyleSpeakAsDescriptor" + }, + { name: "CSSCalcAsInt", status: "test", }, @@ -493,28 +523,41 @@ name: "CSSCalcInfinityAndNaN", }, { + // https://drafts.csswg.org/css-cascade-5/#layering + name: "CSSCascadeLayers" + }, + { // Support case-sensitive attribute selector modifier // https://drafts.csswg.org/selectors-4/#attribute-case name: "CSSCaseSensitiveSelector", status: "test", }, { - // When the color-scheme is supported via the CSS color-scheme property - // (CSSColorScheme) or the meta tag (MetaColorScheme), the only UA - // rendering change is for the canvas background and the :root element - // color property. Enabling this runtime flag will enable dark UA - // rendering for form controls, scrollbars, etc. - name: "CSSColorSchemeUARendering", - status: "stable", + // Support the 'only' keyword for the color-scheme property. + name: "CSSColorSchemeOnly", + status: "test", }, { name: "CSSColorTypedOM", status: "experimental", }, { + // Stop propagation from BODY to HTML and viewport if HTML or BODY + // elements have any containment applied. + // https://drafts.csswg.org/css-contain-2/#contain-property + name: "CSSContainedBodyPropagation", + status: "test", + }, + { + // https://drafts.csswg.org/css-contain-3/#container-queries name: "CSSContainerQueries", }, { + // https://drafts.csswg.org/css-contain-3/#container-lengths + name: "CSSContainerRelativeUnits", + implied_by: ["CSSContainerQueries"] + }, + { // Support for contain:inline-size and contain:block-size name: "CSSContainSize1D", implied_by: ["CSSContainerQueries"] @@ -535,6 +578,16 @@ status: "experimental" }, { + name: "CSSDynamicRangeMediaQueries", + status: "experimental" + }, + { + // Include custom properties in CSSComputedStyleDeclaration::item/length. + // https://crbug.com/949807 + name: "CSSEnumeratedCustomProperties", + status: "test", + }, + { name: "CSSFocusVisible", status: "stable", }, @@ -543,26 +596,12 @@ status: "experimental", }, { - // @font-face descriptor advance-override. - // https://drafts.csswg.org/css-fonts-5/#descdef-font-face-advance-override - name: "CSSFontFaceAdvanceOverride", - status: "test", - depends_on: ["CSSFontMetricsOverride"], - }, - { // @font-face descriptor size-adjust. // https://drafts.csswg.org/css-fonts-5/#descdef-font-face-size-adjust name: "CSSFontFaceSizeAdjust", status: "stable", }, { - // @font-face descriptors ascent-override, descent-override and - // line-gap-override. - // https://drafts.csswg.org/css-fonts-4/#font-metrics-override-desc - name: "CSSFontMetricsOverride", - status: "stable", - }, - { name: "CSSFontSizeAdjust", status: "test", }, @@ -578,6 +617,12 @@ status: "experimental", }, { + // CSS animation/transition updates occur outside style recalc. + // + // https://crbug.com/1180159 + name: "CSSIsolatedAnimationUpdates", + }, + { name: "CSSLayoutAPI", status: "experimental", }, @@ -615,7 +660,7 @@ }, { name: "CSSModules", - status: "experimental", + status: "stable", }, { name: "CSSOffsetPathRay", @@ -647,6 +692,15 @@ status: "experimental", }, { + name: "CSSPseudoHas", + status: "test", + }, + { + name: "CSSPseudoHasInSnapshotProfile", + status: "experimental", + implied_by: ["CSSPseudoHas"], + }, + { // When an audio, video, or similar resource is "playing" // or "paused". // https://www.w3.org/TR/selectors-4/#video-state @@ -735,21 +789,24 @@ status: "stable", }, { - name: "DelayAsyncScriptExecutionUntilFinishedParsing", - }, - { - name: "DelayAsyncScriptExecutionUntilFirstPaintOrFinishedParsing", - }, - { name: "DelegatedInkTrails", - status: "experimental", + status: "stable", }, { name: "DesktopCaptureDisableLocalEchoControl", status: "experimental", }, { + name: "DesktopPWAsSubApps", + // No status because this blink runtime feature doesn't work by itself. + // It's controlled by the corresponding Chromium feature which needs to + // be enabled to make the whole feature work. + }, + { name: "DeviceAttributes", + origin_trial_feature_name: "DeviceAttributes", + origin_trial_os: ["chromeos"], + origin_trial_allows_third_party: true, status: "experimental", }, { @@ -757,6 +814,10 @@ status: "experimental", }, { + name: "DialogFocusNewSpecBehavior", + status: "stable", + }, + { name: "DigitalGoods", origin_trial_feature_name: "DigitalGoods", origin_trial_os: ["android", "chromeos"], @@ -789,15 +850,12 @@ name: "DisableLayerSquashing", }, { - name: "DisallowDocumentAccess", - status: "experimental", - }, - { - name: "DisplayCapturePermissionPolicy", - origin_trial_feature_name: "GetCurrentBrowsingContextMedia", - // TODO(crbug.com/1150788): Implement for Android when this is applied - // to getDisplayMedia. - status: {"Android": "", "default": "experimental"}, + // When on, the display-capture permissions-policy is enforced. + // When off, enforcement of this permissions-policy is skipped. + // This is driven from the browser process by the Enterprise policy + // called "DisplayCapturePermissionsPolicyEnabled". + // TODO(crbug.com/1233969): Remove this around m100. + name: "DisplayCapturePermissionsPolicy", }, { name: "DisplayCutoutAPI", @@ -824,7 +882,7 @@ name: "DocumentPolicyNegotiation", origin_trial_feature_name: "DocumentPolicyNegotiation", status: "experimental", - depends_on: ['DocumentPolicy'] + depends_on: ["DocumentPolicy"], }, // Enables the ability to use Document Policy header to control feature // SyncXHR. @@ -837,12 +895,17 @@ // Document transitions, including shared element transitions. // See https://github.com/WICG/shared-element-transitions name: "DocumentTransition", - origin_trial_feature_name: "DocumentTransition" + origin_trial_feature_name: "DocumentTransition", }, { name: "DocumentWrite", }, { + name: "EarlyHintsPreloadForNavigationOptIn", + origin_trial_feature_name: "EarlyHintsPreloadForNavigation", + status: "experimental", + }, + { name: "EditContext", settable_from_internals: true, status: "test", @@ -853,19 +916,15 @@ status: "stable", }, { - name: "EncryptedMediaEncryptionSchemeQuery", - status: "stable", - }, - { - name: "EncryptedMediaHdcpPolicyCheck", - status: "stable", + name: "EncryptedMediaSessionClosedReason", + status: "experimental", }, { name: "EnterKeyHintAttribute", status: "stable", }, { - name: "EventTiming", + name: "ExceptionMetaDataForDevTools", status: "stable", }, { @@ -873,10 +932,6 @@ status: "test", }, { - name: "ExpensiveBackgroundTimerThrottling", - status: "stable", - }, - { name: "ExperimentalContentSecurityPolicyFeatures", status: "experimental", }, @@ -898,7 +953,7 @@ { name: "ExperimentalJSProfiler", origin_trial_feature_name: "ExperimentalJSProfiler", - status: "experimental" + status: "stable" }, { name: "ExperimentalPolicies", @@ -914,7 +969,7 @@ }, { name: "EyeDropperAPI", - status: "test", + status: "experimental", }, { name: "FaceDetector", @@ -958,6 +1013,11 @@ origin_trial_os: ["win", "mac", "linux", "chromeos"], }, { + name: "FileHandlingIcons", + depends_on: ["FileHandling"], + status: {"Android": "test", "default": "experimental"}, + }, + { name: "FileSystem", status: "stable", }, @@ -966,6 +1026,12 @@ status: {"Android": "test", "default": "stable"}, }, { + name: "FileSystemAccessAccessHandle", + // No status because this blink runtime feature doesn't work by itself. + // It's controlled by the corresponding Chromium feature which needs to + // be enabled to make the whole feature work. + }, + { // In-development features for the File System Access API. name: "FileSystemAccessAPIExperimental", status: "experimental", @@ -1019,6 +1085,10 @@ status: {"ChromeOS": "stable"}, }, { + name: "FractionalLineHeight", + status: "experimental", + }, + { name: "FractionalScrollOffsets", status: "experimental", }, @@ -1031,12 +1101,6 @@ status: "experimental", }, { - name: "GetCurrentBrowsingContextMedia", - origin_trial_feature_name: "GetCurrentBrowsingContextMedia", - depends_on: ["GetDisplayMedia"], - status: {"Android": "", "default": "experimental"}, - }, - { name: "GetDisplayMedia", status: { "Android": "experimental", @@ -1054,7 +1118,7 @@ { name: "HandwritingRecognition", status: "experimental", - // Trial also requires kHandwritingRecognitionWebPlatformApi enabled. + // Trial also requires kHandwritingRecognitionWebPlatformApiFinch enabled. origin_trial_feature_name: "HandwritingRecognition", origin_trial_os: ["chromeos"] }, @@ -1087,11 +1151,6 @@ }, { name: "IdleDetection", - origin_trial_feature_name: "IdleDetection", - status: "experimental", - }, - { - name: "IgnoreCrossOriginWindowWhenNamedAccessOnWindow", status: "stable", }, { @@ -1100,10 +1159,6 @@ status: {"Android": "stable"}, }, { - name: "ImportMaps", - status: "stable" - }, - { name: "InertAttribute", status: "experimental", }, @@ -1158,7 +1213,7 @@ // provides a convenient way for testing legacy layout code path in blink // unit tests. name: "LayoutNG", - implied_by: ["LayoutNGGrid", "BidiCaretAffinity", "CSSContainerQueries"], + implied_by: ["BidiCaretAffinity", "CSSContainerQueries"], status: "stable", }, { @@ -1166,6 +1221,10 @@ implied_by: ["LayoutNGPrinting"], }, { + name: "LayoutNGBlockInInline", + depends_on: ["LayoutNG"], + }, + { // Traverse the fragment tree when painting and hit-testing, instead of // the layout object tree. name: "LayoutNGFragmentTraversal", @@ -1180,7 +1239,8 @@ }, { name: "LayoutNGGrid", - implied_by: ["CSSContainerQueries"], + depends_on: ["LayoutNG"], + status: "stable", }, { name: "LayoutNGLayoutOverflowRecalc", @@ -1191,11 +1251,6 @@ name: "LayoutNGPrinting", }, { - name: "LayoutNGReplaced", - depends_on: ["LayoutNG"], - status: "stable", - }, - { name: "LayoutNGTable", depends_on: ["LayoutNG"], status: "stable" @@ -1203,6 +1258,7 @@ { name: "LayoutNGTextCombine", depends_on: ["LayoutNG"], + status: "stable" }, { name: "LayoutNGTextControl", @@ -1236,10 +1292,6 @@ status: "stable", }, { - name: "ManagedInterface", - "implied_by": ["DeviceAttributes", "ManagedConfiguration"], - }, - { name: "MathMLCore", status:"experimental", depends_on: ["LayoutNG"], @@ -1307,6 +1359,11 @@ status: "test", }, { + // https://github.com/whatwg/html/pull/6569 + name: "MediaMetaThemeColor", + status: "stable", + }, + { name: "MediaPreservesPitch", status: "stable", }, @@ -1350,7 +1407,7 @@ }, { name: "MediaStreamInsertableStreams", - status: "experimental", + status: "stable", origin_trial_feature_name: "WebCodecs" }, // This is enabled by default on Windows only. The only part that's @@ -1404,6 +1461,10 @@ status: "stable", }, { + // Controlled by blink::features::kNavigatorPluginsFixed. + name: "NavigatorPluginsFixed", + }, + { name: "NetInfoDownlinkMax", // Only Android, ChromeOS support NetInfo downlinkMax, type and ontypechange now status: {"Android": "stable", "ChromeOS": "stable", "default": "experimental"}, @@ -1659,7 +1720,7 @@ { name: "PointerLockOptions", origin_trial_feature_name: "PointerLockOptions", - status: 'stable', + status: "stable", }, { name: "PointerRawUpdate", @@ -1689,15 +1750,15 @@ }, { name: "PrefersColorSchemeClientHintHeader", - status: "experimental", + status: "stable", }, { name: "PrefersContrast", depends_on: ["ForcedColors"], }, { - name: 'PrefersReducedData', - status: 'experimental', + name: "PrefersReducedData", + status: "experimental", }, // This feature is deprecated and we are evangelizing affected sites. // See https://crbug.com/346236 for current status. @@ -1707,6 +1768,8 @@ }, { name: "Prerender2", + origin_trial_feature_name: "Prerender2", + origin_trial_os: ["android"], }, { name: "Presentation", @@ -1718,6 +1781,13 @@ status: "experimental", }, { + name: "PrivateNetworkAccessNonSecureContextsAllowed", + origin_trial_feature_name: "PrivateNetworkAccessNonSecureContextsAllowed", + origin_trial_type: "deprecation", + origin_trial_allows_insecure: true, + status: "experimental", + }, + { name: "PushMessaging", status: "stable", }, @@ -1730,10 +1800,6 @@ status: "experimental", }, { - // Enabled when blink::features::kRawClipboard is enabled. - name: "RawClipboard", - }, - { name: "RemotePlayback", status: "stable", }, @@ -1837,11 +1903,11 @@ name: "RTCUnifiedPlanByDefault", }, { - name: "SameSiteByDefaultCookies", - status: "test", + name: "SanitizerAPI", + status: "experimental", }, { - name: "SanitizerAPI", + name: "SchedulerCurrentTaskSignal", status: "experimental", }, // WebSpeech API with both speech recognition and synthesis functionality @@ -1856,7 +1922,7 @@ }, { name: "ScrollbarGutter", - status: "experimental", + status: "stable", }, { name: "ScrollbarWidth", @@ -1872,7 +1938,7 @@ { name: "ScrollTimeline", status: "experimental", - implied_by: ['AnimationWorklet', 'CSSScrollTimeline'] + implied_by: ["AnimationWorklet", "CSSScrollTimeline"] }, // Implements documentElement.scrollTop/Left and bodyElement.scrollTop/Left // as per the spec, matching other Web engines. @@ -1886,10 +1952,13 @@ { name: "SecurePaymentConfirmation", origin_trial_feature_name: "SecurePaymentConfirmationV2", - origin_trial_os: ["mac", "win"], + origin_trial_os: ["mac", "win", "android"], status: "experimental", }, { + name: "SecurePaymentConfirmationAPIV3", + }, + { name: "SecurePaymentConfirmationDebug", }, { @@ -1917,6 +1986,11 @@ status: "experimental", }, { + name: "ServiceWorkerSubresourceFilter", + origin_trial_feature_name: "ServiceWorkerSubresourceFilter", + status: "experimental", + }, + { name: "SharedArrayBuffer", }, { @@ -1930,6 +2004,10 @@ status: "experimental", }, { + name: "SharedStorageAPI", + status: "test", + }, + { name: "SharedWorker", // Android does not yet support SharedWorker. crbug.com/154571 status: {"Android": "", "default": "stable"}, @@ -2063,10 +2141,6 @@ status: "stable", }, { - name: "TimerThrottlingForHiddenFrames", - status: "stable", - }, - { name: "TimeZoneChangeEvent", status: "experimental", }, @@ -2090,6 +2164,7 @@ // See crbug.com/1008483. { name: "TransformInterop", + status: "stable", }, // This is conditionally set if the platform supports translation. { @@ -2141,6 +2216,10 @@ status: "experimental", }, { + name: "URLPatternCompareComponent", + status: "experimental", + }, + { name: "UserActivationSameOriginVisibility", }, { @@ -2148,6 +2227,11 @@ status: "stable", }, { + name: "UserAgentReduction", + origin_trial_feature_name: "UserAgentReduction", + status: "experimental", + }, + { name: "UUID", status: "stable" }, @@ -2176,7 +2260,7 @@ }, { name: "VirtualKeyboard", - status: "test", + status: "stable", }, { name: "VisibilityCollapseColumn", @@ -2192,27 +2276,42 @@ // should work with both screen and system wake locks. name: "WakeLock", status: "stable", - implied_by: ['SystemWakeLock'], + implied_by: ["SystemWakeLock"], }, { name: "WebAnimationsAPI", status: "stable", - implied_by: ['AnimationWorklet'] + implied_by: ["AnimationWorklet"], }, { name: "WebAnimationsSVG", status: "experimental", }, { + name: "WebAppLaunchHandler", + status: "experimental", + }, + { name: "WebAppLinkCapturing", origin_trial_feature_name: "WebAppLinkCapturing", origin_trial_os: ["chromeos"], }, { + // This flag enables the Manifest parser to handle id field. + // Also enabled when blink::features::kWebAppEnableManifestId is + // overridden on the command line (or via chrome://flags). + name: "WebAppManifestId", + status: "experimental", + }, + { name:"WebAppsLockScreen", status:"experimental", }, { + name: "WebAppTabStrip", + status: "experimental", + }, + { // This flag enables the Manifest parser to handle URL Handlers. // Also enabled when blink::features::kWebAppEnableUrlHandlers is // overridden on the command line (or via chrome://flags). @@ -2225,6 +2324,7 @@ name: "WebAppWindowControlsOverlay", origin_trial_feature_name: "WebAppWindowControlsOverlay", origin_trial_os: ["win", "mac", "linux"], + status: "experimental", }, { name: "WebAssemblyCSP", @@ -2234,11 +2334,6 @@ origin_trial_feature_name: "WebAssemblyExceptions", status: "test", }, - { - name: "WebAssemblySimd", - origin_trial_feature_name: "WebAssemblySimd", - status: "test", - }, // WebAuth is disabled on Android versions prior to N (7.0) due to lack of // supporting APIs, see runtime_features.cc. { @@ -2305,7 +2400,7 @@ }, { name: "WebCodecs", - status: "experimental", + status: "stable", origin_trial_feature_name: "WebCodecs" }, { @@ -2313,6 +2408,10 @@ status: "experimental", }, { + name: "WebGLDeveloperExtensions", + status: "experimental", + }, + { name: "WebGLDraftExtensions", status: "experimental", }, @@ -2346,17 +2445,16 @@ }, { name: "WebOTP", - status: {"default": "experimental", "Android": "stable"}, + status: "stable", }, { name: "WebOTPAssertionFeaturePolicy", depends_on: ["WebOTP"], - status: {"default": "experimental", "Android": "stable"}, + status: "stable", }, { name: "WebScheduler", - origin_trial_feature_name: "WebScheduler", - status: "experimental", + status: "stable", }, // WebShare is enabled by default on Android. { @@ -2460,7 +2558,7 @@ // exposes requisite information about displays connected to the device. { name: "WindowPlacement", - origin_trial_feature_name: "WindowPlacement", + origin_trial_feature_name: "WindowPlacementOT2", status: "experimental", }, { |