{
  // 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 cause a static method to be generated in
    // origin_trials.h/cpp. This static method allows the feature implementation
    // to check if it is enabled for the current context.
    origin_trial_feature_name: {
    },
    origin_trial_os: {
      default: [],
      valid_type: "list",
    },

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

    // Set to true to have customised {feature}Enabled() method implementation.
    custom: {
      valid_type: "bool",
    },

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

  data: [
    {
      name: "Accelerated2dCanvas",
      settable_from_internals: true,
      status: "stable",
    },
    {
      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: "AnimationWorklet",
      origin_trial_feature_name: "AnimationWorklet",
      status: "experimental",
    },
    {
      name: "AOMPhase1",
      status: "experimental",
    },
    {
      name: "AsyncClipboard",
      status: "stable",
    },
    {
      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: "experimental",
    },
    {
      name: "AutomaticLazyImageLoading",
      depends_on: ["LazyImageLoading"],
      status: "experimental",
    },
    {
      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",
      origin_trial_feature_name: "BadgingV2",
      status: "experimental",
    },
    {
      name: "BidiCaretAffinity",
    },
    {
      name: "BlinkRuntimeCallStats",
    },
    {
      // Adding simpler reading methods - stream(), text(), and arrayBuffer() -
      // to the Blob interface. See: https://github.com/w3c/FileAPI/pull/117
      name: "BlobReadMethods",
      status: "stable"
    },
    {
      name: "BlockCredentialedSubresources",
      status: "stable",
    },
    {
      name: "BlockHTMLParserOnStyleSheets",
    },
    {
      name: "BlockingDownloadsInSandboxWithoutUserActivation",
      status: "test",
    },
    {
      name: "BlockingFocusWithoutUserActivation",
      status: "experimental",
    },
    {
      name: "BuiltInModuleAll",
      implied_by: ["ExperimentalProductivityFeatures"],
    },
    {
      name: "BuiltInModuleInfra",
      origin_trial_feature_name: "BuiltInModuleInfra",
      implied_by: ["ExperimentalProductivityFeatures",
                   "BuiltInModuleAll",
                   "BuiltInModuleKvStorage",
                   "BuiltInModuleSwitchElement"],
    },
    {
      name: "BuiltInModuleKvStorage",
      origin_trial_feature_name: "BuiltInModuleKvStorage",
      implied_by: ["ExperimentalProductivityFeatures"],
    },
    {
      name: "BuiltInModuleSwitchElement",
      implied_by: ["BuiltInModuleAll"],
    },
    {
      name: "CacheInlineScriptCode"
    },
    {
      name: "CacheStorageAddAllRejectsDuplicates",
      status: "stable",
    },
    {
      name: "Canvas2dContextLostRestored",
      status: "experimental",
    },
    {
      name: "Canvas2dImageChromium",
    },
    {
      name: "Canvas2dScrollPathIntoView",
      status: "experimental",
    },
    {
      name: "Canvas2dSwapChain",
    },
    {
      name: "CanvasColorManagement",
      status: "experimental",
    },
    {
      name: "CanvasHitRegion",
      status: "experimental",
    },
    {
      name: "CanvasImageSmoothing",
      status: "experimental",
    },
    {
      name: "ClickPointerEvent",
      status: "experimental",
    },
    {
      name: "ClickRetargetting",
      status: "experimental",
    },
    {
      name: "ClientHintsFeaturePolicy",
      status: "experimental",
    },
    {
      name: "ClientPlaceholdersForServerLoFi",
    },
    {
      name: "CompositeAfterPaint",
    },
    {
      name: "CompositedSelectionUpdate",
      status: {"Android": "stable"},
    },
    {
      name: "CompositorTouchAction",
      status: "test",
    },
    {
      name: "ComputedAccessibilityInfo",
      status: "experimental",
    },
    {
      name: "ConsolidatedMovementXY",
    },
    {
      name: "ContactsManager",
      origin_trial_feature_name: "ContactsManager",
      origin_trial_os: ["android"],
      status: {"Android": "experimental", "default": "test"},
    },
    {
      name: "ContentIndex",
      status: "experimental",
    },
    {
      name: "ContextMenu",
      status: "experimental",
    },
    {
      name: "CookieDeprecationMessages",
      status: "experimental",
    },
    {
      name: "CookieStore",
      origin_trial_feature_name: "CookieStore",
      status: "experimental",
    },
    {
      name: "CookiesWithoutSameSiteMustBeSecure",
      status: "experimental",
    },
    {
      name: "CooperativeScheduling"
    },
    {
      name: "CorsRFC1918",
      depends_on: ["AddressSpace"],
    },
    {
      name: "CSS3Text",
      status: "experimental",
    },
    {
      name: "CSS3TextBreakAnywhere",
      status: "experimental",
    },
    {
      name: "CSSAdditiveAnimations",
      depends_on: ["StackedCSSPropertyAnimations"],
      status: "experimental",
    },
    {
      name: "CSSAltText",
      status: "stable",
    },
    {
      name: "CSSBackdropFilter",
      status: "stable",
    },
    {
      name: "CSSCalcAsInt",
      status: "test",
    },
    {
      name: "CSSCascade",
    },
    // 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",
    },
    {
      // CSS min(), max() and clamp()
      // https://drafts.csswg.org/css-values-4/#comp-func
      name: "CSSComparisonFunctions",
      status: "test",
    },
    {
      // Support for CSS content-size property.
      // http://tabatkins.github.io/specs/css-content-size/
      name: "CSSContentSize",
      status: "experimental",
    },
    {
      name: "CSSFocusVisible",
      status: "experimental",
    },
    {
      name: "CSSFontFeatureValues"
    },
    {
      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: "CSSMaskSourceType",
      status: "experimental",
    },
    {
      name: "CSSOffsetPathRay",
      status: "experimental",
    },
    {
      name: "CSSOffsetPathRayContain",
      status: "experimental",
    },
    {
      name: "CSSOffsetPositionAnchor",
      status: "experimental",
    },
    {
      name: "CSSPaintAPIArguments",
      status: "experimental",
      depends_on: ["CSSVariables2"],
    },
    {
      name: "CSSPictureInPicture",
      status: "experimental",
      depends_on: ["PictureInPictureAPI"],
    },
    {
      name: "CSSPseudoIs",
      status: "experimental",
    },
    {
      name: "CSSPseudoWhere",
      status: "experimental",
    },
    {
      name: "CSSSnapSize",
      status: "experimental",
    },
    {
      name: "CSSVariables2",
      status: "stable",
    },
    // Support for @property rules.
    {
      name: "CSSVariables2AtProperty",
      depends_on: ["CSSVariables2"],
    },
    // Support for registered custom properties with <image> syntax.
    {
      name: "CSSVariables2ImageValues",
      status: "test",
      depends_on: ["CSSVariables2"],
    },
    // Support for registered custom properties with <transform-list> and
    // <transform-function> syntax.
    {
      name: "CSSVariables2TransformValues",
      status: "test",
      depends_on: ["CSSVariables2"],
    },
    {
      name: "CSSViewport",
      status: "experimental",
    },
    {
      name: "CustomElementDefaultStyle",
      status: "experimental",
    },
    // Introduced this flag as stable so web developers can test their sites
    // without native Custom Elements v0 support.
    {
      name: "CustomElementsV0",
      origin_trial_feature_name: "WebComponentsV0",
      status: "stable",
    },
    {
      name: "CustomUserTiming",
      status: "stable",
    },
    {
      name: "Database",
      status: "stable",
    },
    {
      name: "DecodeJpeg420ImagesToYUV",
      status: "test"
    },
    {
      name: "DecodeLossyWebPImagesToYUV",
      status: "test",
    },
    {
      name: "DesktopCaptureDisableLocalEchoControl",
      status: "experimental",
    },
    {
      name: "DisableHardwareNoiseSuppression",
      origin_trial_feature_name: "DisableHardwareNoiseSuppression",
      status: "experimental",
    },
    {
      name: "DiscardInputToMovingIframes",
      status: "stable",
    },
    {
      name: "DisplayCutoutAPI",
      settable_from_internals: true,
    },
    {
      name: "DisplayLocking",
      status: "experimental",
    },
    {
      name: "DocumentCookie",
    },
    {
      name: "DocumentDomain",
    },
    {
      name: "DocumentPolicy",
    },
    {
      name: "DocumentWrite",
    },
    {
      // http://crbug.com/707656 content editable in LayoutNG.
      name: "EditingNG",
    },
    {
      // http://crbug.com/905922
      name: "ElementInternals",
      status: "stable",
      implied_by: ["FormAssociatedCustomElements"],
    },
    {
      // https://crbug.com/879270
      name: "ElementTiming",
      origin_trial_feature_name: "ElementTimingImages",
      status: "stable",
    },
    {
      name: "EncryptedMediaEncryptionSchemeQuery",
      status: "test",
    },
    {
      name: "EncryptedMediaHdcpPolicyCheck",
      status: "stable",
    },
    {
      name: "EncryptedMediaPersistentUsageRecordSession",
      status: "test",
    },
    {
      name: "EnterKeyHintAttribute",
      status: "stable",
    },
    {
      name: "EventTiming",
      origin_trial_feature_name: "EventTiming",
      status: "experimental",
    },
    {
      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, allowing long-running JS to
    // be able to yield itself when user input is queued (crbug.com/910421).
    {
      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: "FallbackCursorMode",
    },
    {
      name: "FastBorderRadius",
      status: "experimental",
    },
    {
      name: "FastMobileScrolling",
      status: {"Android": "stable"},
    },
    {
      name: "FeaturePolicyForClientHints",
      status: "experimental",
    },
    {
      name: "FeaturePolicyForSandbox",
      status: "experimental",
    },
    {
      name: "FeaturePolicyJavaScriptInterface",
      status: "stable"
    },
    {
      name: "FeaturePolicyReporting",
      implied_by: ["ExperimentalProductivityFeatures"],
      origin_trial_feature_name: "FeaturePolicyReporting",
      status: "experimental"
    },
    {
      name: "FeaturePolicyVibrateFeature"
    },
    {
      name: "FetchMetadata",
      status: "stable"
    },
    {
      name: "FetchMetadataDestination",
      status: "experimental"
    },
    {
      name: "FileHandling",
      // NativeFileSystem is in Origin Trial, which doesn't support having
      // non-origin-trial-enabled features depend on it. https://crbug.com/1000486
      // depends_on: ["NativeFileSystem"]
    },
    {
      name: "FileSystem",
      status: "stable",
    },
    // FirstContentfulPaintPlusPlus enables the Largest Text Paint metric, Last
    // Text Paint metric, Largest Image Paint metric and Last Image Paint
    // metric. See also: http://bit.ly/fcp_plus_plus
    {
      name: "FirstContentfulPaintPlusPlus",
      status: "stable",
    },
    // Perform style recalc traversal in the flat tree order, including marking
    // flat-tree instead of shadow-including ancestors for child dirtiness.
    {
      name: "FlatTreeStyleRecalc",
    },
    {
      name: "FocuslessSpatialNavigation",
      settable_from_internals: true,
    },
    {
      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: "ForbidSyncXHRInPageDismissal",
      status: "experimental",
    },
    {
      name: "ForcedColors",
    },
    {
      name: "ForceDeferScriptIntervention",
    },
    {
      name: "ForceOverlayFullscreenVideo",
    },
    {
      name: "ForceSynchronousHTMLParsing",
    },
    {
      name: "ForceTallerSelectPopup",
      status: {"ChromeOS": "stable"},
    },
    {
      name: "FormAssociatedCustomElements",
      status: "stable",
    },
    // This is to communicate features::FormControlsRefresh from ui (and can be
    // removed when the feature launches).
    {
      name: "FormControlsRefresh",
    },
    {
      name: "FormDataEvent",
      status: "stable",
    },
    {
      name: "FractionalMouseEvent",
    },
    {
      name: "FractionalScrollOffsets",
      status: "experimental",
    },
    {
      name: "FreezeFramesOnVisibility",
      status: "experimental",
    },
    {
      name: "GamepadButtonAxisEvents",
      status: "experimental",
    },
    {
      name: "GetDisplayMedia",
      status: "stable",
    },
    {
      name: "GroupEffect",
      status: "test",
    },
    {
      name: "HrefTranslate",
      depends_on: ["TranslateService"],
      origin_trial_feature_name: "HrefTranslate",
      status: "experimental",
    },
    // https://crbug.com/766694 for testing disabling the feature.
    {
      name: "HTMLImports",
      origin_trial_feature_name: "WebComponentsV0",
      status: "stable",
    },
    // Allow import only chrome internal resources.
    {
      name: "HTMLImportsOnlyChrome",
    },
    // https://crbug.com/523952 for testing disabling the feature.
    {
      name: "HTMLImportsStyleApplication",
      status: "stable",
    },
    {
      name: "IDBObserver",
      status: "experimental",
    },
    {
      name: "IDBRelaxedDurability",
      status: "experimental",
    },
    {
      name: "IDBTransactionCommit",
      status: "stable",
    },
    {
      name: "IdleDetection",
      status: "experimental",
    },
    {
      name: "IgnoreCrossOriginWindowWhenNamedAccessOnWindow",
      status: "experimental",
    },
    {
      name: "ImageOrientation",
      status: "test",
    },
    {
      name: "ImplicitRootScroller",
      status: "experimental",
      settable_from_internals: true,
    },
    {
      name: "InertAttribute",
      status: "experimental",
    },
    {
      name: "InputMultipleFieldsUI",
      // No plan to support complex UI for date/time INPUT types on Android.
      status: {"Android": "test", "default": "stable"},
    },
    {
      name: "InstalledApp",
      origin_trial_feature_name: "InstalledApp",
      status: "experimental",
    },
    {
      name: "IntersectionObserverV2",
      status: "stable",
    },
    {
      name: "InvisibleDOM",
      status: "experimental",
    },
    {
      // 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: "JSONModules",
    },
    {
      name: "KeyboardFocusableScrollers",
      status: "experimental",
    },
    {
      name: "LangAttributeAwareFormControlUI",
    },
    {
      name: "LangClientHintHeader",
      status: "experimental",
    },
    {
      name: "LargestContentfulPaint",
      status: "stable",
    },
    {
      // Exposes layout shift scores to Javascript. See explainer:
      // http://bit.ly/lsm-explainer.
      name: "LayoutInstabilityAPI",
      origin_trial_feature_name: "LayoutJankAPI",
      status: "stable",
    },
    {
      name: "LayoutNG",
      implied_by: ["LayoutNGBlockFragmentation", "LayoutNGFieldset", "LayoutNGFlexBox", "LayoutNGFragmentItem", "LayoutNGLineCache", "EditingNG", "BidiCaretAffinity", "LayoutNGTable"],
      status: "stable",
    },
    {
      name: "LayoutNGBlockFragmentation",
    },
    {
      name: "LayoutNGFieldset",
    },
    {
      name: "LayoutNGFlexBox",
    },
    {
      name: "LayoutNGFragmentCaching",
      implied_by: ["LayoutNG"],
    },
    {
      name: "LayoutNGFragmentItem",
    },
    {
      name: "LayoutNGLineCache",
    },
    {
      name: "LayoutNGTable",
    },
    {
      name: "LazyFrameLoading",
      status: "stable",
    },
    {
      name: "LazyFrameVisibleLoadTimeMetrics",
    },
    {
      name: "LazyImageLoading",
      status: "stable",
    },
    {
      name: "LazyImageLoadingMetadataFetch",
      depends_on: ["LazyImageLoading"],
    },
    {
      name: "LazyImageVisibleLoadTimeMetrics",
    },
    {
      name: "LazyInitializeMediaControls",
      // This is enabled by features::kLazyInitializeMediaControls.
    },
    {
      name: "LegacyWindowsDWriteFontFallback",
      // Enabled by features::kLegacyWindowsDWriteFontFallback;
    },
    {
      name: "LinkSystemColors"
    },
    {
      name: "LongTaskV2",
    },
    {
      name:"ManualSlotting",
      status:"experimental",
    },
    {
      name: "MediaCapabilitiesEncodingInfo",
      status: "experimental",
    },
    {
      name: "MediaCapabilitiesEncryptedMedia",
      origin_trial_feature_name: "MediaCapabilitiesEncryptedMedia",
      status: "experimental",
    },
    {
      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: "MediaDocumentDownloadButton",
    },
    {
      name: "MediaElementVolumeGreaterThanOne",
    },
    // Set to reflect the kMediaEngagementBypassAutoplayPolicies feature.
    {
      name: "MediaEngagementBypassAutoplayPolicies",
    },
    {
      name: "MediaQueryPrefersColorScheme",
      status: "stable",
    },
    {
      name: "MediaQueryShape",
      status: "experimental",
    },
    {
      name: "MediaSession",
      status: "stable",
    },
    {
      name: "MediaSessionPosition",
      status: "experimental",
    },
    {
      name: "MediaSessionSeeking",
      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",
    },
    {
      name: "MergeBlockingNonBlockingPools",
    },
    // 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",
    },
    // This is enabled by default on Windows only. The only part that's
    // "experimental" is the support on other platforms.
    {
      name: "MiddleClickAutoscroll",
      status: "test",
    },
    // Specific mime-types such as PDF are rendered in cross-process frames.
    {
      name: "MimeHandlerViewInCrossProcessFrame",
    },
    {

      name: "MobileLayoutTheme",
    },
    {
      name: "ModuleDedicatedWorker",
      status: "experimental",
    },
    {
      name: "ModuleServiceWorker",
      status: "test",
    },
    {
      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",
    },
    {
      // Also enabled when blink::features::kNativeFileSystemAPI is overridden
      // on the command line (or via chrome://flags).
      name: "NativeFileSystem",
      status: "experimental",
      origin_trial_feature_name: "NativeFileSystem",
      origin_trial_os: ["win", "macosx", "linux", "chromeos"],
    },
    {
      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"},
    },
    // 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",
    },
    {
      name: "OffscreenCanvasCommit",
      status: "experimental",
    },
    {
      name: "OnDeviceChange",
      // Android does not yet support SystemMonitor.
      status: {"Android": "", "default": "stable"},
    },
    {
      name: "OrientationEvent",
      status: {"Android": "stable"},
    },

    // 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",
    },
    // TODO(yashard): Add tests for this feature.
    {
      name: "OriginTrialsSampleAPIDependent",
      depends_on: ["OriginTrialsSampleAPI"],
    },
    // 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: "OriginTrialsSampleAPIImplied",
      origin_trial_feature_name: "FrobulateImplied",
      implied_by: ["OriginTrialsSampleAPI", "OriginTrialsSampleAPIInvalidOS"],
    },
    {
      name: "OriginTrialsSampleAPIInvalidOS",
      origin_trial_feature_name: "FrobulateInvalidOS",
      origin_trial_os: ["invalid"],
    },
    {
      name: "OriginTrialsSampleAPINavigation",
      origin_trial_feature_name: "FrobulateNavigation",
    },
    {
      name: "OutOfBlinkCors",
    },
    {
      name: "OverflowIconsForMediaControls",
    },
    {
      name: "OverlayScrollbars",
      settable_from_internals: true,
    },
    {
      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",
      status: "experimental",
    },
    {
      name: "PageFreezeOptOut",
      origin_trial_feature_name: "PageFreezeOptOut",
      status: "experimental",
    },
    {
      name: "PagePopup",
      // Android does not have support for PagePopup
      status: {"Android": "", "default": "stable"},
    },
    // See: https://docs.google.com/document/d/1IyYJ6bVF7KZq96b_s5NrAzGtVoBXn_LQnya9y4yT3iw/view
    {
      name: "PaintNonFastScrollableRegions",
      status: "stable",
    },
    {
      name: "PaintUnderInvalidationChecking",
      settable_from_internals: true,
    },
    {
      name: "PassiveDocumentEventListeners",
      status: "stable",
    },
    {
      name: "PassiveDocumentWheelEventListeners",
      status: "stable",
    },
    {
      name: "PassPaintVisualRectToCompositor",
    },
    {
      name: "PauseExecutionContextOnBackgroundFreeze",
      status: "stable",
    },
    {
      name: "PaymentApp",
      status: "experimental",
    },
    {
      name: "PaymentHandlerChangePaymentMethod",
      status: "stable",
    },
    {
      name: "PaymentHandlerHandlesShippingAndContact",
      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: "PerformanceManagerInstrumentation",
    },
    {
      // Flag enabling the performance observers buffered flag. The buffered
      // flag indicates whether or not the buffered entries should be loaded
      // into the observer's buffer upon registration. See crbug.com/725567.
      name: "PerformanceObserverBufferedFlag",
      status: "stable",
    },
    {
      name: "PeriodicBackgroundSync",
      origin_trial_feature_name: "PeriodicBackgroundSync",
      settable_from_internals: true,
      status: "test",
    },
    {
      name: "PerMethodCanMakePaymentQuota",
      origin_trial_feature_name: "PerMethodCanMakePaymentQuota",
      status: "experimental",
    },
    {
      name: "PermissionDelegation",
      status: "test",
    },
    {
      name: "Permissions",
      status: "stable",
    },
    {
      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",
    },
    {
      name: "PointerRawUpdate",
      status: "stable",
    },
    {
      name: "Portals",
      status: "test",
    },
    {
      name: "PostAnimationFrame",
      status: "experimental",
    },
    {
      name: "PreciseMemoryInfo",
    },
    {
      name: "PredictedEvents",
      status: "stable",
    },
    // 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: "PrintBrowser",
    },
    {
      name: "PriorityHints",
      origin_trial_feature_name: "PriorityHints",
      status: "experimental",
    },
    {
      name: "PushMessaging",
      status: "stable",
    },
    {
      name: "PushMessagingSubscriptionChange",
      status: "experimental",
    },
    {
      name: "RasterInducingScroll",
      status: "experimental",
    },
    {
      name: "ReducedReferrerGranularity",
    },
    {
      name: "RemotePlayback",
      status: "stable",
    },
    {
      name: "RemotePlaybackBackend",
      settable_from_internals: true,
      // Tracking bug for the implementation: https://crbug.com/728609
      status: {"Android": "stable", "default": ""},
    },
    {
      name: "ResourceLoadScheduler",
      status: "experimental",
    },
    {
      name: "RestrictAppCacheToSecureContexts",
      status: "stable",
    },
    {
      name: "RestrictAutomaticLazyFrameLoadingToDataSaver",
      depends_on: ["AutomaticLazyFrameLoading"],
      status: "experimental",
    },
    {
      name: "RestrictAutomaticLazyImageLoadingToDataSaver",
      depends_on: ["AutomaticLazyImageLoading"],
      status: "experimental",
    },
    {
      name: "RestrictedWebkitAppearance",
      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 RTCDtlsTransport object.
    {
      name: "RTCDtlsTransport",
      status: "stable",
    },
    // Enables the use of the RTCIceTransport with extensions.
    {
      name: "RTCIceTransportExtension",
      origin_trial_feature_name: "RTCQuicTransport",
      status: "experimental",
    },
    {
      name: "RtcJitterBufferDelayHint",
      origin_trial_feature_name: "RtcJitterBufferDelayHint",
      status: "experimental",
    },
    // Enables the use of the RTCQuicTransport object.
    {
      name: "RTCQuicTransport",
      origin_trial_feature_name: "RTCQuicTransport",
      status: "experimental",
    },
    // Enables the use of the RTCSctpTransport object.
    {
      name: "RTCSctpTransport",
      status: "stable",
    },
    {
      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",
    },
    // 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: "experimental",
    },
    // Exposes the displays connected to the device and provides the display
    // properties needed for window placement features.
    {
      name: "ScreenEnumeration",
      status: "experimental",
    },
    // 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: "ScriptStreamingOnPreload",
    },
    // Serialize and restore scroll anchors.
    {
      name: "ScrollAnchorSerialization",
      status: "test",
    },
    {
      name: "ScrollCustomization",
    },
    {
      name: "ScrollTimeline",
      status: "experimental",
      origin_trial_feature_name: "AnimationWorklet",
      implied_by: ['AnimationWorklet']
    },
    // Implements documentElement.scrollTop/Left and bodyElement.scrollTop/Left
    // as per the spec, matching other Web engines.
    {
      name: "ScrollTopLeftInterop",
      status: "stable",
    },
    {
      name: "SendBeaconThrowForBlobWithNonSimpleType",
      status: "stable",
    },
    {
      name: "SendMouseEventsDisabledFormControls",
      status: "experimental",
    },
    {
      name: "SensorExtraClasses",
      status: "experimental",
    },
    {
      name: "Serial",
      status: {"Android": "", "default": "experimental"},
    },
    {
      name: "ServiceWorkerFilterFrozen",
      status: "experimental",
    },
    {
      name: "SetRootScroller",
      status: "experimental",
    },
    // Introduced this flag as stable so web developers can test their sites
    // without native Shadow DOM v0 support
    {
      name: "ShadowDOMV0",
      origin_trial_feature_name: "WebComponentsV0",
      status: "stable",
    },
    {
      name: "ShadowPiercingDescendantCombinator",
      status: "experimental",
    },
    {
      name: "ShapeDetection",
      status: "experimental",
    },
    {
      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",
      origin_trial_feature_name: "SmsReceiver",
      status: {"Android": "experimental", "default": "test"},
    },
    // 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",
    },
    {
      name: "StackedCSSPropertyAnimations",
      status: "experimental",
    },
    {
      name: "StaleWhileRevalidate",
      origin_trial_feature_name: "StaleWhileRevalidate",
      status: "stable",
    },
    {
      // Enabled when blink::features::kStorageAccessAPI is enabled.
      name: "StorageAccessAPI",
      status: "test",
    },
    {
      name: "StorageQuotaDetails",
      status: "stable"
    },
    {
      name: "StreamsNative",
      status: "stable",
    },
    {
      name: "SurfaceEmbeddingFeatures",
      status: "stable",
    },
    {
      name: "TextFragmentIdentifiers",
      origin_trial_feature_name: "TextFragmentIdentifiers",
      status: "experimental",
    },
    {
      name: "TimerThrottlingForBackgroundTabs",
      status: "stable",
    },
    {
      name: "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 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",
    },
    // This is conditionally set if the platform supports translation.
    {
      name: "TranslateService"
    },
    {
      name: "TrustedDOMTypes",
      origin_trial_feature_name: "TrustedDOMTypes",
      status: "experimental",
    },
    {
      name: "UnclosedFormControlIsInvalid",
      status: "experimental",
    },
    {
      name: "UnifiedPointerCaptureInBlink",
      status: "stable",
    },
    {
      name: "UnifiedTouchAdjustment",
      status: "stable",
    },
    {
      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: "UpdateHoverAtBeginFrame",
      settable_from_internals: true,
    },
    {
      name: "UserActivationAPI",
      status: "stable",
    },
    {
      name: "UserActivationPostMessageTransfer",
    },
    {
      name: "UserActivationSameOriginVisibility",
    },
    {
      name: "UserActivationV2",
      status: "stable",
    },
    {
      name: "UserAgentClientHint",
      status: "experimental"
    },
    {
      name: "UseWindowsSystemColors",
    },
    {
      name: "V8IdleTasks",
    },
    {
      // Whether a video element should automatically play fullscreen unless
      // 'playsinline' is set.
      name: "VideoAutoFullscreen",
      settable_from_internals: true,
    },
    {
      name: "VideoFullscreenDetection",
    },
    {
      name: "VideoFullscreenOrientationLock",
    },
    {
      name: "VideoRotateToFullscreen",
    },
    {
      name: "VisibilityCollapseColumn",
    },
    {
      name: "WakeLock",
      origin_trial_feature_name: "WakeLock",
      status: "experimental",
    },
    {
      name: "WasmCodeCache",
      status: "experimental",
    },
    {
      name: "WebAnimationsAPI",
      status: "experimental",
      implied_by: ['AnimationWorklet']
    },
    {
      name: "WebAnimationsSVG",
      status: "experimental",
    },
    {
      name: "WebAssemblyThreads",
      origin_trial_feature_name: "WebAssemblyThreads",
      status: "experimental",
    },
    {
      name: "WebAuth",
      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: "WebBluetoothScanning",
      status: "test",
    },
    {
      name: "WebGL2ComputeContext",
      status: "experimental",
    },
    {
      name: "WebGLDraftExtensions",
      status: "experimental",
    },
    {
      name: "WebGLImageChromium",
    },
    {
      name: "WebGLSwapChain",
    },
    // 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",
      status: "experimental",
    },
    {
      name: "WebkitBoxLayoutUsesFlexLayout",
    },
    {
      name: "WebNFC",
      status: "experimental",
    },
    {
      name: "WebScheduler",
      status: "experimental",
    },
    // WebShare is enabled by default on Android.
    {
      name: "WebShare",
      status: "experimental",
    },
    {
      name: "WebShareV2",
      status: "experimental",
      depends_on: ["WebShare"],
    },
    {
      name: "WebSocketStream",
      origin_trial_feature_name: "WebSocketStream",
      status: "experimental",
    },
    {
      name: "WebUSB",
      status: "stable",
    },
    {
      name: "WebUSBOnDedicatedWorkers",
      status: "stable",
      depends_on: ["WebUSB"],
    },
    {
      name: "WebVR",
      origin_trial_feature_name: "WebVR1.1M62",
      status: "experimental",
    },
    {
      name: "WebVTTRegions",
      status: "experimental",
    },
    {
      name: "WebXR",
      origin_trial_feature_name: "WebXRDeviceM76",
      status: "experimental",
    },
    {
      name: "WebXRAnchors",
      // depends_on: ["WebXRARModule"],  // TODO(https://crbug.com/954679): uncomment once bug is fixed
    },
    {
      name: "WebXRARModule",
      // depends_on: ["WebXR"],  // TODO(https://crbug.com/954679): uncomment once bug is fixed
      status: "experimental",
    },
    {
      name: "WebXRHitTest",
      // depends_on: ["WebXRARModule"],  // TODO(https://crbug.com/954679): uncomment once bug is fixed
      status: "experimental"
    },
    {
      name: "WebXRPlaneDetection",
      // depends_on: ["WebXRARModule"],  // TODO(https://crbug.com/954679): uncomment once bug is fixed
    },
    {
      name: "XSLT",
      status: "stable",
    },
  ],
}
