{
  // 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",
    },
    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: "AdTagging",
      status: "test",
    },
    {
      // Deprecated, see UserActivationPostMessageTransfer.
      name: "AllowActivationDelegationAttr",
    },
    {
      name: "AllowContentInitiatedDataUrlNavigations",
      status: "stable",
    },
    {
      name: "AnimationWorklet",
      origin_trial_feature_name: "AnimationWorklet",
      status: "experimental",
    },
    {
      name: "AsyncClipboard",
      status: "experimental",
    },
    {
      name: "AudioOutputDevices",
      // Android does not yet support switching of audio output devices
      status: {"Android": "", "default": "stable"},
    },
    {
      name: "AudioVideoTracks",
      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: "BackgroundFetch",
      status: "stable",
    },
    {
      name: "BackgroundVideoTrackOptimization",
      status: "stable",
    },
    {
      name: "Badging",
      origin_trial_feature_name: "Badging",
      status: "experimental",
    },
    {
      name: "BidiCaretAffinity",
    },
    {
      name: "BlinkGenPropertyTrees",
      status: "stable",
    },
    {
      name: "BlinkRuntimeCallStats",
    },
    {
      name: "BloatedRendererDetection",
      status: "experimental",
    },
    {
      // Detects bloated renderers even if the uptime is small.
      // Useful for local testing, not intended for production.
      name: "BloatedRendererDetectionSkipUptimeCheck",
    },
    {
      name: "BlockCredentialedSubresources",
      status: "stable",
    },
    {
      name: "BlockingDownloadsInSandboxWithoutUserActivation",
      status: "test",
    },
    {
      name: "BlockMetaSetCookie",
      status: "stable"
    },
    {
      name: "BuiltInModuleAll",
      implied_by: ["ExperimentalProductivityFeatures"],
    },
    {
      name: "BuiltInModuleInfra",
      origin_trial_feature_name: "BuiltInModuleInfra",
      implied_by: ["ExperimentalProductivityFeatures",
                   "BuiltInModuleAll",
                   "BuiltInModuleKvStorage"],
    },
    {
      name: "BuiltInModuleKvStorage",
      origin_trial_feature_name: "BuiltInModuleKvStorage",
      implied_by: ["ExperimentalProductivityFeatures"],
    },
    {
      name: "CacheInlineScriptCode"
    },
    {
      name: "CacheStorageAddAllRejectsDuplicates",
      status: "stable",
    },
    {
      name: "CallCaptureListenersAtCapturePhaseAtShadowHosts",
      status: "stable",
    },
    {
      name: "Canvas2dContextLostRestored",
      status: "experimental",
    },
    {
      name: "Canvas2dFixedRenderingMode",
      status: "test",
    },
    {
      name: "Canvas2dImageChromium",
    },
    {
      name: "Canvas2dScrollPathIntoView",
      status: "experimental",
    },
    {
      name: "CanvasColorManagement",
      status: "experimental",
    },
    {
      name: "CanvasHitRegion",
      status: "experimental",
    },
    {
      name: "CanvasImageSmoothing",
      status: "experimental",
    },
    {
      name: "ClickRetargetting",
      status: "experimental",
    },
    {
      name: "ClientPlaceholdersForServerLoFi",
    },
    {
      name: "CompositeAfterPaint",
    },
    {
      name: "CompositedSelectionUpdate",
      status: {"Android": "stable"},
    },
    {
      name: "CompositorTouchAction",
      status: "test",
    },
    {
      name: "ComputedAccessibilityInfo",
      status: "experimental",
    },
    {
      name: "ContactsManager",
      origin_trial_feature_name: "ContactsManager",
      status: "experimental",
    },
    {
      name: "ContextMenu",
      status: "experimental",
    },
    {
      name: "CookieStore",
      origin_trial_feature_name: "CookieStore",
      status: "experimental",
    },
    {
      name: "CorsRFC1918",
    },
    {
      name: "CSS3Text",
      status: "experimental",
    },
    {
      name: "CSS3TextBreakSpaces",
      status: "experimental",
    },
    {
      name: "CSSAdditiveAnimations",
      depends_on: ["StackedCSSPropertyAnimations"],
      status: "experimental",
    },
    {
      name: "CSSBackdropFilter",
      status: "experimental",
    },
    {
      name: "CSSCalcAsInt",
      status: "test",
    },
    {
      name: "CSSFocusVisible",
      status: "experimental",
    },
    {
      name: "CSSFontFeatureValues"
    },
    {
      name: "CSSFontSizeAdjust",
      status: "experimental",
    },
    {
      name: "CSSFragmentIdentifiers"
    },
    {
      // 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: "CSSMaskSourceType",
      status: "experimental",
    },
    {
      name: "CSSOffsetPathRay",
      status: "experimental",
    },
    {
      name: "CSSOffsetPathRayContain",
      status: "experimental",
    },
    {
      name: "CSSOffsetPositionAnchor",
      status: "experimental",
    },
    {
      name: "CSSPaintAPIArguments",
      status: "experimental",
      depends_on: ["CSSVariables2"],
    },
    {
      name: "CSSPartPseudoElement",
      status: "stable",
    },
    {
      name: "CSSPseudoIs",
      status: "experimental",
    },
    {
      name: "CSSPseudoWhere",
      status: "experimental",
    },
    {
      name: "CSSSnapSize",
      status: "experimental",
    },
    {
      name: "CSSVariables2",
      status: "experimental",
    },
    // 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",
    },
    {
      name: "Database",
      status: "stable",
    },
    {
      name: "DecodeToYUV",
      status: "experimental",
    },
    {
      name: "DesktopCaptureDisableLocalEchoControl",
      status: "experimental",
    },
    {
      name: "DisableHardwareNoiseSuppression",
      origin_trial_feature_name: "DisableHardwareNoiseSuppression",
      status: "experimental",
    },
    {
      name: "DisplayCutoutAPI",
      settable_from_internals: true,
    },
    {
      name: "DisplayLocking",
    },
    {
      name: "DocumentCookie",
    },
    {
      name: "DocumentDomain",
    },
    {
      name: "DocumentWrite",
    },
    {
      // http://crbug.com/707656 content editable in LayoutNG.
      name: "EditingNG",
    },
    {
      // http://crbug.com/905922
      name: "ElementInternals",
      implied_by: ["FormAssociatedCustomElements"],
    },
    {
      // https://crbug.com/879270
      name: "ElementTiming",
      origin_trial_feature_name: "ElementTimingImages",
      status: "experimental",
    },
    {
      name: "EncryptedMediaEncryptionSchemeQuery",
      status: "test",
    },
    {
      name: "EncryptedMediaHdcpPolicyCheck",
      status: "stable",
    },
    {
      name: "EncryptedMediaPersistentUsageRecordSession",
      status: "test",
    },
    {
      name: "EventTiming",
      origin_trial_feature_name: "EventTiming",
      status: "experimental",
    },
    {
      name: "ExecCommandInJavaScript",
      status: "test",
    },
    {
      name: "ExpensiveBackgroundTimerThrottling",
      status: "stable",
    },
    {
      name: "ExperimentalContentSecurityPolicyFeatures",
      status: "experimental",
    },
    {
      name: "ExperimentalHardwareEchoCancellation",
      origin_trial_feature_name: "ExperimentalHardwareEchoCancellation2",
      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 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: "FastFlatTreeTraversal",
    },
    {
      name: "FastMobileScrolling",
      status: {"Android": "stable"},
    },
    {
      name: "FeaturePolicyForSandbox",
      status: "experimental",
    },
    {
      name: "FeaturePolicyJavaScriptInterface",
      status: "stable"
    },
    {
      name: "FeaturePolicyReporting",
      implied_by: ["ExperimentalProductivityFeatures"],
      origin_trial_feature_name: "FeaturePolicyReporting",
      status: "experimental"
    },
    {
      name: "FeaturePolicyVibrateFeature"
    },
    {
      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",
    },
    {
      name: "FocuslessSpatialNavigation",
      settable_from_internals: true,
    },
    {
      name: "FontCacheScaling",
      status: "test",
    },
    {
      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: "test",
    },
    {
      name: "ForceOverlayFullscreenVideo",
    },
    {
      name: "ForceSynchronousHTMLParsing",
    },
    {
      name: "ForceTallerSelectPopup",
      status: {"ChromeOS": "stable"},
    },
    {
      name: "FormAssociatedCustomElements",
      status: "experimental",
    },
    {
      name: "FormDataEvent",
      status: "experimental",
    },
    {
      name: "FractionalMouseEvent",
    },
    {
      name: "FractionalScrollOffsets",
    },
    {
      name: "FramebustingNeedsSameOriginOrUserGesture",
      settable_from_internals: true,
      status: "stable",
    },
    {
      name: "FramesTimingFunction",
      status: "experimental",
    },
    {
      name: "GamepadButtonAxisEvents",
      status: "experimental",
    },
    {
      name: "GetDisplayMedia",
      status: "stable",
    },
    {
      name: "HeapCollectLiveNonNodeWrappers",
    },
    {
      name: "HeapCompaction",
      status: "stable",
    },
    {
      name: "HeapIncrementalMarking",
      status: "stable",
    },
    {
      name: "HeapIncrementalMarkingStress"
    },
    {
      name: "HeapUnifiedGarbageCollection",
      status: "stable",
    },
    {
      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: "IDBTransactionCommit",
      status: "experimental",
    },
    {
      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",
    },
    {
      name: "IsolatedCodeCache",
      status: "experimental",
    },
    {
      // If enabled, CSP checks use the isolated world CSP when in an isolated
      // world. See crbug.com/896041.
      name: "IsolatedWorldCSP"
    },
    {
      // Tracks "jank" from layout objects changing their visual location
      // between animation frames (see crbug.com/581518).
      name: "JankTracking",
      implied_by: ["LayoutJankAPI", "JankTrackingSweepLine"],
      origin_trial_feature_name: "LayoutJankAPI",
      status: "stable",
    },
    {
      // Modifies JankTracking to use O(n log n) sweep line algorithm for
      // computing the area of the jank region.
      name: "JankTrackingSweepLine",
      status: "experimental",
    },
    {
      name: "KeyboardFocusableScrollers",
      status: "experimental",
    },
    {
      name: "LangAttributeAwareFormControlUI",
    },
    {
      name: "LangClientHintHeader",
      status: "experimental",
    },
    {
      // Exposes layout jank fractions to Javascript. See explainer:
      // http://bit.ly/lsm-explainer.
      name: "LayoutJankAPI",
      origin_trial_feature_name: "LayoutJankAPI",
      status: "experimental",
    },
    {
      name: "LayoutNG",
      implied_by: ["LayoutNGBlockFragmentation", "LayoutNGFieldset", "LayoutNGFlexBox", "EditingNG", "BidiCaretAffinity"],
    },
    {
      name: "LayoutNGBlockFragmentation",
    },
    {
      name: "LayoutNGFieldset",
    },
    {
      name: "LayoutNGFlexBox",
    },
    {
      name: "LayoutNGFragmentCaching",
      implied_by: ["LayoutNG"],
    },
    {
      name: "LazyFrameLoading",
    },
    {
      name: "LazyFrameVisibleLoadTimeMetrics",
    },
    {
      name: "LazyImageLoading",
    },
    {
      name: "LazyImageVisibleLoadTimeMetrics",
    },
    {
      name: "LazyInitializeMediaControls",
      // This is enabled by features::kLazyInitializeMediaControls.
    },
    {
      name: "LegacyPerformanceMemoryCounters",
      origin_trial_feature_name: "LegacyPerformanceMemoryCounters",
    },
    {
      name: "LongTaskV2",
    },
    {
      name: "LowLatencyCanvas",
      origin_trial_feature_name: "LowLatencyCanvas",
      status: "experimental",
    },
    {
      name:"ManualSlotting",
      status:"experimental",
    },
    {
      name: "MediaCapabilitiesEncodingInfo",
      status: "experimental",
    },
    {
      name: "MediaCapabilitiesEncryptedMedia",
      status: "experimental",
    },
    {
      name: "MediaCapture",
      status: {"Android": "stable"},
    },
    {
      name: "MediaCaptureDepth",
      status: "experimental",
    },
    {
      name: "MediaCaptureDepthVideoKind",
      status: "experimental",
    },
    // Set to reflect the MediaCastOverlayButton feature.
    {
      name: "MediaCastOverlayButton",
    },
    {
      name: "MediaControlsExpandGesture"
    },
    {
      name: "MediaControlsOverlayPlayButton",
      settable_from_internals: true,
      status: {"Android": "stable"},
    },
    {
      name: "MediaDocumentDownloadButton",
    },
    // Set to reflect the kMediaEngagementBypassAutoplayPolicies feature.
    {
      name: "MediaEngagementBypassAutoplayPolicies",
    },
    {
      name: "MediaQueryPrefersColorScheme",
    },
    {
      name: "MediaQueryShape",
      status: "experimental",
    },
    {
      name: "MediaSession",
      status: "stable",
    },
    {
      name: "MediaSourceExperimental",
      status: "experimental",
    },
    {
      name: "MediaSourceNewAbortAndDuration",
      status: "experimental",
    },
    {
      name: "MediaStreamTrackContentHint",
      status: "stable",
    },
    {
      name: "MergeBlockingNonBlockingPools",
    },
    // 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: "ModernMediaControls",
    },
    {
      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",
    },
    {
      name: "MovementXYInBlink",
    },
    {
      name: "MuteButton",
      depends_on: ["PictureInPictureAPI"],
      origin_trial_feature_name: "MuteButton",
      status: "experimental",
    },
    {
      name: "NativeStreams",
    },
    {
      name: "NavigatorContentUtils",
      // Android does not yet support NavigatorContentUtils.
      status: {"Android": "", "default": "stable"},
    },
    {
      name: "NavigatorDeviceMemory",
      status: "stable",
    },
    {
      name: "NetInfoDownlinkMax",
      // Only Android, ChromeOS support NetInfo downlinkMax, type and ontypechange now
      status: {"Android": "stable", "ChromeOS": "stable"},
    },
    {
      name: "NetworkService",
    },
    // Not a web exposed feature, enabled from the command line.
    {
      name: "NewRemotePlaybackPipeline",
    },
    {
      name: "NoHoverAfterLayoutChange",
      settable_from_internals: true,
    },
    {
      name: "NoHoverDuringScroll",
      settable_from_internals: true,
    },
    {
      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",
      status: "experimental",
    },
    {
      name: "OffMainThreadCSSPaint",
    },
    {
      name: "OffscreenCanvas",
      status: "stable",
    },
    {
      name: "OffscreenCanvasCommit",
      status: "experimental",
    },
    {
      name: "OffscreenCanvasText",
      status: "stable",
    },
    {
      name: "OnDeviceChange",
      // Android does not yet support SystemMonitor.
      status: {"Android": "", "default": "stable"},
    },
    {
      name: "OrientationEvent",
      status: {"Android": "stable"},
    },
    {
      name: "OriginTrials",
      status: "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",
    },
    // 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: "OutOfBlinkCors",
    },
    {
      name: "OverflowIconsForMediaControls",
    },
    {
      name: "OverlayScrollbars",
      settable_from_internals: true,
    },
    {
      name: "OverscrollCustomization",
      settable_from_internals: true,
      status: "experimental",
    },
    // This feature refers to the API that delivers notifications to pages on
    // lifecycle state changes.
    {
      name: "PageLifecycle",
      status: "stable",
    },
    // The following are developer opt-outs and opt-ins for PageLifecycle state
    // transitions. If neither is specified then heuristics will be applied to
    // determine whether the page is eligible.
    {
      name: "PageLifecycleTransitionsOptIn",
      origin_trial_feature_name: "PageLifecycleTransitionsOptIn",
      status: "experimental",
    },
    {
      name: "PageLifecycleTransitionsOptOut",
      origin_trial_feature_name: "PageLifecycleTransitionsOptOut",
      status: "experimental",
    },
    {
      name: "PagePopup",
      // Android does not have support for PagePopup
      status: {"Android": "", "default": "stable"},
    },
    {
      name: "PaintUnderInvalidationChecking",
      settable_from_internals: true,
    },
    {
      name: "PassiveDocumentEventListeners",
      status: "stable",
    },
    {
      name: "PassiveDocumentWheelEventListeners",
      status: "stable",
    },
    {
      name: "PassPaintVisualRectToCompositor",
    },
    {
      name: "PaymentApp",
      status: "experimental",
    },
    {
      name: "PaymentMethodChangeEvent",
      status: "experimental",
    },
    // PaymentRequest is enabled by default on Android
    {
      name: "PaymentRequest",
      status: "experimental",
    },
    {
      name: "PaymentRequestHasEnrolledInstrument",
      status: "stable",
    },
    {
      name: "PaymentRequestMerchantValidationEvent",
      status: "experimental",
    },
    {
      name: "PaymentRetry",
      status: "experimental",
    },
    {
      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: "experimental",
    },
    {
      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: "PointerRawMove",
      status: "experimental",
    },
    {
      name: "Portals",
      status: "test",
    },
    {
      name: "PreciseMemoryInfo",
    },
    {
      name: "PredictedEvents",
      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: "PrintBrowser",
    },
    {
      name: "PriorityHints",
      origin_trial_feature_name: "PriorityHints",
      status: "experimental",
    },
    {
      name: "PushMessaging",
      status: "stable",
    },
    {
      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: "RenderingPipelineThrottling",
      status: "stable",
    },
    {
      name: "ResourceLoadScheduler",
      status: "experimental",
    },
    {
      name: "RestrictAppCacheToSecureContexts",
      status: "stable",
    },
    {
      // Controlled through the base::Feature with the same name.
      name: "RestrictDeviceSensorEventsToSecureContexts",
    },
    {
      name: "RestrictLazyFrameLoadingToDataSaver",
    },
    {
      name: "RestrictLazyImageLoadingToDataSaver",
    },
    {
      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: "experimental",
    },
    // Enables the use of the RTCIceTransport with extensions.
    {
      name: "RTCIceTransportExtension",
      origin_trial_feature_name: "RTCQuicTransport",
      status: "experimental",
    },
    // Enables the use of the RTCQuicTransport object.
    {
      name: "RTCQuicTransport",
      origin_trial_feature_name: "RTCQuicTransport",
      status: "experimental",
    },
    {
      name: "RTCRtpSenderParameters",
      status: "stable",
    },
    {
      name: "RTCStatsRelativePacketArrivalDelay",
      origin_trial_feature_name: "RTCStatsRelativePacketArrivalDelay",
      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",
    },
    // 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",
    },
    // Implements documentElement.scrollTop/Left and bodyElement.scrollTop/Left
    // as per the spec, matching other Web engines.
    {
      name: "ScrollTopLeftInterop",
      status: "stable",
    },
    {
      name: "SecMetadata",
      status: "experimental"
    },
    {
      name: "SendBeaconThrowForBlobWithNonSimpleType",
      status: "stable",
    },
    {
      name: "SendMouseEventsDisabledFormControls",
      status: "experimental",
    },
    {
      name: "Sensor",
      status: "stable",
    },
    {
      name: "SensorExtraClasses",
      depends_on: ["Sensor"],
      status: "experimental",
    },
    {
      name: "Serial",
      status: {"Android": "", "default": "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: "SkipAd",
      depends_on: ["MediaSession"],
      origin_trial_feature_name: "SkipAd",
      status: "experimental",
    },
    {
      name: "SmoothScrollJSIntervention",
      status: "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",
    },
    {
      name: "StackedCSSPropertyAnimations",
      status: "experimental",
    },
    {
      name: "StaleWhileRevalidate",
      origin_trial_feature_name: "StaleWhileRevalidate",
      status: "stable",
    },
    {
      name: "StorageQuotaDetails",
      status: "experimental",
    },
    {
      name: "StreamsNative",
    },
    {
      name: "TextFragmentIdentifiers",
      status: "experimental",
    },
    {
      name: "TextUnderlinePositionLeftRight",
      status: "stable",
    },
    {
      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: "UserActivationAPI",
      status: "stable",
    },
    {
      name: "UserActivationPostMessageTransfer",
    },
    {
      name: "UserActivationSameOriginVisibility",
    },
    {
      name: "UserActivationV2",
    },
    {
      name: "UserAgentClientHint",
      status: "experimental"
    },
    {
      name: "V8IdleTasks",
    },
    {
      name: "VideoFullscreenDetection",
    },
    {
      name: "VideoFullscreenOrientationLock",
    },
    {
      name: "VideoRotateToFullscreen",
    },
    {
      name: "VisibilityCollapseColumn",
    },
    {
      name: "WakeLock",
      status: "experimental",
    },
    {
      name: "WakeLockNavigator",
      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",
    },
    // 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: "WebNFC",
      status: "experimental",
    },
    // WebShare is enabled by default on Android.
    {
      name: "WebShare",
      status: "experimental",
    },
    {
      name: "WebShareV2",
      status: "experimental",
      depends_on: ["WebShare"],
    },
    {
      name: "WebUSB",
      status: "stable",
    },
    {
      name: "WebUSBOnDedicatedWorkers",
      status: "stable",
      depends_on: ["WebUSB"],
    },
    {
      name: "WebVR",
      origin_trial_feature_name: "WebVR1.1M62",
      status: "experimental",
    },
    // Extensions to the Gamepad API for WebVR. Formerly GamepadExtensions.
    // Although not separately controllable, it is still a separate feature
    // for clarity in the IDL.
    // TODO(https://crbug.com/920025): Consider merging with "WebVR".
    {
      name: "WebVRGamepadSupport",
      implied_by: ["WebVR"],
      status: "experimental",
    },
    {
      name: "WebVTTRegions",
      status: "experimental",
    },
    {
      name: "WebXR",
      origin_trial_feature_name: "WebXRDeviceM73",
      status: "experimental",
    },
    // Subset of the Gamepad extensions used for early WebXR implementations
    // that exposed VR controller functionality as Gamepads.
    // TODO(https://crbug.com/920025): Remove this.
    {
      name: "WebXRGamepadSupport",
      origin_trial_feature_name: "WebXRGamepadSupport",
      // This feature is a strict subset of the WebVR Gamepad extensions.
      implied_by: ["WebVRGamepadSupport"],
      status: "experimental",
    },
    {
      name: "WebXRHitTest",
      status: "experimental"
    },
    {
      name: "WorkerNosniffBlock",
      status: "stable",
    },
    {
      name: "WorkerNosniffWarn",
      status: "stable",
      implied_by: ["WorkerNosniffBlock"],
    },
    {
      name: "WorkerTaskQueue",
      status: "experimental"
    },
    {
      name: "WritableFiles",
      status: "experimental",
    },
    {
      name: "XSLT",
      status: "stable",
    },
  ],
}
