{
  // 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":
    // * 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.
    //
    // "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"],
    },

    // "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",
    },
    {
      name: "AllowActivationDelegationAttr",
    },
    {
      name: "AllowContentInitiatedDataUrlNavigations",
      status: "stable",
    },
    {
      name: "AnimationWorklet",
      origin_trial_feature_name: "AnimationWorklet",
      status: "experimental",
    },
    {
      name: "AsyncClipboard",
      status: "experimental",
    },
    {
      name: "AudioOutputDevices",
      status: "stable",
    },
    {
      name: "AudioVideoTracks",
      status: "experimental",
    },
    {
      name: "AutomationControlled",
      settable_from_internals: true,
    },
    {
      // Flag set by the media::kAutoplayIgnoreWebAudio feature flag.
      name: "AutoplayIgnoresWebAudio",
      settable_from_internals: true,
    },
    {
      name: "BackgroundFetch",
      origin_trial_feature_name: "BackgroundFetch",
      status: "experimental",
    },
    {
      name: "BackgroundFetchUploads",
      status: "experimental",
    },
    {
      name: "BackgroundVideoTrackOptimization",
      status: "stable",
    },
    {
      name: "Badging",
      origin_trial_feature_name: "Badging",
      status: "experimental",
    },
    {
      name: "BidiCaretAffinity",
    },
    {
      name: "BlinkGenPropertyTrees",
      status: "experimental",
    },
    {
      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: "BlockingDownloadsInSandbox",
    },
    {
      name: "BlockMetaSetCookie",
      status: "stable"
    },
    {
      name: "CacheInlineScriptCode"
    },
    {
      name: "CacheStorageAddAllRejectsDuplicates",
      status: "stable",
    },
    {
      name: "CacheStyleSheetWithMediaQueries",
      status: "experimental",
    },
    {
      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",
    },
    {
      name: "CompositorTouchAction",
      status: "test",
    },
    {
      name: "ComputedAccessibilityInfo",
      status: "experimental",
    },
    {
      name: "ConstructableStylesheets",
      status: "experimental",
    },
    {
      name: "ContactsManager",
      status: "experimental",
    },
    {
      name: "ContextMenu",
      status: "experimental",
    },
    {
      name: "CookieStore",
      origin_trial_feature_name: "CookieStore",
      status: "experimental",
    },
    {
      name: "CorsRFC1918",
    },
    {
      name: "CSS3Text",
      status: "experimental",
    },
    {
      name: "CSSAdditiveAnimations",
      depends_on: ["StackedCSSPropertyAnimations"],
      status: "experimental",
    },
    {
      name: "CSSBackdropFilter",
      status: "experimental",
    },
    {
      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: "CSSInBodyDoesNotBlockPaint",
      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: "experimental",
    },
    {
      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",
      status: "test",
    },
    {
      name: "EncryptedMediaEncryptionSchemeQuery",
      status: "test",
    },
    {
      name: "EncryptedMediaHdcpPolicyCheck",
      origin_trial_feature_name: "EncryptedMediaHdcpPolicyCheck",
      status: "experimental",
    },
    {
      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 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"
    },
    {
      // Enables the attribute performance.shouldYield in windows. This
      // attribute indicates that the frame should pause its current task so
      // that the browser can perform some high priority work. See
      // https://crbug.com/836310.
      name: "ExperimentalShouldYield",
      status: "experimental"
    },
    {
      name: "ExperimentalV8Extras",
      status: "experimental",
    },
    {
      name: "ExtendedTextMetrics",
      status: "experimental",
    },
    {
      name: "ExtraWebGLVideoTextureMetadata",
    },
    {
      name: "FastFlatTreeTraversal",
    },
    {
      name: "FastMobileScrolling",
    },
    {
      name: "FeaturePolicyJavaScriptInterface",
      implied_by: ["ExperimentalProductivityFeatures"],
      origin_trial_feature_name: "FeaturePolicyJSAPI",
      status: "experimental"
    },
    {
      name: "FeaturePolicyReporting",
      implied_by: ["ExperimentalProductivityFeatures"],
      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: "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: "ForceTallerSelectPopup",
    },
    {
      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: "FullscreenOptions",
      status: "stable",
    },
    {
      name: "FullscreenUnprefixed",
      settable_from_internals: true,
      status: "stable",
    },
    {
      name: "GamepadButtonAxisEvents",
      status: "experimental",
    },
    {
      name: "GamepadExtensions",
      origin_trial_feature_name: "WebVR1.1M62",
      status: "experimental",
    },
    {
      name: "GamepadVibration",
      status: "experimental",
    },
    {
      name: "GetDisplayMedia",
      status: "stable",
    },
    {
      name: "HeapCompaction",
      status: "stable",
    },
    {
      name: "HeapIncrementalMarking",
      status: "stable",
    },
    {
      name: "HeapIncrementalMarkingStress"
    },
    {
      name: "HeapUnifiedGarbageCollection",
    },
    {
      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",
    },
    // https://crbug.com/523952 for testing disabling the feature.
    {
      name: "HTMLImportsStyleApplication",
      status: "stable",
    },
    {
      name: "IDBObserver",
      status: "experimental",
    },
    {
      name: "IDBTransactionCommit",
      status: "experimental",
    },
    {
      name: "IgnoreCrossOriginWindowWhenNamedAccessOnWindow",
      status: "experimental",
    },
    {
      name: "ImageOrientation",
      status: "test",
    },
    {
      name: "ImplicitRootScroller",
      status: "experimental",
      settable_from_internals: true,
    },
    {
      name: "InertAttribute",
      status: "experimental",
    },
    {
      name: "InputMultipleFieldsUI",
      status: "stable",
    },
    {
      name: "InstalledApp",
      origin_trial_feature_name: "InstalledApp",
      status: "experimental",
    },
    {
      name: "IntersectionObserverV2",
    },
    {
      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"],
      status: "experimental",
    },
    {
      // Modifies JankTracking to use O(n log n) sweep line algorithm for
      // computing the area of the jank region.
      name: "JankTrackingSweepLine",
    },
    {
      name: "KeyboardFocusableScrollers",
      status: "experimental",
    },
    {
      name: "LangAttributeAwareFormControlUI",
    },
    {
      name: "LayeredAPI",
      implied_by: ["ExperimentalProductivityFeatures"],
    },
    {
      // Exposes layout jank fractions to Javascript. See explainer:
      // http://bit.ly/lsm-explainer.
      name: "LayoutJankAPI",
      status: "test",
    },
    {
      name: "LayoutNG",
      implied_by: ["LayoutNGBlockFragmentation", "LayoutNGFieldset", "LayoutNGFlexBox", "EditingNG"],
    },
    {
      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: "LongTaskV2",
    },
    {
      name: "LowLatencyCanvas",
      origin_trial_feature_name: "LowLatencyCanvas",
      status: "experimental",
    },
    {
      name:"ManualSlotting",
      status:"experimental",
    },
    {
      name: "MediaCapabilitiesEncodingInfo",
      status: "experimental",
    },
    {
      name: "MediaCapabilitiesEncryptedMedia",
      status: "experimental",
    },
    {
      name: "MediaCapture",
    },
    {
      name: "MediaCaptureDepth",
      status: "experimental",
    },
    {
      name: "MediaCaptureDepthVideoKind",
      status: "experimental",
    },
    // Set to reflect the MediaCastOverlayButton feature.
    {
      name: "MediaCastOverlayButton",
    },
    {
      name: "MediaControlsExpandGesture"
    },
    {
      name: "MediaControlsOverlayPlayButton",
      settable_from_internals: true,
    },
    {
      name: "MediaDocumentDownloadButton",
    },
    // Set to reflect the kMediaEngagementBypassAutoplayPolicies feature.
    {
      name: "MediaEngagementBypassAutoplayPolicies",
    },
    {
      name: "MediaQueryShape",
      status: "experimental",
    },
    // MediaSession is enabled by default on Android only.
    // TODO(rbyers): Add parameter to specify platform.
    {
      name: "MediaSession",
      status: "test",
    },
    {
      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",
    },
    {
      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: "NavigatorContentUtils",
    },
    {
      name: "NavigatorDeviceMemory",
      status: "stable",
    },
    {
      name: "NetInfoDownlinkMax",
      status: "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",
      status: "stable",
    },
    // NotificationContentImage is not available in all platforms
    {
      name: "NotificationContentImage",
      status: "test",
    },
    {
      name: "Notifications",
      status: "stable",
    },
    {
      name: "NullableDocumentDomain",
      status: "experimental",
    },
    {
      name: "OffMainThreadCSSPaint",
    },
    {
      name: "OffMainThreadWorkerScriptFetch",
    },
    {
      name: "OffscreenCanvas",
      status: "stable",
    },
    {
      name: "OffscreenCanvasCommit",
      status: "experimental",
    },
    {
      name: "OffscreenCanvasText",
      status: "stable",
    },
    {
      name: "OnDeviceChange",
      status: "stable",
    },
    {
      name: "OrientationEvent",
    },
    {
      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"],
    },
    {
      name: "OutOfBlinkCors",
    },
    {
      name: "OverflowIconsForMediaControls",
    },
    {
      name: "OverlayScrollbars",
      settable_from_internals: true,
    },
    {
      name: "OverscrollCustomization",
      settable_from_internals: true,
    },
    // 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",
      status: "stable",
    },
    // Compute touch action rects in paint instead of ScrollingCoordinator.
    {
      name: "PaintTouchActionRects",
      status: "stable",
    },
    {
      name: "PaintUnderInvalidationChecking",
      settable_from_internals: true,
    },
    {
      name: "PassiveDocumentEventListeners",
      status: "stable",
    },
    {
      name: "PassiveDocumentWheelEventListeners",
    },
    {
      name: "PassPaintVisualRectToCompositor",
    },
    {
      name: "PaymentApp",
      status: "experimental",
    },
    {
      name: "PaymentMethodChangeEvent",
      status: "experimental",
    },
    // PaymentRequest is enabled by default on Android
    {
      name: "PaymentRequest",
      status: "experimental",
    },
    {
      name: "PaymentRequestHasEnrolledInstrument",
    },
    {
      name: "PaymentRetry",
      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: "stable",
    },
    {
      name: "PictureInPictureControl",
      status: "experimental",
    },
    {
      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: "PreloadImageSrcSet",
      status: "experimental",
    },
    {
      name: "Presentation",
      status: "stable",
    },
    {
      name: "PrintBrowser",
    },
    {
      name: "PriorityHints",
      status: "experimental",
    },
    {
      name: "PushMessaging",
      status: "stable",
    },
    {
      name: "RasterInducingScroll",
      status: "experimental",
    },
    {
      name: "ReducedReferrerGranularity",
    },
    {
      name: "RemotePlayback",
      status: "stable",
    },
    // Whether or not the Remote Playback API backend is implemented.
    // Not web-exposed, set per platform. For LayoutTests, disabled by
    // default.
    {
      name: "RemotePlaybackBackend",
      settable_from_internals: true,
    },
    {
      name: "RenderingPipelineThrottling",
      status: "stable",
    },
    {
      name: "ResourceLoadScheduler",
      status: "experimental",
    },
    {
      name: "RestrictAppCacheToSecureContexts",
      status: "stable",
    },
    {
      name: "RestrictLazyFrameLoadingToDataSaver",
    },
    {
      name: "RestrictLazyImageLoadingToDataSaver",
    },
    {
      name: "RtcAudioJitterBufferMaxPackets",
      origin_trial_feature_name: "RtcAudioJitterBufferMaxPackets",
      status: "experimental",
    },
    // Enables the use of the RTCDtlsTransport object.
    {
      name: "RTCDtlsTransport",
      status: "test",
    },
    // Enables the use of the RTCIceTransport with extensions.
    {
      name: "RTCIceTransportExtension",
      status: "test",
    },
    {
      name: "RtcPeerConnectionId",
      origin_trial_feature_name: "RtcPeerConnectionId",
      status: "experimental",
    },
    // Enables the use of the RTCQuicTransport object.
    {
      name: "RTCQuicTransport",
      status: "test",
    },
    {
      name: "RTCRtpSenderParameters",
      status: "stable",
    },
    // 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: "ScheduledScriptStreaming",
    },
    // 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: "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",
      origin_trial_feature_name: "ShapeDetection",
      status: "experimental",
    },
    {
      name: "SharedArrayBuffer",
      status: "stable",
    },
    {
      name: "SharedWorker",
      status: "stable",
    },
    {
      name: "SignatureBasedIntegrity",
      origin_trial_feature_name: "SignatureBasedIntegrity",
      status: "experimental",
    },
    {
      name: "SignedHTTPExchange",
    },
    {
      name: "SmoothScrollJSIntervention",
      status: "stable",
    },
    // When this is enabled (and Spatial Navigation is enabled), overrides of box shadow and outline
    // on focused elements will be ignored.
    {
      name: "SpatialNavigationForcesOutline",
    },
    // 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: "experimental",
    },
    {
      name: "StorageQuotaDetails",
      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",
      status: "experimental",
    },
    {
      name: "TrustedEventsDefaultAction",
      status: "stable",
    },
    {
      name: "UnclosedFormControlIsInvalid",
      status: "experimental",
    },
    {
      name: "UnifiedTouchAdjustment",
      status: "stable",
    },
    {
      name: "UserActivationAPI",
      status: "stable",
    },
    {
      name: "UserActivationV2",
    },
    {
      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",
    },
    {
      name: "WebAuthGetTransports",
      status: "experimental",
    },
    // WebBluetooth is enabled by default on Android, ChromeOS and Mac.
    {
      name: "WebBluetooth",
      status: "experimental",
    },
    {
      name: "WebBluetoothScanning",
      status: "test",
    },
    {
      name: "WebFontsCacheAwareTimeoutAdaptation",
      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 marked as "test" and not enabled as part of the
    // --enable-experimental-web-platform-features flag.
    {
      name: "WebGPU",
      status: "test",
    },
    {
      name: "WebNFC",
      status: "experimental",
    },
    // WebShare is enabled by default on Android.
    {
      name: "WebShare",
      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: "WebXRDeviceM69",
      status: "experimental",
    },
    // Subset of the GamepadExtensions wanted for WebXR, which expose VR controller
    // functionality as Gamepads.
    {
      name: "WebXRGamepadSupport",
      origin_trial_feature_name: "WebXRGamepadSupport",
      // This feature is a strict subset of GamepadExtensions.
      implied_by: ["GamepadExtensions"],
      status: "experimental",
    },
    {
      name: "WebXRHitTest",
      status: "experimental"
    },
    {
      name: "WorkerNosniffBlock",
      status: "stable",
    },
    {
      name: "WorkerNosniffWarn",
      status: "stable",
      implied_by: ["WorkerNosniffBlock"],
    },
    {
      name: "WorkerTaskQueue",
      status: "experimental"
    },
    {
      name: "WorkStealingInScriptRunner",
      status: "experimental",
    },
    {
      name: "WritableFiles",
      status: "experimental",
    },
    {
      name: "XSLT",
      status: "stable",
    },
  ],
}
