{
  // http://dev.chromium.org/blink/runtime-enabled-features
  //
  // This list is used to generate runtime_enabled_features.h/cc which contains
  // a class that stores static enablers for all experimental features.

  parameters: {
    // Each feature can be assigned a "status". The "status" can be either
    // one of the values in the |valid_values| list or a dictionary of
    // the platforms listed in |valid_keys| to |valid_values|.
    // Use "default" as the key if you want to specify the status of
    // the platforms other than the ones declared in the dictionary.
    // ** Omitting "default" means the feature is not enabled on
    // the platforms not listed in the status dictionary
    //
    // Definition of each 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.
    //
    // Example of the dictionary value use:
    // {
    //   name: "ExampleFeature",
    //   status: {"Android": "stable", "ChromeOS": "experimental"},
    // }
    // "ExampleFeature" will be stable on Android, experimental on ChromeOS
    // and not enabled on any other platform
    //
    // "stable" features listed here should be rare, as anything which we've
    // shipped stable can have its runtime flag removed soon after.
    status: {
      valid_values: ["stable", "experimental", "test"],
      valid_keys: ["Android", "Win", "ChromeOS", "MacOSX"]
    },

    // "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.
    implied_by: {
      default: [],
      valid_type: "list",
    },

    // *DO NOT* specify features that depend on origin trial features.
    // It is NOT supported. As a workaround, you can either specify the same
    // |origin_trial_feature_name| for the feature or add the OT feature to
    // the |implied_by| list.
    // TODO(https://crbug.com/954679): Add support for origin trial features in 'depends_on' list
    depends_on: {
      default: [],
      valid_type: "list",
    },

    // 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 modify the generation of the static
    // methods in runtime_enabled_features.h/cpp. The static method then allows
    // the feature implementation to check if the trial is enabled for the
    // current context.
    origin_trial_feature_name: {
    },
    // origin_trial_os specifies the platforms where the trial is available.
    // The default is empty, meaning all platforms.
    origin_trial_os: {
      default: [],
      valid_type: "list",
    },
    // origin_trial_type specifies the unique type of the trial, when not the
    // usual trial for a new experimental feature.
    origin_trial_type: {
      default: "",
      valid_type: "str",
      valid_values: ["deprecation", "intervention", ""],
    },
    // origin_trial_allows_insecure specifies whether the trial can be enabled
    // in an insecure context, with default being false. This can only be set
    // to true for a "deprecation" type trial.
    origin_trial_allows_insecure: {
      valid_type: "bool",
    },

    // origin_trial_allows_third_party specifies whether the trial can be enabled
    // from third party origins, with default being false.
    origin_trial_allows_third_party: {
      valid_type: "bool",
    },

    // settable_from_internals specifies whether a feature can be set from
    // internals.runtimeFlags, with the default being false.
    settable_from_internals: {
      valid_type: "bool",
    },

    // Feature policy IDL extended attribute (see crrev.com/2247923004).
    feature_policy: {
    },
  },

  data: [
    {
      name: "Accelerated2dCanvas",
      settable_from_internals: true,
      status: "stable",
    },
    {
      name: "AcceleratedSmallCanvases",
      status: "stable",
    },
    {
      name: "AccessibilityExposeARIAAnnotations",
      status: "stable",
    },
    {
      name: "AccessibilityExposeDisplayNone",
      status: "test",
    },
    {
      name: "AccessibilityExposeHTMLElement",
      status: "experimental",
    },
    {
      name: "AccessibilityObjectModel",
      status: "experimental",
    },
    {
      name: "AddressSpace",
      status: "experimental",
      implied_by: ["CorsRFC1918"],
    },
    {
      name: "AdTagging",
      status: "test",
    },
    {
      // Deprecated, see UserActivationPostMessageTransfer.
      name: "AllowActivationDelegationAttr",
    },
    {
      name: "AllowContentInitiatedDataUrlNavigations",
      status: "stable",
    },
    {
      name: "AllowSyncXHRInPageDismissal",
      origin_trial_feature_name: "AllowSyncXHRInPageDismissal",
    },
    {
      name: "AnimationWorklet",
      status: "experimental",
    },
    {
      name: "AOMAriaProperties",
      status: "stable",
    },
    {
      name: "AOMAriaRelationshipProperties",
      status: "experimental",
    },
    {
      // Force disabled if blink::features::kAppCache is disabled, and this
      // will override any origin trial setting.
      // Disabled if blink::features::kAppCacheRequireOriginTrial is enabled,
      // but can be turned back on by the origin trial.
      // Otherwise, on by default.
      name: "AppCache",
      status: "stable",
      origin_trial_feature_name: "AppCache",
    },
    {
      name: "AudioOutputDevices",
      // Android does not yet support switching of audio output devices
      status: {"Android": "", "default": "stable"},
    },
    {
      name: "AudioVideoTracks",
      status: "experimental",
    },
    {
      name: "AudioWorkletRealtimeThread",
      status: "experimental",
    },
    {
      name: "AutoLazyLoadOnReloads",
      depends_on: ["LazyFrameLoading"],
    },
    {
      name: "AutomaticLazyFrameLoading",
      depends_on: ["LazyFrameLoading"],
      status: "stable",
    },
    {
      name: "AutomaticLazyImageLoading",
      depends_on: ["LazyImageLoading"],
      status: "stable",
    },
    {
      name: "AutomationControlled",
      settable_from_internals: true,
    },
    {
      name: "AutoPictureInPicture",
      depends_on: ["PictureInPictureAPI"],
      origin_trial_feature_name: "AutoPictureInPicture",
      status: "experimental",
    },
    {
      // Flag set by the media::kAutoplayIgnoreWebAudio feature flag.
      name: "AutoplayIgnoresWebAudio",
      settable_from_internals: true,
    },
    {
      name: "BackForwardCache",
    },
    {
      name: "BackgroundFetch",
      status: "stable",
    },
    {
      name: "BackgroundVideoTrackOptimization",
      status: "stable",
    },
    {
      name: "Badging",
      status: "stable",
    },
    {
      name: "BarcodeDetector",
      status: "stable",
    },
    {
      // https://github.com/WICG/display-locking/blob/master/explainer-beforematch.md
      name: "BeforeMatchEvent",
      status: "experimental",
    },
    {
      name: "BidiCaretAffinity",
    },
    {
      name: "BlinkRuntimeCallStats",
    },
    {
      name: "BlockCredentialedSubresources",
      status: "stable",
    },
    {
      name: "BlockFlowHandlesWebkitLineClamp",
      status: "stable",
    },
    {
      name: "BlockHTMLParserOnStyleSheets",
    },
    {
      name: "BlockingDownloadsInSandbox",
      status: "stable",
    },
    {
      name: "BlockingFocusWithoutUserActivation",
      status: "experimental",
    },
    {
      name: "BrowserVerifiedUserActivationKeyboard",
    },
    {
      name: "BrowserVerifiedUserActivationMouse",
    },
    {
      name: "CacheInlineScriptCode"
    },
    {
      name: "CacheStorageCodeCacheHint",
      origin_trial_feature_name: "CacheStorageCodeCacheHint",
      status: "experimental",
    },
    {
      name: "Canvas2dContextLostRestored",
      status: "experimental",
    },
    {
      name: "Canvas2dImageChromium",
    },
    {
      name: "Canvas2dScrollPathIntoView",
      status: "experimental",
    },
    {
      name: "CanvasColorManagement",
      status: "experimental",
    },
    {
      name: "CanvasHitRegion",
      status: "experimental",
    },
    {
      name: "CanvasImageSmoothing",
      status: "experimental",
    },
    {
      name: "CaptureTimeInCsrc",
      status: "stable",
    },
    {
      name: "ClickPointerEvent",
      status: "experimental",
    },
    {
      name: "ClickRetargetting",
      status: "experimental",
    },
    {
      name: "CompositeAfterPaint",
    },
    {
      name: "CompositedSelectionUpdate",
      status: {"Android": "stable"},
    },
    {
      name: "ComputedAccessibilityInfo",
      status: "experimental",
    },
    {
      name: "ConsolidatedMovementXY",
    },
    {
      name: "ContactsManager",
      status:  {"Android": "stable", "default": "test"},
    },
    {
      name: "ContactsManagerExtraProperties",
      status:  {"Android": "stable", "default": "test"},
    },
    {
      name: "ContentIndex",
      status:  {"Android": "stable", "default": "experimental"},
    },
    {
      name: "ContextMenu",
      status: "experimental",
    },
    {
      name: "ConversionMeasurement",
      origin_trial_feature_name: "ConversionMeasurement",
      status: "experimental",
    },
    {
      name: "CookieDeprecationMessages",
      status: "experimental",
    },
    {
      name: "CookieStoreDocument",
      origin_trial_feature_name: "CookieStore",
      status: "experimental",
    },
    {
      name: "CookieStoreWorker",
      origin_trial_feature_name: "CookieStore",
      status: "experimental",
    },
    {
      name: "CookiesWithoutSameSiteMustBeSecure",
      status: "test",
    },
    {
      name: "CooperativeScheduling"
    },
    {
      name: "CorsRFC1918",
    },
    {
      name: "CrossOriginIsolation",
      status: "experimental",
    },
    {
      name: "CSS3Text",
      status: "experimental",
    },
    {
      name: "CSSAspectRatioProperty",
      status: "experimental",
    },
    {
      name: "CSSCalcAsInt",
      status: "test",
    },
    {
      name: "CSSCascade",
      status: "stable",
    },
    {
      // Support for the CSS color-scheme property from the css-color-adjust spec.
      // https://drafts.csswg.org/css-color-adjust/#color-scheme-prop
      name: "CSSColorScheme",
      status: "stable",
    },
    {
      // 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",
    },
    {
      // The main content-visibility feature.
      // https://drafts.csswg.org/css-contain/#content-visibility
      name: "CSSContentVisibility",
      status: "stable",
    },
    {
      // The content-visibility: hidden-matchable feature. This is a planned
      // follow-up to the main CSSContentVisibility feature, thus it is gated
      // by a different flag.
      // https://wicg.github.io/display-locking/
      name: "CSSContentVisibilityHiddenMatchable",
      status: "experimental"
    },
    {
      name: "CSSFocusVisible",
      status: "stable",
    },
    {
      name: "CSSFoldables",
      status: "experimental",
    },
    {
      name: "CSSFontSizeAdjust",
      status: "experimental",
    },
    {
      // This needs to be kept as a runtime flag as long as we need to forcibly
      // disable it for WebView on Android versions older than P. See
      // https://crrev.com/f311a84728272e30979432e8474089b3db3c67df
      name: "CSSHexAlphaColor",
      status: "stable",
    },
    {
      name: "CSSIndependentTransformProperties",
      status: "experimental",
    },
    {
      name: "CSSLayoutAPI",
      status: "experimental",
    },
    {
      name: "CSSLogical",
      status: "experimental",
      settable_from_internals: true,
    },
    {
      name: "CSSLogicalOverflow",
      status: "test",
    },
    {
      name: "CSSMarkerNestedPseudoElement",
      status: "experimental",
    },
    {
      name: "CSSMarkerPseudoElement",
      status: "stable",
      implied_by: ["CSSMarkerNestedPseudoElement"],
    },
    // Enables dependency support for the MatchedPropertiesCache.
    {
      name: "CSSMatchedPropertiesCacheDependencies",
      depends_on: ["CSSCascade"]
    },
    {
      name: "CSSMathStyle",
      status: "experimental",
      implied_by: ["MathMLCore"],
    },
    {
      name: "CSSMathSuperscriptShiftStyle",
      status: "experimental",
      implied_by: ["MathMLCore"],
    },
    {
      name: "CSSMathVariant",
      status: "experimental",
      implied_by: ["MathMLCore"],
    },
    {
      name: "CSSModules",
      status: "experimental",
    },
    {
      name: "CSSOffsetPathRay",
      status: "experimental",
    },
    {
      name: "CSSOffsetPathRayContain",
      status: "experimental",
    },
    {
      name: "CSSOffsetPositionAnchor",
      status: "experimental",
    },
    {
      name: "CSSOMViewScrollCoordinates",
      status: "experimental",
    },
    {
      name: "CSSPaintAPIArguments",
      status: "experimental",
    },
    {
      name: "CSSPictureInPicture",
      status: "experimental",
      depends_on: ["PictureInPictureAPI"],
    },
    {
      name: "CSSPseudoIs",
      status: "experimental",
    },
    {
      name: "CSSPseudoWhere",
      status: "experimental",
    },
    {
      // Perform partial style invalidation on web font loading.
      // See https://crbug.com/441925 and https://bit.ly/35JjPmq for details.
      name: "CSSReducedFontLoadingInvalidations",
      status: "stable",
      implied_by: ["CSSReducedFontLoadingLayoutInvalidations"],
    },
    {
      // Perform partial layout invalidation on web font loading.
      // See https://crbug.com/441925 and https://bit.ly/35JjPmq for details.
      name: "CSSReducedFontLoadingLayoutInvalidations",
      status: "test",
    },
    {
      name: "CSSRevert",
      status: "stable",
      depends_on: ["CSSCascade"],
    },
    // Support for declarative parts of scroll-animations-1, i.e.
    // the animation-timeline property and the @scroll-timeline rule.
    //
    // https://drafts.csswg.org/scroll-animations-1/#animation-timeline
    // https://drafts.csswg.org/scroll-animations-1/#scroll-timeline-at-rule
    {
      name: "CSSScrollTimeline"
    },
    {
      name: "CSSSnapSize",
      status: "experimental",
    },
    {
      name: "CSSSupportsSelector",
      status: "stable",
    },
    // Make system color keywords compute to themselves.
    // https://github.com/w3c/csswg-drafts/issues/3847
    {
      name: "CSSSystemColorComputeToSelf",
    },
    // Support for @property rules.
    {
      name: "CSSVariables2AtProperty",
      status: "stable",
    },
    // Support for registered custom properties with <image> syntax.
    {
      name: "CSSVariables2ImageValues",
      status: "test",
    },
    // Support for registered custom properties with <transform-list> and
    // <transform-function> syntax.
    {
      name: "CSSVariables2TransformValues",
      status: "test",
    },
    {
      name: "CustomElementDefaultStyle",
      status: "experimental",
    },
    // TODO(937746): Web Components v0 is disabled by default, and will be
    // removed after M87.
    {
      name: "CustomElementsV0",
      origin_trial_feature_name: "WebComponentsV0",
      origin_trial_type: "deprecation",
      origin_trial_allows_insecure: true,
      status: "test",
    },
    {
      name: "CustomStatePseudoClass",
      status: "experimental",
    },
    {
      name: "Database",
      status: "stable",
    },
    {
      name: "DeclarativeShadowDOM",
      status: "experimental",
    },
    {
      name: "DecodeJpeg420ImagesToYUV",
      status: "test",
    },
    {
      name: "DecodeLossyWebPImagesToYUV",
      status: "test",
    },
    {
      name: "DelayAsyncScriptExecutionUntilFinishedParsing",
    },
    {
      name: "DelayAsyncScriptExecutionUntilFirstPaintOrFinishedParsing",
    },
    {
      name: "DelegatedInkTrails",
      status: "test",
    },
    {
      name: "DesktopCaptureDisableLocalEchoControl",
      status: "experimental",
    },
    {
      name: "DigitalGoods",
      status: "experimental",
    },
    {
      name: "DisableHardwareNoiseSuppression",
      origin_trial_feature_name: "DisableHardwareNoiseSuppression",
      status: "experimental",
    },
    {
      // Disable composited layer squashing in pre-CompositeAfterPaint for
      // testing.
      name: "DisableLayerSquashing",
    },
    {
      name: "DisallowDocumentAccess",
      status: "experimental",
    },
    {
      name: "DisplayCutoutAPI",
      settable_from_internals: true,
    },
    {
      name: "DocumentCookie",
    },
    {
      name: "DocumentDomain",
    },
    {
      name: "DocumentPolicy",
      origin_trial_feature_name: "DocumentPolicy",
      status: "experimental",
    },
    {
      name: "DocumentWrite",
    },
    {
      name: "EditContext",
      settable_from_internals: true,
      status: "test",
    },
    {
      // http://crbug.com/707656 content editable in LayoutNG.
      name: "EditingNG",
      status: "test",
    },
    {
      name: "EncryptedMediaEncryptionSchemeQuery",
      status: "stable",
    },
    {
      name: "EncryptedMediaHdcpPolicyCheck",
      status: "stable",
    },
    {
      name: "EncryptedMediaPersistentUsageRecordSession",
      status: "experimental",
    },
    {
      name: "EnterKeyHintAttribute",
      status: "stable",
    },
    {
      name: "EventTiming",
      status: "stable",
    },
    {
      name: "ExecCommandInJavaScript",
      status: "test",
    },
    {
      name: "ExpensiveBackgroundTimerThrottling",
      status: "stable",
    },
    // Experimental feature to try dynamic delegation of autoplay capability
    // through postMessages.
    {
      name: "ExperimentalAutoplayDynamicDelegation",
      origin_trial_feature_name: "ExperimentalAutoplayDynamicDelegation",
    },
    {
      name: "ExperimentalContentSecurityPolicyFeatures",
      status: "experimental",
    },
    // Enables navigator.scheduling.isInputPending and
    // navigator.scheduling.isFramePending, allowing long-running JS to
    // be able to yield itself when user input is queued (crbug.com/910421) or a
    // display update is scheduled.
    {
      name: "ExperimentalIsInputPending",
      origin_trial_feature_name: "ExperimentalIsInputPending",
      status: "experimental"
    },
    // Enables a DOM-exposed interface to profile client JS.
    // https://github.com/WICG/js-self-profiling
    {
      name: "ExperimentalJSProfiler",
      origin_trial_feature_name: "ExperimentalJSProfiler",
      status: "experimental"
    },
    // Enables a set of features intended to help improve web developer
    // productivity, by restricting the use of potentially problematic web-
    // platform behaviors, as well as adding new high-level APIs for common
    // development patterns.
    {
      name: "ExperimentalProductivityFeatures",
      status: "experimental"
    },
    {
      name: "ExtendedTextMetrics",
      status: "experimental",
    },
    {
      name: "ExtraWebGLVideoTextureMetadata",
    },
    {
      name: "FaceDetector",
      status: "experimental",
    },
    {
      name: "FeaturePolicyForClientHints",
      status: "stable",
    },
    {
      name: "FeaturePolicyForSandbox",
      status: "experimental",
    },
    {
      name: "FeaturePolicyReporting",
      implied_by: ["ExperimentalProductivityFeatures"],
      origin_trial_feature_name: "FeaturePolicyReporting",
      status: "experimental"
    },
    {
      name: "FeaturePolicyVibrateFeature"
    },
    {
      name: "FetchUploadStreaming",
      origin_trial_feature_name: "FetchUploadStreaming",
      status: "experimental",
    },
    {
      // Also enabled when blink::features::kFileHandlingAPI is overridden
      // on the command line (or via chrome://flags).
      name: "FileHandling",
      depends_on: ["NativeFileSystem"],
      status: {"Android": "test", "default": "experimental"},
      origin_trial_feature_name: "FileHandling",
      origin_trial_os: ["win", "macosx", "linux", "chromeos"],
    },
    {
      name: "FileSystem",
      status: "stable",
    },
    {
      name: "FlexGaps",
      status: "stable",
    },
    {
      name: "FocuslessSpatialNavigation",
      settable_from_internals: true,
    },
    {
      name: "FontAccess",
      status: "experimental",
    },
    {
      name: "FontSrcLocalMatching",
      // No status, as the web platform runtime enabled feature is controlled by
      // a Chromium level feature.
    },
    // For simulating Android's overlay fullscreen video in web tests on Linux.
    {
      name: "ForcedColors",
      status: "experimental",
    },
    {
      name: "ForceDeferScriptIntervention",
    },
    {
      // This is used in tests to perform memory measurement without
      // waiting for GC.
      name:"ForceEagerMeasureMemory",
    },
    {
      name: "ForceLoadAtTop",
      origin_trial_feature_name: "ForceLoadAtTop",
    },
    {
      name: "ForceOverlayFullscreenVideo",
    },
    {
      name: "ForceSynchronousHTMLParsing",
    },
    {
      name: "ForceTallerSelectPopup",
      status: {"ChromeOS": "stable"},
    },
    {
      name: "FractionalScrollOffsets",
      status: "experimental",
    },
    {
      name: "FreezeFramesOnVisibility",
      status: "experimental",
    },
    {
      name: "GamepadButtonAxisEvents",
      status: "experimental",
    },
    {
      name: "GetDisplayMedia",
      status: {"Android": "", "default": "stable"},
    },
    {
      name: "GroupEffect",
      status: "test",
    },
    {
      name: "HrefTranslate",
      depends_on: ["TranslateService"],
      origin_trial_feature_name: "HrefTranslate",
      status: "stable",
    },
    // TODO(937746): Web Components v0 is disabled by default, and will be
    // removed after M87.
    {
      name: "HTMLImports",
      origin_trial_feature_name: "WebComponentsV0",
      origin_trial_type: "deprecation",
      origin_trial_allows_insecure: true,
      status: "test",
    },
    {
      name: "IDBObserver",
      status: "experimental",
    },
    {
      name: "IDBRelaxedDurability",
      status: "stable",
    },
    {
      name: "IdleDetection",
      origin_trial_feature_name: "IdleDetection",
      status: "experimental",
    },
    {
      name: "IgnoreCrossOriginWindowWhenNamedAccessOnWindow",
      status: "experimental",
    },
    {
      name: "ImageOrientation",
      status: "stable",
    },
    {
      name: "ImplicitRootScroller",
      status: "experimental",
      settable_from_internals: true,
    },
    {
      name: "ImportMaps",
      implied_by: ["ExperimentalProductivityFeatures"],
    },
    {
      name: "InertAttribute",
      status: "experimental",
    },
    {
      name: "InputElementRawValue",
      status: "experimental",
    },
    {
      name: "InputMultipleFieldsUI",
      // No plan to support complex UI for date/time INPUT types on Android.
      status: {"Android": "test", "default": "stable"},
    },
    {
      name: "InstalledApp",
      status: "stable",
    },
    {
      name: "IntersectionObserverDocumentScrollingElementRoot",
      status: "stable",
    },
    {
      // Launched by default. TODO(mythria): cleanup virtual tests and
      // other hooks in blink.
      name: "IsolatedCodeCache",
      status: "stable",
    },
    {
      // If enabled, CSP checks use the isolated world CSP when in an isolated
      // world. See crbug.com/896041.
      name: "IsolatedWorldCSP"
    },
    {
      name: "KeyboardFocusableScrollers",
      status: "experimental",
    },
    {
      name: "LangAttributeAwareFormControlUI",
    },
    {
      name: "LangClientHintHeader",
      status: "experimental",
    },
    {
      // LayoutNG has been enabled in M76, but we still keep this flag for
      // testing. See web_tests/FlagExpectations/disable-layout-ng for more
      // details about running web tests with LayoutNG disabled. This flag also
      // provides a convenient way for testing legacy layout code path in blink
      // unit tests.
      name: "LayoutNG",
      implied_by: ["LayoutNGFieldset", "LayoutNGGrid", "BidiCaretAffinity", "LayoutNGTable"],
      status: "stable",
    },
    {
      name: "LayoutNGBlockFragmentation",
    },
    {
      name: "LayoutNGFieldset",
    },
    {
      name: "LayoutNGFlexBox",
      status: "stable",
    },
    {
      name: "LayoutNGForControls",
      depends_on: ["LayoutNG"],
      status: "experimental",
    },
    {
      name: "LayoutNGFragmentItem",
      implied_by: ["LayoutNGBlockFragmentation", "LayoutNGFragmentTraversal", "EditingNG"],
      status: "test",
    },
    {
      // Traverse the fragment tree when painting and hit-testing, instead of
      // the layout object tree.
      name: "LayoutNGFragmentTraversal",
      implied_by: ["LayoutNGBlockFragmentation"],
    },
    {
      name: "LayoutNGGrid",
    },
    {
      name: "LayoutNGRuby",
      depends_on: ["LayoutNG"],
      // The flag value is managed by kLayoutNGRuby in common/features.cc too.
      status: "stable",
    },
    {
      name: "LayoutNGTable",
    },
    {
      // Adds the "sources" attribute to the LayoutShift interface for the
      // Layout Instability API (bit.ly/cls-sources).
      name: "LayoutShiftAttribution",
      status: "stable",
    },
    {
      name: "LazyFrameLoading",
      status: "stable",
    },
    {
      name: "LazyFrameVisibleLoadTimeMetrics",
    },
    {
      name: "LazyImageLoading",
      status: "stable",
    },
    {
      name: "LazyImageVisibleLoadTimeMetrics",
    },
    {
      name: "LazyInitializeMediaControls",
      // This is enabled by features::kLazyInitializeMediaControls.
    },
    {
      // Also enabled when blink::features::kNativeFileSystemAPI is overridden
      // on the command line (or via chrome://flags).
      // Used for API surface that will be removed when the Native File System
      // API is no longer guarded by an origin trial.
      name: "LegacyNativeFileSystem",
      status: {"Android": "test", "default": "experimental"},
      origin_trial_feature_name: "NativeFileSystem2",
      origin_trial_os: ["win", "macosx", "linux", "chromeos"],
    },
    {
      name: "LegacyWindowsDWriteFontFallback",
      // Enabled by features::kLegacyWindowsDWriteFontFallback;
    },
    {
      // TODO(crbug.com/1087043): Remove this once the feature has
      // landed and no compat issues are reported.
      name: "LinkDisabledNewSpecBehavior",
      status: "stable",
    },
    {
      name:"ManualSlotting",
      status:"experimental",
    },
    {
      name: "MathMLCore",
      status:"experimental",
      depends_on: ["LayoutNG"],
    },
    {
      name:"MeasureMemory",
      origin_trial_feature_name: "MeasureMemory",
      status:"experimental",
    },
    {
      name: "MediaCapabilitiesDynamicRange",
      status: "test",
    },
    {
      name: "MediaCapabilitiesEncodingInfo",
      status: "experimental",
    },
    {
      name: "MediaCapabilitiesEncryptedMedia",
      status: "stable",
    },
    {
      name: "MediaCapabilitiesSpatialAudio",
      status: "test",
    },
    {
      name: "MediaCapture",
      status: {"Android": "stable"},
    },
    {
      name: "MediaCaptureDepthVideoKind",
      status: "experimental",
    },
    {
      name: "MediaCapturePanTilt",
      status: "experimental",
    },
    // Set to reflect the MediaCastOverlayButton feature.
    {
      name: "MediaCastOverlayButton",
    },
    {
      name: "MediaControlsExpandGesture"
    },
    {
      name: "MediaControlsOverlayPlayButton",
      settable_from_internals: true,
      status: {"Android": "stable"},
    },
    {
      name: "MediaControlsUseCutOutByDefault",
      status: "stable",
    },
    {
      name: "MediaDocumentDownloadButton",
    },
    {
      name: "MediaElementVolumeGreaterThanOne",
    },
    // Set to reflect the kMediaEngagementBypassAutoplayPolicies feature.
    {
      name: "MediaEngagementBypassAutoplayPolicies",
    },
    // Media Feeds: https://wicg.github.io/media-feeds/
    // Set to reflect the kMediaFeeds feature.
    {
      name: "MediaFeeds",
      status: "experimental",
    },
    {
      name: "MediaLatencyHint",
      status: "test",
    },
    {
      name: "MediaPreservesPitch",
      status: "experimental",
    },
    {
      name: "MediaQueryNavigationControls",
    },
    {
      name: "MediaSession",
      status: "stable",
    },
    {
      name: "MediaSessionPosition",
      status: "stable",
    },
    {
      name: "MediaSourceExperimental",
      status: "experimental",
    },
    {
      name: "MediaSourceInWorkers",
      status: "experimental",
    },
    {
      name: "MediaSourceNewAbortAndDuration",
      status: "experimental",
    },
    {
      // This is used in cases of mixed specification of stable and
      // experimental MediaSource features, such as in the IDL for an interface
      // constructor where exposure of the constructor in Window vs other
      // contexts can vary in stable vs experimental.
      name: "MediaSourceStable",
      status: "stable",
    },
    // Support for META tag for setting color-scheme used for opting into dark
    // UA theming and opting out of forced dark mode.
    // https://drafts.csswg.org/css-color-adjust/#color-scheme-meta
    {
      name: "MetaColorScheme",
      status: "stable",
    },
    // This is enabled by default on Windows only. The only part that's
    // "experimental" is the support on other platforms.
    {
      name: "MiddleClickAutoscroll",
      status: "test",
    },
    {

      name: "MobileLayoutTheme",
    },
    {
      name: "ModuleServiceWorker",
      status: "test",
    },
    {
      name: "ModuleSharedWorker",
      status: "stable",
    },
    {
      name: "MojoJS",
      status: "test",
    },
    // MojoJSTest is used exclusively in testing environments, whereas MojoJS
    // may also be used elsewhere.
    {
      name: "MojoJSTest",
      status: "test",
    },
    {
      // When enabled, iframes are not capturing mouse events by default.
      name: "MouseSubframeNoImplicitCapture",
    },
    {
      // Named pages for pagination (the "page" CSS property).
      name: "NamedPages",
      status: "stable",
    },
    {
      // Also enabled when blink::features::kNativeFileSystemAPI is overridden
      // on the command line (or via chrome://flags).
      name: "NativeFileSystem",
      status: {"Android": "test", "default": "experimental"},
      origin_trial_feature_name: "NativeFileSystem2",
      origin_trial_os: ["win", "macosx", "linux", "chromeos"],
    },
    {
      name: "NativeFileSystemDragAndDrop",
      status: "test"
    },
    {
      name: "NativeIO",
      status: "experimental",
    },
    {
      name: "NavigatorContentUtils",
      // Android does not yet support NavigatorContentUtils.
      status: {"Android": "", "default": "stable"},
    },
    {
      // Allows the navigator.language and navigator.languages APIs in insecure
      // contexts, which https://github.com/WICG/lang-client-hint proposes that
      // we deprecate.
      name: "NavigatorLanguageInInsecureContext",
      settable_from_internals: true,
      status: "stable",
    },
    {
      name: "NetInfoDownlinkMax",
      // Only Android, ChromeOS support NetInfo downlinkMax, type and ontypechange now
      status: {"Android": "stable", "ChromeOS": "stable"},
    },
    {
      name: "NeverSlowMode",
    },
    {
      name: "NewCanvas2DAPI",
      status: "experimental",
    },
    // Not a web exposed feature, enabled from the command line.
    {
      name: "NewRemotePlaybackPipeline",
    },
    {
      name: "NoIdleEncodingForWebTests",
      status: "test",
    },
    {
      name: "NotificationConstructor",
      // Android won't be able to reliably support non-persistent notifications, the
      // intended behavior for which is in flux by itself.
      status: {"Android": "", "default": "stable"},
    },
    // NotificationContentImage is not available in all platforms
    // The Notification Center on Mac OS X does not support content images.
    {
      name: "NotificationContentImage",
      status: {"MacOSX": "test", "default": "stable"},
    },
    {
      name: "Notifications",
      status: "stable",
    },
    {
      name: "NotificationTriggers",
      origin_trial_feature_name: "NotificationTriggers",
      status: "experimental",
    },
    {
      name: "OffMainThreadCSSPaint",
      status: "stable",
    },
    {
      name: "OffscreenCanvasCommit",
      status: "experimental",
    },
    {
      name: "OnDeviceChange",
      // Android does not yet support SystemMonitor.
      status: {"Android": "", "default": "stable"},
    },
    {
      name: "OrientationEvent",
      status: {"Android": "stable"},
    },
    {
      name: "OriginIsolationHeader",
      origin_trial_feature_name: "OriginIsolationHeader",
      status: "experimental",
    },
    {
      name: "OriginPolicy",
      status: "experimental",
    },

    // Define a sample API for testing integration with the Origin Trials
    // Framework. The sample API is used in both unit and web 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.
    {
      name: "OriginTrialsSampleAPI",
      origin_trial_feature_name: "Frobulate",
    },
    // As above. Do not change this flag to stable, as it exists solely to
    // generate code used by the origin trials sample API implementation.
    // TODO(yashard): Add tests for this feature.
    {
      name: "OriginTrialsSampleAPIDependent",
      depends_on: ["OriginTrialsSampleAPI"],
    },
    // As above. Do not change this flag to stable, as it exists solely to
    // generate code used by the origin trials sample API implementation.
    {
      name: "OriginTrialsSampleAPIDeprecation",
      origin_trial_feature_name: "FrobulateDeprecation",
      origin_trial_type: "deprecation",
      origin_trial_allows_insecure: true,
    },
    // As above. Do not change this flag to stable, as it exists solely to
    // generate code used by the origin trials sample API implementation.
    {
      name: "OriginTrialsSampleAPIImplied",
      origin_trial_feature_name: "FrobulateImplied",
      implied_by: ["OriginTrialsSampleAPI", "OriginTrialsSampleAPIInvalidOS"],
    },
    // As above. Do not change this flag to stable, as it exists solely to
    // generate code used by the origin trials sample API implementation.
    {
      name: "OriginTrialsSampleAPIInvalidOS",
      origin_trial_feature_name: "FrobulateInvalidOS",
      origin_trial_os: ["invalid"],
    },
    // As above. Do not change this flag to stable, as it exists solely to
    // generate code used by the origin trials sample API implementation.
    {
      name: "OriginTrialsSampleAPINavigation",
      origin_trial_feature_name: "FrobulateNavigation",
    },
    // As above. Do not change this flag to stable, as it exists solely to
    // generate code used by the origin trials sample API implementation.
    {
      name: "OriginTrialsSampleAPIThirdParty",
      origin_trial_feature_name: "FrobulateThirdParty",
      origin_trial_allows_third_party: true,
    },
    {
      name: "OutOfBlinkCors",
    },
    {
      name: "OverflowIconsForMediaControls",
    },
    {
      name: "OverscrollCustomization",
      settable_from_internals: true,
      status: "experimental",
    },
    // The following are developer opt-outs and opt-ins for page freezing. If
    // neither is specified then heuristics will be applied to determine whether
    // the page is eligible.
    {
      name: "PageFreezeOptIn",
      origin_trial_feature_name: "PageFreezeOptIn",
    },
    {
      name: "PageFreezeOptOut",
      origin_trial_feature_name: "PageFreezeOptOut",
    },
    {
      name: "PagePopup",
      // Android does not have support for PagePopup
      status: {"Android": "", "default": "stable"},
    },
    {
      name: "PaintUnderInvalidationChecking",
      settable_from_internals: true,
    },
    {
      name: "ParentNodeReplaceChildren",
      status: "stable",
    },
    {
      // This flag enables the Manifest parser to handle URL Protocols.
      name: "ParseUrlProtocolHandler",
      status: "test",
    },
    {
      name: "PassPaintVisualRectToCompositor",
    },
    // This is to add an option to enable the Reveal button on password inputs while waiting ::reveal gets standardized.
    {
      name: "PasswordReveal",
    },
    {
      name: "PaymentApp",
      status: "experimental",
    },
    {
      name: "PaymentHandlerChangePaymentMethod",
      status: "stable",
    },
    {
      name: "PaymentHandlerHandlesShippingAndContact",
      status: "stable",
    },
    {
      name: "PaymentHandlerMinimalUI",
      status: "experimental",
    },
    {
      name: "PaymentMethodChangeEvent",
      status: "stable",
    },
    // PaymentRequest is enabled by default on Android
    {
      name: "PaymentRequest",
      status: "experimental",
    },
    {
      name: "PaymentRequestMerchantValidationEvent",
      status: "experimental",
    },
    {
      name: "PaymentRetry",
      status: "stable",
    },
    {
      name: "PercentBasedScrolling",
      settable_from_internals: true,
    },
    {
      name: "PerformanceManagerInstrumentation",
    },
    {
      name: "PeriodicBackgroundSync",
      status: "stable",
    },
    {
      name: "PerMethodCanMakePaymentQuota",
      origin_trial_feature_name: "PerMethodCanMakePaymentQuota",
      status: "experimental",
    },
    {
      name: "PermissionDelegation",
      status: "test",
    },
    {
      name: "Permissions",
      status: "stable",
    },
    {
      name: "PermissionsPolicyHeader",
      status: "experimental"
    },
    {
      name: "PermissionsRequestRevoke",
      status: "experimental",
    },
    {
      name: "PictureInPicture",
      settable_from_internals: true,
    },
    // Picture-in-Picture API is disabled by default on Android.
    {
      name: "PictureInPictureAPI",
      status: {"Android": "", "default": "stable"},
    },
    {
      name: "PictureInPictureV2",
      depends_on: ["PictureInPictureAPI"],
      settable_from_internals: true,
    },
    // This is a reverse OT used for a phased deprecation.
    // https://crbug.com/918374
    {
      name: "PNaCl",
      origin_trial_feature_name: "PNaCl",
    },
    {
      name: "PointerLockOptions",
      origin_trial_feature_name: "PointerLockOptions",
    },
    {
      name: "PointerRawUpdate",
      status: "stable",
    },
    {
      name: "Portals",
      status: "test",
      origin_trial_feature_name: "Portals",
    },
    {
      name: "PortalsDefaultActivation",
      status: "test",
    },
    {
      name: "PreciseMemoryInfo",
    },
    // Prefer not using composited scrolling. Composited scrolling will still
    // be used if there are other reasons forcing compositing. For consistency,
    // any code calling Settings::GetPreferCompositingToLCDTextEnabled() should
    // ensure that this flag overrides the setting.
    {
      name: "PreferNonCompositedScrolling",
      settable_from_internals: true,
    },
    {
      name: 'PrefersReducedData',
      status: 'experimental',
    },
    // This feature is deprecated and we are evangelizing affected sites.
    // See https://crbug.com/346236 for current status.
    {
      name: "PrefixedVideoFullscreen",
      status: "stable",
    },
    {
      name: "Presentation",
      status: "stable",
    },
    {
      name: "PriorityHints",
      origin_trial_feature_name: "PriorityHints",
      status: "experimental",
    },
    {
      name: "PushMessaging",
      status: "stable",
    },
    {
      name: "PushMessagingSubscriptionChange",
      status: "experimental",
    },
    {
      name: "QuicTransport",
      origin_trial_feature_name: "QuicTransport",
      status: "experimental",
    },
    {
      // Enabled when blink::features::kRawClipboard is enabled.
      name: "RawClipboard",
    },
    {
      name: "ReducedReferrerGranularity",
      status: "experimental",
    },
    {
      name: "RemotePlayback",
      status: "stable",
    },
    {
      name: "RemotePlaybackBackend",
      settable_from_internals: true,
      // Tracking bug for the implementation: https://crbug.com/728609
      status: {"Android": "stable", "default": ""},
    },
    {
      // See https://crbug.com/1012063
      name: "RequestVideoFrameCallback",
      status: "stable",
    },
    {
      name: "ResizeObserverUpdates",
      status: "stable",
    },
    {
      name: "RestrictAutomaticLazyFrameLoadingToDataSaver",
      depends_on: ["AutomaticLazyFrameLoading"],
      status: "stable",
    },
    {
      name: "RestrictAutomaticLazyImageLoadingToDataSaver",
      depends_on: ["AutomaticLazyImageLoading"],
      status: "stable",
    },
    {
      name: "RtcAudioJitterBufferMaxPackets",
      origin_trial_feature_name: "RtcAudioJitterBufferMaxPackets",
      status: "experimental",
    },
    {
      name: "RtcAudioJitterBufferRtxHandling",
      origin_trial_feature_name: "RtcAudioJitterBufferRtxHandling",
      status: "experimental",
    },
    // Enables the use of the RTCIceTransport with extensions.
    {
      name: "RTCIceTransportExtension",
      origin_trial_feature_name: "RTCQuicTransport",
      status: "experimental",
    },
    // Enables the use of Insertable Streams.
    {
      name: "RTCInsertableStreams",
      origin_trial_feature_name: "RTCInsertableStreams",
      status: "experimental",
    },
    // Enables the use of the RTCQuicTransport object.
    {
      name: "RTCQuicTransport",
      origin_trial_feature_name: "RTCQuicTransport",
      status: "experimental",
    },
    {
      name: "RTCStatsRelativePacketArrivalDelay",
      origin_trial_feature_name: "RTCStatsRelativePacketArrivalDelay",
      status: "experimental",
    },
    // Enables the use of SVC scalability mode in WebRTC.
    // Spec: https://w3c.github.io/webrtc-svc/
    {
      name: "RTCSvcScalabilityMode",
      status: "experimental",
    },
    // Enables the use of |RTCConfiguration::sdpSemantics| to override the
    // default SDP semantics at RTCPeerConnection construction.
    {
      name: "RTCUnifiedPlan",
      status: "stable",
    },
    // Overrides the default SDP semantics to be Unified Plan at
    // RTCPeerConnection construction (unless otherwise specified).
    {
      name: "RTCUnifiedPlanByDefault",
    },
    {
      name: "SameSiteByDefaultCookies",
      status: "test",
    },
    {
      name: "ScreenWakeLock",
      status: "stable",
    },
    // WebSpeech API with both speech recognition and synthesis functionality
    // is not fully enabled on all platforms.
    {
      name: "ScriptedSpeechRecognition",
      status: "stable",
    },
    {
      name: "ScriptedSpeechSynthesis",
      status: "stable",
    },
    {
      name: "ScrollbarGutter",
      status: "test",
    },
    {
      name: "ScrollCustomization",
    },
    {
      name: "ScrollSnapAfterLayout",
      status: "stable",
    },
    {
      name: "ScrollTimeline",
      status: "experimental",
      implied_by: ['AnimationWorklet', 'CSSScrollTimeline']
    },
    // Implements documentElement.scrollTop/Left and bodyElement.scrollTop/Left
    // as per the spec, matching other Web engines.
    {
      name: "ScrollTopLeftInterop",
      status: "stable",
    },
    {
      name: "ScrollUnification",
    },
    {
      name: "SendBeaconThrowForBlobWithNonSimpleType",
      status: "stable",
    },
    {
      name: "SendMouseEventsDisabledFormControls",
      status: "experimental",
    },
    {
      name: "SensorExtraClasses",
      status: "experimental",
    },
    {
      name: "Serial",
      origin_trial_feature_name: "Serial",
      status: {"Android": "", "default": "experimental"},
    },
    {
      name: "ServiceWorkerClientLifecycleState",
      status: "experimental",
    },
    {
      name: "ServiceWorkerFetchEventWorkerTiming",
      status: "experimental",
    },
    // TODO(937746): Web Components v0 is disabled by default, and will be
    // removed after M87.
    {
      name: "ShadowDOMV0",
      origin_trial_feature_name: "WebComponentsV0",
      origin_trial_type: "deprecation",
      origin_trial_allows_insecure: true,
      status: "test",
    },
      {
      name: "SharedArrayBuffer",
      status: "stable",
    },
    {
      name: "SharedWorker",
      // Android does not yet support SharedWorker. crbug.com/154571
      status: {"Android": "", "default": "stable"},
    },
    {
      name: "SignatureBasedIntegrity",
      origin_trial_feature_name: "SignatureBasedIntegrity",
      status: "experimental",
    },
    {
      name: "SignedExchangePrefetchCacheForNavigations",
      status: "experimental",
    },
    {
      name: "SignedExchangeSubresourcePrefetch",
      origin_trial_feature_name: "SignedExchangeSubresourcePrefetch",
      status: "experimental",
    },
    {
      name: "SkipAd",
      depends_on: ["MediaSession"],
      origin_trial_feature_name: "SkipAd",
      status: "experimental",
    },
    {
      name: "SkipTouchEventFilter",
      settable_from_internals: true,
    },
    {
      name: "SmsReceiver",
      status: {"default": "experimental", "Android": "stable"},
    },
    // 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.
    {
      name: "StableBlinkFeatures",
      status: "stable",
    },
    {
      // Enabled when blink::features::kStorageAccessAPI is enabled.
      name: "StorageAccessAPI",
      status: "test",
    },
    {
      name: "StrictMimeTypesForWorkers",
      status: "experimental"
    },
    {
      name: "SubresourceWebBundles",
      status: "experimental"
    },
    {
      name: "SurfaceEmbeddingFeatures",
      status: "stable",
    },
    {
      name: "SystemWakeLock",
      status: "experimental",
    },
    // For unit tests.
    {
      name: "TestFeature",
    },
    // For unit tests.
    {
      name: "TestFeatureDependent",
      depends_on: ["TestFeatureImplied"],
    },
    // For unit tests.
    {
      name: "TestFeatureImplied",
      implied_by: ["TestFeature"],
    },
    {
      name: "TextDetector",
      status: "experimental",
    },
    {
      name: "TextFragmentIdentifiers",
      origin_trial_feature_name: "TextFragmentIdentifiers",
      status: "stable",
    },
    {
      name: "ThirdPartyOriginTrials",
      status: "test",
    },
    {
      name: "TimerThrottlingForBackgroundTabs",
      status: "stable",
    },
    {
      name: "TimerThrottlingForHiddenFrames",
      status: "stable",
    },
    {
      name: "TimeZoneChangeEvent",
      status: "experimental",
    },
    // 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 events" themselves are always
    // enabled since they're a feature always supported by Chrome.
    {
      name: "TouchEventFeatureDetection",
      origin_trial_feature_name: "ForceTouchEventFeatureDetectionForInspector",
      status: "stable",
    },
    // When enabled, tracks the number of times each LayoutBlock
    // goes through layout. For testing purposes only.
    {
      name: "TrackLayoutPassesPerBlock",
    },
    {
      name: "TransferableStreams",
      status: "experimental",
      origin_trial_feature_name: "RTCInsertableStreams",
      implied_by: ["RTCInsertableStreams"],
    },
    // When enabled, enforces new interoperable semantics for 3D transforms.
    // See crbug.com/1008483.
    {
      name: "TransformInterop",
    },
    // This is conditionally set if the platform supports translation.
    {
      name: "TranslateService"
    },
    {
      name: "TrustedDOMTypes",
      status: "stable",
    },
    {
      name: "TrustTokens",
      origin_trial_feature_name: "TrustTokens",
      origin_trial_allows_third_party: true,
      status: "test",
    },
    {
      // Always allow trust token issuance (so long as the base::Feature
      // is enabled). Used for testing; circumvents a runtime check that,
      // if this RuntimeEnabledFeature is not present, guarantees the origin
      // trial is enabled.
      name: "TrustTokensAlwaysAllowIssuance",
      status: "test",
    },
    {
      name: "UnclosedFormControlIsInvalid",
      status: "experimental",
    },
    {
      name: "UnderlineOffsetThickness",
      status: "test",
    },
    {
      name: "UnoptimizedImagePolicies",
      status: "experimental",
      origin_trial_feature_name: "UnoptimizedImagePolicies",
      implied_by: ["ExperimentalProductivityFeatures"]
    },
    {
      name: "UnsizedMediaPolicy",
      status: "experimental",
      origin_trial_feature_name: "UnsizedMediaPolicy",
      implied_by: ["ExperimentalProductivityFeatures"]
    },
    {
      name: "UserActivationPostMessageTransfer",
    },
    {
      name: "UserActivationSameOriginVisibility",
    },
    {
      name: "UserAgentClientHint",
      status: "stable"
    },
    {
      name: "V8IdleTasks",
    },
    {
      // Whether a video element should automatically play fullscreen unless
      // 'playsinline' is set.
      name: "VideoAutoFullscreen",
      settable_from_internals: true,
    },
    {
      name: "VideoFullscreenOrientationLock",
    },
    {
      name: "VideoPlaybackQuality",
      status: "stable",
    },
    {
      name: "VideoRotateToFullscreen",
    },
    {
      name: "VideoWakeLockOptimisationHiddenMuted",
      status: "stable",
    },
    {
      name: "VirtualKeyboard",
      status: "test",
    },
    {
      name: "VisibilityCollapseColumn",
    },
    {
      name: "WakeLock",
      origin_trial_feature_name: "WakeLock",
      implied_by: ['ScreenWakeLock', 'SystemWakeLock'],
    },
    {
      name: "WebAnimationsAPI",
      status: "stable",
      implied_by: ['AnimationWorklet']
    },
    {
      name: "WebAnimationsSVG",
      status: "experimental",
    },
    {
      name: "WebAssemblySimd",
      origin_trial_feature_name: "WebAssemblySimd",
      status: "experimental",
    },
    {
      name: "WebAssemblyThreads",
      origin_trial_feature_name: "WebAssemblyThreads",
      status: "experimental",
    },
    // WebAuth is disabled on Android versions prior to N (7.0) due to lack of
    // supporting APIs, see runtime_features.cc.
    {
      name: "WebAuth",
      status: "stable",
    },
    {
      name: "WebAuthenticationGetAssertionFeaturePolicy",
      status: "experimental",
    },
    // WebBluetooth is enabled by default on Android, ChromeOS and Mac.
    // It is also supported in Windows 10 which is handled in runtime_features.cc
    {
      name: "WebBluetooth",
      status: {
        "Android": "stable",
        "ChromeOS": "stable",
        "MacOSX": "stable",
        "default": "experimental",
      },
    },
    {
      name: "WebBluetoothGetDevices",
      status: "experimental",
    },
    {
      name: "WebBluetoothRemoteCharacteristicNewWriteValue",
      status: {
        "Android": "stable",
        "ChromeOS": "stable",
        "MacOSX": "stable",
        "default": "experimental",
      },
    },
    {
      name: "WebBluetoothScanning",
      status: "experimental",
    },
    {
      name: "WebBluetoothWatchAdvertisements",
      status: "experimental",
    },
    {
      name: "WebCodecs",
      status: "test",
    },
    {
      name: "WebCryptoCurve25519",
      status: "experimental",
    },
    {
      name: "WebGL2ComputeContext",
      status: "experimental",
    },
    {
      name: "WebGLDraftExtensions",
      status: "experimental",
    },
    {
      name: "WebGLImageChromium",
    },
    // WebGPU adds a large attack surface area to the GPU process and allows
    // running arbitrary programs on the GPU (compute shaders), which may
    // perform arbitrary read/writes of GPU memory if not properly sandboxed.
    // That's why it is not enabled as part of the
    // --enable-experimental-web-platform-features flag.
    {
      name: "WebGPU",
    },
    {
      name: "WebHID",
      origin_trial_feature_name: "WebHID",
      status: "experimental",
    },
    {
      name: "WebNFC",
      origin_trial_feature_name: "WebNFC",
      origin_trial_os: ["android"],
      status: "experimental",
    },
    {
      name: "WebScheduler",
      origin_trial_feature_name: "WebScheduler",
      status: "experimental",
    },
    // WebShare is enabled by default on Android.
    {
      name: "WebShare",
      status: "test",
    },
    {
      name: "WebShareV2",
      status: "test",
      depends_on: ["WebShare"],
    },
    {
      name: "WebSocketStream",
      status: "experimental",
    },
    {
      name: "WebUSB",
      status: "stable",
    },
    {
      name: "WebUSBOnDedicatedWorkers",
      status: "stable",
      depends_on: ["WebUSB"],
    },
    {
      name: "WebVTTRegions",
      status: "experimental",
    },
    {
      name: "WebXR",
      status: "stable",
    },
    {
      name: "WebXRAnchors",
      depends_on: ["WebXRARModule", "WebXRHitTest"],
      status: "stable"
    },
    {
      name: "WebXRARModule",
      depends_on: ["WebXR"],
      status: "stable",
    },
    {
      name: "WebXRCameraAccess",
      depends_on: ["WebXRARModule"],
      status: "experimental",
    },
    {
      name: "WebXRHitTest",
      depends_on: ["WebXRARModule"],
      status: "stable",
    },
    {
      name: "WebXRHitTestEntityTypes",
      depends_on: ["WebXRHitTest"],
      status: "experimental"
    },
    {
      name: "WebXRLightEstimation",
      depends_on: ["WebXRARModule"],
      status: "experimental",
    },
    {
      name: "WebXRPlaneDetection",
      depends_on: ["WebXRARModule"],
      status: "experimental",
    },
    {
      name: "WebXRReflectionEstimation",
      depends_on: ["WebXRARModule", "WebXRLightEstimation"],
      status: "experimental",
    },
    // Extends window placement functionality for multi-screen devices. Also
    // exposes requisite information about displays connected to the device.
    {
      name: "WindowPlacement",
      status: "experimental",
    },
    {
      name: "WindowSegments",
      status: "experimental",
    },
    {
      name: "XSLT",
      status: "stable",
    },
  ],
}
