Chrome features

Enable with --enable-features, disable with --disable-features:

Name Description Enabled by default
AudioServiceLaunchOnStartup
Launches the audio service on the browser startup.
AudioServiceOutOfProcess
Runs the audio service in a separate process.
AudioServiceSandbox
Enables the audio-service sandbox. This feature has an effect only when the
kAudioServiceOutOfProcess feature is enabled.
BackgroundFetch
Kill switch for Background Fetch.
BackForwardCache
Enable using the BackForwardCache.
BackForwardCacheMediaSessionService
Allows pages that created a MediaSession service to stay eligible for the
back/forward cache.
BackForwardCacheEntryTimeout
Set a time limit for the page to enter the cache. Disabling this prevents
flakes during testing.
BackForwardCacheMemoryControls
BackForwardCacheMemoryControls is enabled only on Android to disable
BackForwardCache for lower memory devices due to memory limiations.
BlockCrossOriginInitiatedAboutSrcdocNavigations
When enabled, attempts to navigate an iframe by an initiator that isn't
same-origin to the iframe's parent are blocked. Exceptions are: (i) same-
document navigations when the frame is already about:srcdoc, and (ii) when
an about:srcdoc frame reloads itself.
This feature is enabled by default, and is intended to be used as a
kill-switch if the new behaviour causes problems.
TODO(https://crbug.com/328279696): remove this when the blocking feature is
fully launched.
BlockInsecurePrivateNetworkRequests
When this feature is enabled, private network requests initiated from
non-secure contexts in the public address space  are blocked.

See also:
- https://wicg.github.io/private-network-access/#integration-fetch
- kBlockInsecurePrivateNetworkRequestsFromPrivate
- kBlockInsecurePrivateNetworkRequestsFromUnknown
BlockInsecurePrivateNetworkRequestsFromPrivate
When this feature is enabled, requests to localhost initiated from non-secure
contexts in the private IP address space are blocked.

See also:
- https://wicg.github.io/private-network-access/#integration-fetch
- kBlockInsecurePrivateNetworkRequests
BlockInsecurePrivateNetworkRequestsDeprecationTrial
Enables use of the PrivateNetworkAccessNonSecureContextsAllowed deprecation
trial. This is a necessary yet insufficient condition: documents that wish to
make use of the trial must additionally serve a valid origin trial token.
BrokerFileOperationsOnDiskCacheInNetworkService
Broker file operations on disk cache in the Network Service.
This is no-op if the network service is hosted in the browser process.
BrowserVerifiedUserActivationMouse
When enabled, mouse user activation will be verified by the browser side.
CacheControlNoStoreEnterBackForwardCache
Allows pages with cache-control:no-store to enter the back/forward cache.
Feature params can specify whether pages with cache-control:no-store can be
restored if cookies change / if HTTPOnly cookies change.
TODO(crbug.com/40189625): Enable this feature.
CapturedSurfaceControlKillswitch
This killswitch is distinct from the OT.
It allows us to remotely disable the feature, and get it to stop working even
on sites that are in possession of a valid token. When that happens, all API
calls gated by the killswitch will fail graceully.
CapturedSurfaceControlStickyPermissions
If enabled, CSC permissions are sticky - as all other permissions.
If disabled, CSC permissions are scoped to the capture session's duration.
CdmStorageDatabase
This serves as an overall kill switch to kill CdmStorageDatabase. If
disabled, which it is by default, no operations will be routed through the
CdmStorage path, even in the migration code that lives in MediaLicense code
path.
CdmStorageDatabaseMigration
This guards between using the MediaLicense code path and the CdmStorage
code path for storing Cdm data. This will be enabled by default as we do not
want the CdmStorageDatabase to be used solely, and instead when we conduct
our experiments, we will enable kCdmStorageDatabase to flow the migration.
Later when the migration is finished, we will remove this flag so that
kCdmStorageDatabase serves as the only flag. Refer to
go/cdm-storage-migration-details for more details.
ClearCrossSiteCrossBrowsingContextGroupWindowName
Clear the window.name property for the top-level cross-site navigations that
swap BrowsingContextGroups(BrowsingInstances).
CompositeBGColorAnimation
CookieDeprecationFacilitatedTesting
Gate access to cookie deprecation API which allows developers to opt in
server side testing without cookies.
(See https://developer.chrome.com/en/docs/privacy-sandbox/chrome-testing)
CooperativeScheduling
Enables Blink cooperative scheduling.
CrashReporting
Enables crash reporting via Reporting API.
https://www.w3.org/TR/reporting/#crash-report
DigitalGoodsApi
Controls whether the Digital Goods API is enabled.
https://github.com/WICG/digital-goods/
DIPS
Enables the DIPS (Detect Incidental Party State) feature.
On by default to allow for collecting metrics. All potentially dangerous
behavior (database persistence, DIPS deletion) will be gated by params.
DIPSPreservePSData
Whether DIPS deletes Privacy Sandbox data.
webrtc-hw-decoding
Enables HW decode acceleration for WebRTC.
webrtc-hw-encoding
Enables HW encode acceleration for WebRTC.
DisconnectExtensionMessagePortWhenPageEntersBFCache
Enables disconnecting the ExtensionMessagePort when the page using the port
enters BFCache.
DrawCutoutEdgeToEdge
Enable drawing under System Bars within DisplayCutout.
EarlyDocumentSwapForBackForwardTransitions
Enable early swapping of RenderFrameHosts during some back/forward
navigations. This is an experimental feature intended to support new kinds of
navigation transitions. See https://crbug.com/1480129.
EarlyEstablishGpuChannel
Enable establishing the GPU channel early in renderer startup.
EnableCanvas2DLayers
Enables canvas 2d methods BeginLayer and EndLayer.
EnableMachineLearningModelLoaderWebPlatformApi
Enables the Machine Learning Model Loader Web Platform API. Explainer:
https://github.com/webmachinelearning/model-loader/blob/main/explainer.md
EnableServiceWorkersForChromeUntrusted
Enables service workers on chrome-untrusted:// urls.
EnableServiceWorkersForChromeScheme
Enables service workers on chrome:// urls.
FedCm
Enables JavaScript API to intermediate federated identity requests.
Note that actual exposure of the FedCM API to web content is controlled
by the flag in RuntimeEnabledFeatures on the blink side. See also
the use of kSetOnlyIfOverridden in content/child/runtime_features.cc.
We enable it here by default to support use in origin trials.
FedCmUseOtherAccount
Enables the "Use a different account" button in the FedCM account chooser to
log in to another IDP account, if the IDP opts in.
FedCmAuthz
Enables usage of the FedCM Authz API.
FedCmButtonMode
Enables usage of the FedCM ButtonMode feature.
Note that actual exposure of the API to web content is controlled by
the flag in RuntimeEnabledFeatures on the blink side. See also the use
of kSetOnlyIfOverridden in content/child/runtime_features.cc. We enable
it here by default to support use in origin trials.
FedCmIdPregistration
Enables usage of the FedCM IdP Registration API.
FedCmIdpSigninStatusEnabled
Enables the IDP signin status API for use with FedCM, including avoiding
network requests when not signed in and mismatch handling.
When turned off, Login-Status headers are still parsed and processed
and FedCM mismatch metrics are collected.
FedCmMetricsEndpoint
Enables usage of the FedCM API with metrics endpoint at the same time.
FedCmMultipleIdentityProviders
Enables usage of the FedCM API with multiple identity providers at the same
time.
FedCmSelectiveDisclosure
Enables usage of the FedCM API with the Selective Disclosure API at the same
time.
FedCmWithStorageAccessAPI
FedCmWithoutWellKnownEnforcement
Enables bypassing the well-known file enforcement.
FencedFramesEnforceFocus
Enables browser-side focus verification when crossing fenced boundaries.
WebIdentityDigitalCredentials
Enables the Digital Credential API.
FractionalScrollOffsets
Enables scrollers inside Blink to store scroll offsets in fractional
floating-point numbers rather than truncating to integers.
NetworkQualityEstimatorWebHoldback
Puts network quality estimate related Web APIs in the holdback mode. When the
holdback is enabled the related Web APIs return network quality estimate
set by the experiment (regardless of the actual quality).
GreaseUACH
Determines if an extra brand version pair containing possibly escaped double
quotes and escaped backslashed should be added to the Sec-CH-UA header
(activated by kUserAgentClientHint)
IndexedDBShardBackingStores
Guard for work on https://crbug.com/40279485
InstalledApp
Kill switch for the GetInstalledRelatedApps API.
InstalledAppProvider
Allow Windows specific implementation for the GetInstalledRelatedApps API.
IsolatedWebApps
Enable support for isolated web apps. This will guard features like serving
isolated web apps via the isolated-app:// scheme, and other advanced isolated
app functionality. See https://github.com/reillyeon/isolated-web-apps for a
general overview.
This also enables support for Controlled Frame, providing the Controlled
Frame tag to IWA apps assuming that Controlled Frame isn't otherwise
disabled via the kControlledFrame feature. See
https://github.com/WICG/controlled-frame/blob/main/README.md for more info.
Please don't use this feature flag directly to guard the IWA code.  Use
IsolatedWebAppsPolicy::AreIsolatedWebAppsEnabled() in the browser process or
check kEnableIsolatedWebAppsInRenderer command line flag in the renderer
process.
AutomaticFullscreenContentSetting
Enables a new Automatic Fullscreen content setting that lets allowlisted
origins use the HTML Fullscreen API without transient activation.
IsolateFencedFrames
Enables process isolation of fenced content (content inside fenced frames)
from non-fenced content. See
https://github.com/WICG/fenced-frame/blob/master/explainer/process_isolation.md
for rationale and more details.
IsolateOrigins
Alternative to switches::kIsolateOrigins, for turning on origin isolation.
List of origins to isolate has to be specified via
kIsolateOriginsFieldTrialParamName.
JavaScriptExperimentalSharedMemory
Enables experimental JavaScript shared memory features.
LazyInitializeMediaControls
Enable lazy initialization of the media controls.
LegacyWindowsDWriteFontFallback
Configures whether Blink on Windows 8.0 and below should use out of process
API font fallback calls to retrieve a fallback font family name as opposed to
using a hard-coded font lookup table.
LogJsConsoleMessages
MainThreadCompositingPriority
Uses ThreadType::kCompositing for the main thread
MBIMode
The MBI mode controls whether or not communication over the
AgentSchedulingGroup is ordered with respect to the render-process-global
legacy IPC channel, as well as the granularity of AgentSchedulingGroup
creation. This will break ordering guarantees between different agent
scheduling groups (ordering withing a group is still preserved).
DO NOT USE! The feature is not yet fully implemented. See crbug.com/1111231.
NavigationNetworkResponseQueue
When NavigationNetworkResponseQueue is enabled, the browser will schedule
some tasks related to navigation network responses in a kHigh priority
queue.
NetworkServiceInProcess2
If the network service is enabled, runs it in process.
NotificationContentImage
Kill switch for Web Notification content images.
NotificationTriggers
Enables the notification trigger API.
NoStatePrefetchHoldback
Feature which holdbacks NoStatePrefetch on all surfaces.
OriginIsolationHeader
Controls the Origin-Agent-Cluster header. Tracking bug
https://crbug.com/1042415; flag removal bug (for when this is fully launched)
https://crbug.com/1148057.

The name is "OriginIsolationHeader" because that was the old name when the
feature was under development.
OverscrollHistoryNavigation
History navigation in response to horizontal overscroll (aka gesture-nav).
PeriodicBackgroundSync
Whether web apps can run periodic tasks upon network connectivity.
PepperCrossOriginRedirectRestriction
Kill-switch to introduce a compatibility breaking restriction.
PermissionElement
Enables an in-content element that interacts with the permissions
infrastructure.
PersistentOriginTrials
Enables Persistent Origin Trials. It causes tokens for an origin to be stored
and persisted for the next navigation. This way, an origin trial can affect
things before receiving the response, for instance it can affect the next
navigation's network request.
PrefetchNewLimits
If enabled, then an updated prefetch request limit policy will be used that
separates eager and non-eager prefetches, and allows for evictions.
PrefetchRedirects
If enabled, then redirects will be followed when prefetching.
PrivacySandboxAdsAPIsOverride
Enables exposure of ads APIs in the renderer: Attribution Reporting,
FLEDGE, Topics, along with a number of other features actively in development
within these APIs.
PrivateNetworkAccessForWorkers
Enables Private Network Access checks for all types of web workers.

This affects initial worker script fetches, fetches initiated by workers
themselves, and service worker update fetches.

The exact checks run are the same as for other document subresources, and
depend on the state of other Private Network Access feature flags:

- kBlockInsecurePrivateNetworkRequests
- kPrivateNetworkAccessSendPreflights
- kPrivateNetworkAccessRespectPreflightResults
PrivateNetworkAccessForWorkersWarningOnly
Enables Private Network Access checks in warning mode for all types of web
workers.

Does nothing if kPrivateNetworkAccessForWorkers is disabled.

If both this and kPrivateNetworkAccessForWorkers are enabled, then PNA
preflight requests for workers are not required to succeed. If one fails, a
warning is simply displayed in DevTools.
PrivateNetworkAccessForNavigations
Enables Private Network Access checks for navigations.

The exact checks run are the same as for document subresources, and depend on
the state of other Private Network Access feature flags:
- kBlockInsecurePrivateNetworkRequests
- kPrivateNetworkAccessSendPreflights
- kPrivateNetworkAccessRespectPreflightResults
PrivateNetworkAccessForNavigationsWarningOnly
Enables Private Network Access checks in warning mode for navigations.

Does nothing if kPrivateNetworkAccessForNavigations is disabled.

If both this and kPrivateNetworkAccessForNavigations are enabled, then PNA
preflight requests for navigations are not required to succeed. If
one fails, a warning is simply displayed in DevTools.
PrivateNetworkAccessRespectPreflightResults
Requires that CORS preflight requests succeed before sending private network
requests. This flag implies kPrivateNetworkAccessSendPreflights.
See: https://wicg.github.io/private-network-access/#cors-preflight
PrivateNetworkAccessSendPreflights
Enables sending CORS preflight requests ahead of private network requests.
See: https://wicg.github.io/private-network-access/#cors-preflight
OriginKeyedProcessesByDefault
Enables origin-keyed processes by default, unless origins opt out using
Origin-Agent-Cluster: ?0. This feature only takes effect if the Blink feature
OriginAgentClusterDefaultEnable is enabled, since origin-keyed processes
require origin-agent-clusters.
PushSubscriptionChangeEvent
Fires the pushsubscriptionchange event defined here:
https://w3c.github.io/push-api/#the-pushsubscriptionchange-event
for subscription refreshes, revoked permissions or subscription losses
QueueNavigationsWhileWaitingForCommit
When enabled, queues navigations instead of cancelling the previous
navigation if the previous navigation is already waiting for commit.
See https://crbug.com/838348 and https://crbug.com/1220337.
ReduceSubresourceResponseStartedIPC
When enabled, sends SubresourceResponseStarted IPC only when the user has
allowed any HTTPS-related warning exceptions. From field data, (see
SSL.Experimental.SubresourceResponse), ~100% of subresource notifications
are not required, since allowing certificate exceptions by users is a rare
event. Hence, if user has never allowed any certificate or HTTP exceptions,
notifications are not sent to the browser. Once we start sending these
messages, we keep sending them until all exceptions are revoked and browser
restart occurs.
RenderDocument
Enable using the RenderDocument.
RenderDocumentCompositorReuse
Reuse compositor instances with RenderDocument
RetryGetVideoCaptureDeviceInfos
Enables retrying to obtain list of available cameras after restarting the
video capture service if a previous attempt failed, which could be caused
by a service crash.
ProcessPerSiteUpToMainFrameThreshold
Reuses RenderProcessHost up to a certain threshold. This mode ignores the
soft process limit and behaves just like a process-per-site policy for all
sites, with an additional restriction that a process may only be reused while
the number of main frames in that process stays below a threshold.
ServiceWorkerStaticRouter
Enables ServiceWorker static routing API.
https://github.com/WICG/service-worker-static-routing-api
RunVideoCaptureServiceInBrowserProcess
Run video capture service in the Browser process as opposed to a dedicated
utility process.
On ChromeOS the service had to run in the browser process, because parts of
the code depend on global objects that are only available in the Browser
process. See https://crbug.com/891961. However, since the dependencies are
removed now(b/315966244), the service run in the browser process by default,
but an user is able to run it in an utility process by changing the flag.
SchedQoSOnResourcedForChrome
Update scheduler settings using resourced on ChromeOS.
SecurePaymentConfirmationBrowser
Browser-side feature flag for Secure Payment Confirmation (SPC) that also
controls the render side feature state. SPC is not currently available on
Linux or ChromeOS, as it requires platform authenticator support.
SecurePaymentConfirmationDebug
Used to control whether to remove the restriction that PaymentCredential in
WebAuthn and secure payment confirmation method in PaymentRequest API must
use a user verifying platform authenticator. When enabled, this allows using
such devices as UbiKey on Linux, which can make development easier.
ServiceWorkerPaymentApps
Service worker based payment apps as defined by w3c here:
https://w3c.github.io/webpayments-payment-apps-api/
TODO(rouslan): Remove this.
SharedArrayBuffer
http://tc39.github.io/ecmascript_sharedmem/shmem.html
This feature is also enabled independently of this flag for cross-origin
isolated renderers.
SharedArrayBufferOnDesktop
If enabled, SharedArrayBuffer is present and can be transferred on desktop
platforms. This flag is used only as a "kill switch" as we migrate towards
requiring 'crossOriginIsolated'.
ShouldAllowFirstPartyStorageKeyOverrideFromEmbedder
Kill switch for creating first-party StorageKeys in
RenderFrameHostImpl::CalculateStorageKey for frames with extension URLs.
SignedHTTPExchange
Origin-Signed HTTP Exchanges (for WebPackage Loading)
https://www.chromestatus.com/feature/5745285984681984
UserMediaCaptureOnFocus
If enabled, GetUserMedia API will only work when the concerned tab is in
focus
WebOTP
This is intended as a kill switch for the WebOTP Service feature. To enable
this feature, the experimental web platform features flag should be set.
WebLockScreenApi
Enable the web lockscreen API implementation
(https://github.com/WICG/lock-screen) in Chrome.
SiteInstanceGroupsForDataUrls
When enabled, puts subframe data: URLs in a separate SiteInstance in the same
SiteInstanceGroup as the initiator.
SiteIsolationForCrossOriginOpenerPolicy
Controls whether to isolate sites of documents that specify an eligible
Cross-Origin-Opener-Policy header.  Note that this is only intended to be
used on Android, which does not use strict site isolation. See
https://crbug.com/1018656.
DisableProcessReuse
When enabled, OOPIFs will not try to reuse compatible processes from
unrelated tabs.
SpareRendererForSitePerProcess
Controls whether SpareRenderProcessHostManager tries to always have a warm
spare renderer process around for the most recently requested BrowserContext.
This feature is only consulted in site-per-process mode.
StrictOriginIsolation
Controls whether site isolation should use origins instead of scheme and
eTLD+1.
SuppressDifferentOriginSubframeJSDialogs
Disallows window.{alert, prompt, confirm} if triggered inside a subframe that
is not same origin with the main frame.
SurfaceSyncFullscreenKillswitch
To disable the updated fullscreen handling of the companion Viz
SurfaceSyncThrottling flag. Disabling this will restore the base
SurfaceSyncThrottling path.
SyntheticPointerActions
Dispatch touch events to "SyntheticGestureController" for events from
Devtool Protocol Input.dispatchTouchEvent to simulate touch events close to
real OS events.
TouchDragAndContextMenu
This feature allows touch dragging and a context menu to occur
simultaneously, with the assumption that the menu is non-modal.  Without this
feature, a long-press touch gesture can start either a drag or a context-menu
in Blink, not both (more precisely, a context menu is shown only if a drag
cannot be started).
UnrestrictedSharedArrayBuffer
This feature is for a reverse Origin Trial, enabling SharedArrayBuffer for
sites as they migrate towards requiring cross-origin isolation for these
features.
TODO(bbudge): Remove when the deprecation is complete.
https://developer.chrome.com/origintrials/#/view_trial/303992974847508481
https://crbug.com/1144104
UserActivationSameOriginVisibility
Allows user activation propagation to all frames having the same origin as
the activation notifier frame.  This is an intermediate measure before we
have an iframe attribute to declaratively allow user activation propagation
to subframes.
VerifyDidCommitParams
Enables comparing browser and renderer's DidCommitProvisionalLoadParams in
RenderFrameHostImpl::VerifyThatBrowserAndRendererCalculatedDidCommitParamsMatch.
V8VmFuture
Enables future V8 VM features
WebAppSystemMediaControlsWin
Enables per PWA System Media Controls on Windows
WebAssemblyBaseline
Enable WebAssembly baseline compilation (Liftoff).
WebAssemblyExperimentalJSPI
Enable WebAssembly JSPI.
WebAssemblyLazyCompilation
Enable WebAssembly lazy compilation (JIT on first call).
WebAssemblyTiering
Enable WebAssembly tiering (Liftoff -> TurboFan).
WebAssemblyTrapHandler
Enable WebAssembly trap handler.
WebBluetooth
Controls whether the Web Bluetooth API is enabled:
https://webbluetoothcg.github.io/web-bluetooth/
WebBluetoothNewPermissionsBackend
Controls whether Web Bluetooth should use the new permissions backend. The
new permissions backend uses ObjectPermissionContextBase, which is used by
other device APIs, such as WebUSB. When enabled,
WebBluetoothWatchAdvertisements and WebBluetoothGetDevices blink features are
also enabled.
WebMidi
Enable the browser process components of the Web MIDI API. This flag does not
control whether the API is exposed in Blink.
WebOtpBackendAuto
Controls which backend is used to retrieve OTP on Android. When disabled
we use User Consent API.
WebPayments
The JavaScript API for payments on the web.
WebUICodeCache
Enables code caching for scripts used on WebUI pages.
WebUSB
Controls whether the WebUSB API is enabled:
https://wicg.github.io/webusb
WebXR
Controls whether the WebXR Device API is enabled.
AdAuctionReportingWithMacroApi
AdAuctionSignals
AdInterestGroupAPIRestrictedPolicyByDefault
Kill switch for Background Fetch.
AllowBFCacheWhenClosedMediaStreamTrack
kAlwaysAllowFledgeDeprecatedRenderURLReplacements
BlockMidiByDefault
Set a time limit for the page to enter the cache. Disabling this prevents
flakes during testing.
ComputePressureRateObfuscationMitigation
LowerHighResolutionTimerThreshold
AlignFontDisplayAutoTimeoutWithLCPGoal
AllowDatapipeDrainedAsBytesConsumerInBFCache
AllowDevToolsMainThreadDebuggerForMultipleMainFrames
When this feature is enabled, private network requests initiated from
non-secure contexts in the public address space  are blocked.

See also:
AllowDropAlphaForMediaStream
AllowSourceSwitchOnPausedVideoMediaStream
When this feature is enabled, requests to localhost initiated from non-secure
contexts in the private IP address space are blocked.
AllowSyncXHRInPageDismissal
AllowURNsInIframes
DisplayWarningDeprecateURNIframesUseFencedFrames
AnchorElementInteraction
AnchorElementMouseMotionEstimator
Allows pages with cache-control:no-store to enter the back/forward cache.
Feature params can specify whether pages with cache-control:no-store can be
restored if cookies change / if HTTPOnly cookies change.
TODO(crbug.com/40189625): Enable this feature.
AndroidExtendedKeyboardShortcuts
AudioWorkletThreadRealtimePriority
AudioWorkletThreadPool
AutofillIncludeShadowDomInUnassociatedListedElements
This guards between using the MediaLicense code path and the CdmStorage
code path for storing Cdm data. This will be enabled by default as we do not
want the CdmStorageDatabase to be used solely, and instead when we conduct
our experiments, we will enable kCdmStorageDatabase to flow the migration.
Later when the migration is finished, we will remove this flag so that
kCdmStorageDatabase serves as the only flag. Refer to
AutofillIncludeFormElementsInShadowDom
AutofillSendUnidentifiedKeyAfterFill
Gate access to cookie deprecation API which allows developers to opt in
AutomaticLazyFrameLoadingToAds
AutoSpeculationRules
AutomaticLazyFrameLoadingToEmbeds
AutomaticLazyFrameLoadingToEmbedUrls
Set whether DIPS performs deletion.
AvifGainmapHdrImages
Sets how long DIPS maintains interactions and Web Authn Assertions (WAA) for
a site.

If a site in the DIPS database has an interaction or WAA within the grace
period a DIPS-triggering action, then that action and all ensuing actions are
protected from DIPS clearing until the interaction and WAA "expire" as set
by this param.
AvoidForcedLayoutOnInitialEmptyDocumentInSubframe
BackForwardCacheDWCOnJavaScriptExecution
BackForwardCacheWithKeepaliveRequest
Sets the actions which will trigger DIPS clearing for a site. The default is
to set to kBounce, but can be overridden by Finch experiment groups,
BackgroundResourceFetch
BakedGamutMapping
BackgroundTracingPerformanceMark
BiddingAndScoringDebugReportingAPI
BoostImagePriority
BoostImageSetLoadingTaskPriority
BoostFontLoadingTaskPriority
BoostVideoLoadingTaskPriority
BoostRenderBlockingStyleLoadingTaskPriority
BoostNonRenderBlockingStyleLoadingTaskPriority
BrowsingTopics
Enables service workers on chrome:// urls.
BrowsingTopicsBypassIPIsPubliclyRoutableCheck
BrowsingTopicsDocumentAPI
Enables JavaScript API to intermediate federated identity requests.
Note that actual exposure of the FedCM API to web content is controlled
by the flag in RuntimeEnabledFeatures on the blink side. See also
the use of kSetOnlyIfOverridden in content/child/runtime_features.cc.
BrowsingTopicsParameters
CORSErrorsIssueOnly
CacheCodeOnIdle
Guard for work on https://crbug.com/40279485
CacheStorageCodeCacheHintHeader
Enable support for isolated web apps. This will guard features like serving
isolated web apps via the isolated-app:// scheme, and other advanced isolated
Canvas2DHibernation
Enable support for isolated web apps. This will guard features like serving
isolated web apps via the isolated-app:// scheme, and other advanced isolated
app functionality. See https://github.com/reillyeon/isolated-web-apps for a
general overview.
This also enables support for Controlled Frame, providing the Controlled
Frame tag to IWA apps assuming that Controlled Frame isn't otherwise
disabled via the kControlledFrame feature. See
https://github.com/WICG/controlled-frame/blob/main/README.md for more info.
Please don't use this feature flag directly to guard the IWA code.  Use
IsolatedWebAppsPolicy::AreIsolatedWebAppsEnabled() in the browser process or
CameraMicPreview
GetUserMediaDeferredDeviceSettingsSelection
CanvasCompressHibernatedImage
Canvas2DHibernationReleaseTransferMemory
Alternative to switches::kIsolateOrigins, for turning on origin isolation.
List of origins to isolate has to be specified via
kIsolateOriginsFieldTrialParamName.
CaptureJSExecutionLocation
Enables experimental JavaScript shared memory features.
CheckHTMLParserBudgetLessOften
ClientHintsDPR
ClientHintsDPR_DEPRECATED
ClientHintsDeviceMemory
ClientHintsDeviceMemory_DEPRECATED
ClientHintsFormFactors
ClientHintsPrefersReducedTransparency
The MBI mode controls whether or not communication over the
AgentSchedulingGroup is ordered with respect to the render-process-global
legacy IPC channel, as well as the granularity of AgentSchedulingGroup
creation. This will break ordering guarantees between different agent
ClientHintsResourceWidth
ClientHintsResourceWidth_DEPRECATED
ClientHintsSaveData
ClientHintsViewportWidth
ClientHintsXRFormFactor
ClientHintsViewportWidth_DEPRECATED
When NavigationNetworkResponseQueue is enabled, the browser will schedule
some tasks related to navigation network responses in a kHigh priority
queue.
CompressParkableStrings
LessAggressiveParkableString
ConsumeCodeCacheOffThread
ContentCaptureConstantStreaming
CorrectFloatExtensionTestForWebGL
CreateImageBitmapOrientationNone
Controls the Origin-Agent-Cluster header. Tracking bug
https://crbug.com/1042415; flag removal bug (for when this is fully launched)
https://crbug.com/1148057.

The name is "OriginIsolationHeader" because that was the old name when the
feature was under development.
DOMContentLoadedWaitForAsyncScript
DefaultViewportIsDeviceWidth
DelayAsyncScriptExecution
Kill-switch to introduce a compatibility breaking restriction.
DelayLowPriorityRequestsAccordingToNetworkState
DirectCompositorThreadIpc
Enables origin-keyed processes by default, unless origins opt out using
Origin-Agent-Cluster: ?0. This feature only takes effect if the Blink feature
OriginAgentClusterDefaultEnable is enabled, since origin-keyed processes
DisableArrayBufferSizeLimitsForTesting
DiscardInputEventsToRecentlyMovedFrames
Fires the pushsubscriptionchange event defined here:
https://w3c.github.io/push-api/#the-pushsubscriptionchange-event
for subscription refreshes, revoked permissions or subscription losses
DisableThirdPartyStoragePartitioningDeprecationTrial
DispatchBeforeUnloadOnFreeze
When enabled, sends SubresourceResponseStarted IPC only when the user has
DisplayLocking
When enabled, sends SubresourceResponseStarted IPC only when the user has
allowed any HTTPS-related warning exceptions. From field data, (see
SSL.Experimental.SubresourceResponse), ~100% of subresource notifications
are not required, since allowing certificate exceptions by users is a rare
event. Hence, if user has never allowed any certificate or HTTP exceptions,
notifications are not sent to the browser. Once we start sending these
DrawingBufferWithoutGpuMemoryBuffer
DropInputEventsBeforeFirstPaint
RenderDocument:

Currently, a RenderFrameHost represents neither a frame nor a document, but a
frame in a given process. A new one is created after a different-process
navigation. The goal of RenderDocument is to get a new one for each document
DroppedTouchSequenceIncludesTouchEnd
EagerCacheStorageSetupForServiceWorkers
EstablishGpuChannelAsync
EventTimingKeypressAndCompositionInteractionId
DeprecateUnload
DeprecateUnloadByAllowList
EnableMojoJSProtectedMemory
Run video capture service in the Browser process as opposed to a dedicated
EventTimingFallbackToModalDialogStart
Run video capture service in the Browser process as opposed to a dedicated
utility process.
On ChromeOS the service had to run in the browser process, because parts of
the code depend on global objects that are only available in the Browser
process. See https://crbug.com/891961. However, since the dependencies are
removed now(b/315966244), the service run in the browser process by default,
but an user is able to run it in an utility process by changing the flag.
EventTimingHandleOrphanPointerup
ExcludeLowEntropyImagesFromLCP
Browser-side feature flag for Secure Payment Confirmation (SPC) that also
controls the render side feature state. SPC is not currently available on
FencedFrames
FencedFramesM120FeaturesPart1
FencedFramesM120FeaturesPart2
If enabled, SharedArrayBuffer is present and can be transferred on desktop
platforms. This flag is used only as a "kill switch" as we migrate towards
requiring 'crossOriginIsolated'.
FencedFramesReportingAttestationsChanges
Kill switch for creating first-party StorageKeys in
RenderFrameHostImpl::CalculateStorageKey for frames with extension URLs.
FencedFramesCrossOriginAutomaticBeacons
FencedFramesCrossOriginEventReportingUnlabeledTraffic
FencedFramesCrossOriginEventReportingAllTraffic
FencedFramesAutomaticBeaconCredentials
FencedFramesLocalUnpartitionedDataAccess
Controls whether to isolate sites of documents that specify an eligible
Cross-Origin-Opener-Policy header.  Note that this is only intended to be
used on Android, which does not use strict site isolation. See
https://crbug.com/1018656.
ExemptUrlFromNetworkRevocationForTesting
kFetchDestinationJsonCssModules
This feature param (true by default) controls whether sites are persisted
across restarts.
FileHandlingIcons
This feature param controls the maximum size of stored sites.  Only used
FileSystemUrlNavigation
FileSystemUrlNavigationForChromeAppsOnly
FilteringScrollPrediction
FixGestureScrollQueuingBug
Fledge
FledgeBiddingAndAuctionServer
FledgeConsiderKAnonymity
FledgeEnforceKAnonymity
Dispatch touch events to "SyntheticGestureController" for events from
Devtool Protocol Input.dispatchTouchEvent to simulate touch events close to
real OS events.
FledgePassKAnonStatusToReportWin
FledgePassRecencyToGenerateBid
This feature allows touch dragging and a context menu to occur
simultaneously, with the assumption that the menu is non-modal.  Without this
feature, a long-press touch gesture can start either a drag or a context-menu
in Blink, not both (more precisely, a context menu is shown only if a drag
FledgeSampleDebugReports
FledgeSplitTrustedSignalsFetchingURL
FledgeBidderWorkletGroupByOriginContextsToKeep
FledgeAlwaysReuseBidderContext
FledgeAlwaysReuseSellerContext
Enable WebAssembly baseline compilation (Liftoff).
ForceDeferScriptIntervention
ForceHighPerformanceGPUForWebGL
ForceInOrderScript
ForceMajorVersionInMinorPositionInUserAgent
WebContentsForceDark
FrequencyCappingForLargeStickyAdDetection
Controls whether the OS-level font setting is adjusted for.
FrequencyCappingForOverlayPopupDetection
GMSCoreEmoji
Enables the use of a unified code path for AXTree snapshots.
GainmapHdrImages
HiddenSelectionBounds
ImageLoadingPrioritizationFix
Allows the use of "Smart Zoom", an alternative form of page zoom, and
IndexedDBCompressValuesWithSnappy
Enables the mojo based gin java bridge implementation.
InputPredictorTypeChoice
IntensiveWakeUpThrottling
InterestGroupStorage
Kill switch for allowing webview to suppress tap immediately after fling,
IsolateSandboxedIframes
KalmanDirectionCutOff
Changes how Chrome responds to accessibility activation signals on macOS
Sonoma, to avoid unnecessary changes to the screen reader state.
KalmanHeuristics
KeepAliveInBrowserMigration
Controls whether the PipeWire support for screen capturing is enabled on the
AttributionReportingInBrowserMigration
LCPCriticalPathPredictor
LCPScriptObserver
namespace features
LCPTimingPredictorPrerender2
namespace features
LCPPAutoPreconnectLcpOrigin
namespace features
LCPPDeferUnusedPreload
namespace features
LCPPFontURLPredictor
namespace features
LCPPLazyLoadImagePreload
namespace features
LCPPMultipleKey
namespace features
HttpDiskCachePrewarming
namespace features
LegacyParsingOfXContentTypeOptions
namespace features
LightweightNoStatePrefetch
namespace features
LinkPreview
namespace features
LoadingPhaseBufferTimeAfterFirstMeaningfulPaint
namespace features
LoadingTasksUnfreezable
namespace features
LogUnexpectedIPCPostedToBackForwardCachedDocuments
namespace features
LowLatencyCanvas2dImageChromium
namespace features
LowLatencyWebGLImageChromium
namespace features
LowPriorityAsyncScriptExecution
namespace features
LowPriorityScriptLoading
namespace features
AutoupgradeMixedContent
namespace features
ResourceFetcherStoresStrongReferences
namespace features
MemoryCacheStrongReferenceFilterImages
namespace features
MemoryCacheStrongReferenceFilterScripts
namespace features
MemoryCacheStrongReferenceFilterCrossOriginScripts
namespace features
MemoryCacheStrongReference
namespace features
NavigationPredictor
namespace features
NoForcedFrameUpdatesForWebTests
namespace features
BFCacheOpenBroadcastChannel
namespace features
OriginAgentClusterDefaultEnable
namespace features
OriginAgentClusterDefaultWarning
namespace features
OriginTrialStateHostApplyFeatureDiff
namespace features
PaintHolding
namespace features
PaintHoldingCrossOrigin
namespace features
ParkableImagesToDisk
namespace features
PartitionVisitedLinkDatabase
namespace features
Path2DPaintCache
namespace features
PlzDedicatedWorker
namespace features
PostMessageFirstPartyToThirdPartyDifferentBucketSameOriginBlocked
namespace features
PostMessageFirstPartyToThirdPartyDifferentBucketSameOriginBlockedIfStorage IsPartitioned
namespace features
PostMessageThirdPartyToFirstPartyDifferentBucketSameOriginBlocked
namespace features
PostMessageThirdPartyToFirstPartyDifferentBucketSameOriginBlockedIfStorage IsPartitioned
namespace features
PostMessageThirdPartyToThirdPartyDifferentBucketSameOriginBlocked
namespace features
PostMessageThirdPartyToThirdPartyDifferentBucketSameOriginBlockedIfStorage IsPartitioned
namespace features
PrecompileInlineScripts
namespace features
PreferCompositingToLCDText
namespace features
PrefetchPrivacyChanges
namespace features
PreloadingHeuristicsMLModel
namespace features
Prerender2InNewTab
namespace features
Prerender2MainFrameNavigation
namespace features
Prerender2MemoryControls
namespace features
PreviewsResourceLoadingHintsSpecificResourceTypes
namespace features
PrivacySandboxAdsAPIs
namespace features
PrivateAggregationApi
namespace features
PrivateAggregationApiMultipleCloudProviders
namespace features
PrivateNetworkAccessNullIpAddress
namespace features
ProcessHtmlDataImmediately
namespace features
ProduceCompileHints2
namespace features
ForceProduceCompileHints
namespace features
ConsumeCompileHints
namespace features
LocalCompileHints
namespace features
QueueBlockingGestureScrolls
namespace features
QuoteEmptySecChUaStringHeadersConsistently
namespace features
RTCOfferExtmapAllowMixed
namespace features
kRTCGpuCodecSupportWaiter
namespace features
ReducedReferrerGranularity
namespace features
RegisterJSSourceLocationBlockingBFCache
namespace features
RemoveAutorizationOnCrossOriginRedirect
namespace features
InteractiveDetectorIgnoreFcp
namespace features
RenderBlockingFonts
namespace features
ResamplingInputEvents
namespace features
ResamplingScrollEvents
namespace features
RunTextInputUpdatePostLifecycle
namespace features
SafelistFTPToRegisterProtocolHandler
namespace features
SafelistPaytoToRegisterProtocolHandler
namespace features
SaveDataImgSrcset
namespace features
ScopeMemoryCachePerContext
namespace features
PausePagesPerBrowsingContextGroup
namespace features
ShowHudDisplayForPausedPages
namespace features
ScriptStreaming
namespace features
SelectiveInOrderScript
namespace features
SelectiveInOrderScriptTarget
namespace features
SendCnameAliasesToSubresourceFilterFromRenderer
namespace features
SerializeAccessibilityPostLifecycle
namespace features
ServiceWorkerUpdateDelay
namespace features
ServiceWorkerClientIdAlignedWithSpec
namespace features
ServiceWorkerStaticRouterNotConditionEnabled
namespace features
SetLowPriorityForBeacon
namespace features
SetTimeoutWithoutClamp
namespace features
SharedStorageAPI
namespace features
SharedStorageSelectURLLimit
namespace features
SharedStorageWorkletSharedBackingThreadImplementation
namespace features
SharedStorageAPIM118
namespace features
SharedStorageAPIM125
namespace features
SharedStorageAPIEnableWALForDatabase
namespace features
SpeculationRulesPrefetchFuture
namespace features
SpeculativeServiceWorkerWarmUp
namespace features
StartMediaStreamCaptureIndicatorInBrowser
namespace features
stop-in-background
namespace features
StylusPointerAdjustment
namespace features
StylusRichGestures
namespace features
SystemColorChooser
namespace features
TextCodecCJKEnabled
namespace features
ThirdPartyScriptDetection
namespace features
ThreadedBodyLoader
namespace features
ThreadedPreloadScanner
namespace features
ThrottleInstallingServiceWorker
namespace features
ThrottleUnimportantFrameTimers
namespace features
TimedHTMLParserBudget
namespace features
UACHOverrideBlank
namespace features
kEmulateLoadStartedForInspectorOncePerResource
namespace features
BlinkSchedulerPrioritizeNavigationIPCs
namespace features
EnableFileBackedBlobFactory
namespace features
UnloadBlocklisted
namespace features
UseImageInsteadOfStorageForStagingBuffer
namespace features
UsePageViewportInLCP
namespace features
UseSnappyForParkableStrings
namespace features
UseZstdForParkableStrings
namespace features
UseThreadPoolForMediaStreamVideoTaskRunner
namespace features
UserLevelMemoryPressureSignal
namespace features
VSyncDecoding
namespace features
VSyncEncoding
namespace features
WebRtcUseCaptureBeginTimestamp
namespace features
WebAppBorderless
namespace features
WebAppEnableScopeExtensions
namespace features
WebAppEnableUrlHandlers
namespace features
WebAppManifestLockScreen
namespace features
WebAudioBypassOutputBuffering
namespace features
WebAudioHandleOnRenderError
namespace features
WebAudioSetSinkEchoCancellation
namespace features
kWebAudioSinkSelection
namespace features
WebFontsCacheAwareTimeoutAdaption
namespace features
WebRtcCombinedNetworkAndWorkerThread
namespace features
WebRtcHideLocalIpsWithMdns
namespace features
WebRtcIgnoreUnspecifiedColorSpace
namespace features
WebRtcInitializeEncoderOnFirstFrame
namespace features
WebRtcSendPacketBatch
namespace features
WebRtcThreadsUseResourceEfficientType
namespace features
WebRtcUseMinMaxVEADimensions
namespace features
kWebSQLAccess
namespace features
WebviewAccelerateSmallCanvases
namespace features
ExpandCompositedCullRect
namespace features
TreatHTTPExpiresHeaderValueZeroAsExpiredInBlink
namespace features
SimplifyLoadingTransparentPlaceholderImage
namespace features
NoThrottlingVisibleAgent
namespace features

Blink features

Enable with --enable-blink-features, disable with --disable-blink-features:

Name Description Enabled by default
Accelerated2dCanvas
AcceleratedSmallCanvases
AccessibilityAriaVirtualContent
AccessibilityExposeDisplayNone
AccessibilityObjectModel
AccessibilityOSLevelBoldText
AccessibilityPageZoom
AccessibilitySerializationSizeMetrics
AccessibilityUseAXPositionForDocumentMarkers
AddressSpace
AdInterestGroupAPI
 Interest Group JS API/runtimeflag.
AdjustEndOfNextParagraphIfMovedParagraphIsUpdated
 Adjust the end of the next paragraph if the end position for the
 paragraph is updated while moving the paragraph. See
 https://crbug.com/329121649
AdTagging
AlignContentForBlocks
 crbug.com/1500511
AlignContentForScrollableBlocks
 crbug.com/331454369
AllowContentInitiatedDataUrlNavigations
AllowURNsInIframes
AndroidDownloadableFontsMatching
AnimationProgressAPI
AnimationWorklet
AnonymousIframe
AOMAriaRelationshipProperties
AppTitle
AriaNotify
AtomicMoveAPI
 See https://crbug.com/40150299, and
 https://github.com/whatwg/dom/issues/1255.
AttributionReporting
AttributionReportingCrossAppWeb
AttributionReportingInterface
 This is not going into origin trial, "origin_trial_feature_name" is
 required for using the "implied_by" behaviour.
AudioContextSetSinkId
AudioOutputDevices
AudioVideoTracks
AutoDarkMode
AutomationControlled
AutoPictureInPictureVideoHeuristics
AutoplayIgnoresWebAudio
 Flag set by the media::kAutoplayIgnoreWebAudio feature flag.
AutoSizeLazyLoadedImages
 If enabled, lazy loaded images can be auto sized if the sizes
 attribute is missing or set to auto.
AvoidCaretVisibleSelectionAdjuster
BackdropInheritOriginating
BackfaceVisibilityInterop
 When enabled, enforces new interoperable semantics for 3D transforms.
 See crbug.com/1008483.
BackForwardCache
BackForwardCacheExperimentHTTPHeader
BackForwardCacheNotRestoredReasons
BackForwardTransitions
 Used to enable Blink side of features flags for Default Nav Transition.
BackgroundFetch
BarcodeDetector
BeforeunloadEventCancelByPreventDefault
 There are two different code changes guarded by this feature. Both
 are about triggering a beforeunload cancel dialog and need adoption
 from developers.
 1. If event.preventDefault() is called, prompt cancel dialog.
 2. If event.returnValue is the empty string, do not prompt cancel dialog.
BidiCaretAffinity
BlinkExtensionChromeOS
BlinkExtensionChromeOSKiosk
BlinkExtensionDiagnostics
BlinkExtensionWebView
BlinkExtensionWebViewMediaIntegrity
BlinkLifecycleScriptForbidden
BlinkRuntimeCallStats
BlockingFocusWithoutUserActivation
BoundaryEventDispatchTracksNodeRemoval
 crbug.com/1147998: Mouse and Pointer boundary event dispatch (i.e. dispatch
 of enter, leave, over, out events) tracks DOM node removal to fix event
 pairing on ancestor nodes.
BreakIteratorDataGenerator
 crbug.com/41485013
BrowserVerifiedUserActivationKeyboard
BrowserVerifiedUserActivationMouse
CacheStorageCodeCacheHint
Canvas2dCanvasFilter
Canvas2dImageChromium
Canvas2dLayers
Canvas2dMesh
Canvas2dScrollPathIntoView
CanvasFloatingPoint
CanvasHDR
CanvasImageSmoothing
CanvasUsesArcPaintOp
 Kill switch for https://crbug.com/330506337.
CanvasWebGPUAccess
CapabilityDelegationDisplayCaptureRequest
CaptureController
CapturedMouseEvents
 TODO(crbug.com/1444712): Before enabling that flag by default,
 make sure MouseCursorOverlayController does not transmit mouse
 events to a CaptureController that don't have any
 capturedmousechange listener attached to it.
 See https://github.com/screen-share/mouse-events/issues/14
CapturedSurfaceControl
CaptureHandle
CaretPositionFromPoint
 https://www.w3.org/TR/cssom-view-1/#dom-document-caretpositionfrompoint
CCTNewRFMPushBehavior
 Kill switch for changes to RenderFrameMetadataObserverImpl in connection with Engagement
 Signals. See https://crrev.com/c/4544201 and https://crbug.com/1458640.
CheckVisibilityExtraProperties
ClickToCapturedPointer
ClipboardSvg
ClipPathRejectEmptyPaths
CloseWatcher
 https://html.spec.whatwg.org/multipage/interaction.html#close-requests-and-close-watchers
CoepReflection
CompositeBGColorAnimation
CompositeBoxShadowAnimation
CompositeClipPathAnimation
CompositedSelectionUpdate
CompositionForegroundMarkers
CompressionDictionaryTransport
CompressionDictionaryTransportBackend
ComputedAccessibilityInfo
ComputePressure
 Shipping in M125. Should be removed after M127.
ContactsManager
ContactsManagerExtraProperties
ContentIndex
ContextMenu
CookieDeprecationFacilitatedTesting
CooperativeScheduling
CoopRestrictProperties
CorsRFC1918
CreateInputShadowTreeDuringLayout
 Controls whether form elements may delay editor creation until layout.
 This is a kill switch. See https://crbug.com/325613706 for details.
CrossFramePerformanceTimeline
CSSAnchorPositioning
 Allows positioning a positioned element relative to another one.
 https://drafts.csswg.org/css-anchor-1/
CSSAnimationDelayStartEnd
 Support for the animation-delay-start and animation-delay-end
 properties.

 Additionally, animation-delay becomes a shorthand which expands
 to those properties.
CSSAtRuleCounterStyleImageSymbols
 Whether  values are allowed as counter style 
CSSAtRuleCounterStyleSpeakAsDescriptor
 https://drafts.csswg.org/css-counter-styles/#counter-style-speak-as
CSSBackgroundClipUnprefix
 https://chromestatus.com/feature/5125388091260928
CSSCalcSimplificationAndSerialization
 Support CSS Values Level 4 calc simplification and serialization
 as specified in the specs below.
 https://drafts.csswg.org/css-values-4/#calc-simplification
 https://drafts.csswg.org/css-values-4/#calc-serialize
CSSCalcSizeFunction
 https://chromestatus.com/feature/5196713071738880
CSSCapFontUnits
CSSCaseSensitiveSelector
 Support case-sensitive attribute selector modifier
 https://drafts.csswg.org/selectors-4/#attribute-case
CSSColorContrast
CSSColorTypedOM
CSSComputedStyleFullPseudoElementParser
CSSContentVisibilityImpliesContainIntrinsicSizeAuto
CSSCrossFade
 Unprefixed cross-fade() (in addition to the existing -webkit-cross-fade()).
 https://drafts.csswg.org/css-images-4/#cross-fade-function
CSSCustomStateDeprecatedSyntax
 This flag controls whether the deprecated :--foo syntax is enabled. It
 is being replaced by :state(foo), which is controlled by the
 CSSCustomStateNewSyntax flag.
 TODO(crbug.com/1514397): Remove this when the feature is fully launched.
CSSCustomStateNewSyntax
 This flag controls whether the :state(foo) pseudo-class for custom
 elements is enabled. It is a rename of :--foo, which is being
 deprecated and is controlled by the CSSCustomStateDeprecatedSyntax
 flag.
 TODO(crbug.com/1514397): Remove this when the deprecation is done.
CSSDisplayAnimation
CSSDisplayModePictureInPicture
CSSDynamicRangeLimit
CSSEnumeratedCustomProperties
 Include custom properties in CSSComputedStyleDeclaration::item/length.
 https://crbug.com/949807
CSSExponentialFunctions
CssFieldSizing
 crbug.com/1447058
CSSFirstLetterTextRewrite
CSSFontSizeAdjust
CSSFunctions
CSSHexAlphaColor
 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
CSSKeyframesRuleLength
 https://chromestatus.com/feature/6289894144212992
CSSLayoutAPI
CSSLightDarkColors
 Support for 'light-dark()' function to select computed color values
 based on the used color-scheme.
CSSLinearTimingFunction
CSSLineClamp
CSSLogicalOverflow
CSSMarkerNestedPseudoElement
CSSMPCImprovements
 Tracked as an experiment to help Search quantify
 performance improvements.
CSSNumericFactoryCompleteness
 Support for typed om numeric factory methods for various units that
 were otherwise shipped: rex, rch, ic, ric, lh, rlh, x (cap and rcap
 covered by separate runtime flag).
CSSOverflowMediaFeatures
CSSPaintAPIArguments
CSSParserIgnoreCharsetForURLs
 Ignore the stylesheet encoding when parsing URLs, always using UTF-8.
 See crbug.com/1485525.
CSSPositionStickyStaticScrollPosition
CSSPositionTryOrder
 Support the position-try-order property.
 https://drafts.csswg.org/css-anchor-position-1/#position-try-order-property
CSSPositionVisibility
 Support the position-visibility property for anchor positioning.
 https://drafts.csswg.org/css-anchor-position-1/#position-visibility
 TODO(crbug.com/332933527): Support anchors-valid and no-overflow. For
 now, this only supports always and anchors-visible.
CSSProgressNotation
 https://drafts.csswg.org/css-values-5/#progress
 progress(), media-progress(), container-progress()
CSSPseudoOpenClosed
 Enables the :open and :closed pseudo-selectors.
 https://chromestatus.com/feature/5085419215781888
CSSPseudoPlayingPaused
 When an audio, video, or similar resource is "playing"
 or "paused".
 https://www.w3.org/TR/selectors-4/#video-state
CSSPseudoScrollMarkers
 For scroll-markers pseudo elements for Carousel.
 https://github.com/flackr/carousel/tree/main/scroll-marker
CSSReadingOrderItems
 TODO(crbug.com/40932006): Non-standard 'reading-order-items' keyword
 for CSS reading of grid and flex layout.
 https://drafts.csswg.org/css-display-4/#reading-order-items
CSSRelativeColor
 https://drafts.csswg.org/css-color-5/#relative-colors
CSSResizeAuto
 Non-standard 'auto' keyword for the CSS resize property. Used for
 selectively enable resize corner for textarea via UA stylesheet, but
 unintentionally exposed to author sheets. UA rule is now using
 -internal-textarea-auto instead.
CSSScope
 https://drafts.csswg.org/css-cascade-6/#scoped-styles
CSSScrollSnapEvents
 https://drafts.csswg.org/css-scroll-snap-2/#snap-events
CSSScrollStart
 https://drafts.csswg.org/css-scroll-snap-2#scroll-start
CSSScrollStateContainerQueries
 Flag for supporting scroll-state() and container-type: scroll-state
 Implied by supporting at least one of the scroll-state query features.
CSSSelectorFragmentAnchor
CSSSignRelatedFunctions
CSSSizingKeywordAnimation
 A separate feature for testing compatibility, related to the work on
 https://chromestatus.com/feature/5196713071738880
CSSSnapChangedEvent
 https://drafts.csswg.org/css-scroll-snap-2/#snapchanged
CSSSnapChangingEvent
 https://drafts.csswg.org/css-scroll-snap-2/#snapchanging
CSSSnapContainerQueries
CSSSteppedValueFunctions
 Explainer: https://drafts.csswg.org/css-values/#round-func
CSSStickyContainerQueries
CSSSupportsForImportRules
CSSSystemAccentColor
 The AccentColor And AccentColorText CSS system color keywords
CSSTextAutoSpace
 crbug.com/1463890: CSS text-autospace property
CSSTextBoxTrim
 TODO(https://crbug.com/1411581):
 https://w3c.github.io/csswg-drafts/css-inline-3/#propdef-leading-trim
CSSTextSpacing
 crbug.com/1463890, crbug.com/1463891: CSS text-spacing shorthand
CSSTextSpacingTrim
 crbug.com/1463891: CSS text-spacing-trim property
CSSTransitionDiscrete
CSSTreeScopedTimelines
 Support for tree-scoped [1] timeline names (e.g. produced by
 scroll-timeline).

 [1] https://drafts.csswg.org/css-scoping-1/#shadow-names
CSSUnknownContainerQueriesNoSelection
 Container query selectors containing uknown or unsupported queries
 never selects a container with this feature enabled.
 For instance, "@container (width > 0px) or (foo: bar)" will never
 select or match any containers.
CSSUpdateMediaFeature
CSSUserSelectContain
 Support for user-select:contain.
CSSVariables2ImageValues
 Support for registered custom properties with  syntax.
CSSVariables2TransformValues
 Support for registered custom properties with  and
  syntax.
CSSVideoDynamicRangeMediaQueries
CSSViewTimelineInsetShorthand
 The view-timeline shorthand includes the view-timeline-inset
 property.

 https://github.com/w3c/csswg-drafts/pull/9189
CSSViewTransitionClass
 https://chromestatus.com/feature/5064894363992064
CursorAnchorInfoMojoPipe
CustomElementsGetName
 https://html.spec.whatwg.org/#dom-customelementregistry-getname
Database
DateInputInlineBlock
 Makes the default display value of date type  elements
 inline-block for cross-browser compatibility. Enabled in M122, should
 be safe to remove in M126.
DeclarativeShadowDOMSerializable
 This is a killswitch for the serializable attribute on declarative
 shadow roots. It should be removed in M125 (March 18, 2024) assuming
 no issues are encountered.
DeprecateUnloadOptOut
 This allows pages to opt out of the unload deprecation. Enabling this
 allows unload event handers to be used in the frame regardless of any
 Permissions-Policy setting.
 https://crbug.com/1432116
DesktopCaptureDisableLocalEchoControl
DesktopPWAsAdditionalWindowingControls
DesktopPWAsSubApps
DetailsStyling
DeviceAttributes
DeviceOrientationRequestPermission
DevicePosture
DialogCloseWhenOpenRemoved
 This feature makes the  element close properly when its "open"
 attribute is removed. https://github.com/whatwg/html/issues/5802
DialogNewFocusBehavior
DigitalGoods
DigitalGoodsV2_1
DirAutoNoInheritance
 Shipping in M123.  Flag should be removed after M123 has been
 shipping to stable for a few weeks.
DirectSockets
DirnameMoreInputTypes
 Shipping in M121.  Flag should be removed after M121 has been
 shipping to stable for a few weeks.
DisableDifferentOriginSubframeDialogSuppression
DisableHardwareNoiseSuppression
DisablePepcSecurityForTesting
 Bypasses the enforcement of the Page Embedded Permission Control
 security checks. This flag is disabled by default and should only be
 enabled in automated tests in order to allow them to avoid needing to
 wait until the PEPC is validated and also to use JS-initiated clicks.
DisableSelectAllForEmptyText
DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
 This feature should only be enabled if
 DisableThirdPartyStoragePartitioning is enabled, but as
 DisableThirdPartyStoragePartitioning will be linked to a deprecation
 trial it isn't possible to set a depends_on.
DisableThirdPartyStoragePartitioning
 This feature will represent the deprecation trial that allows first
 parties to temporarily use unpartitioned storage in embeds loaded
 on their site.
DispatchHiddenVisibilityTransitions
 kHidden and kHiddenButPainting visibility states are treated as
 hidden in the sense of document.visibilityState.  However, they are
 handled differently internally.  For example, video playback should
 continue in kHiddenButPainting, such as when the page is being
 background captured.  When enabled, this feature causes blink to
 notify internal observers about visibility changes between the two
 hidden states, in addition to transitions to/from kVisible.

 Since the two hidden states are exposed to the web identically, there
 is no visibilitychanged event fired when switching between them.

 When this feature is disabled, blink reverts to its original behavior
 of eliding transitions between the two hidden states, including to
 internal observers.  This behavior causes problems with capture and
 picture-in-picture, but is preserved as a safe fallback.
DisplayContentsFocusable
 Allowing elements with display:contents to have focus.
 See https://crbug.com/1366037
DisplayCutoutAPI
DocumentBaseURIFix
 Makes document's fallback base URL use about:blank instead of the base
 URL of whatever execution context created it in order to match the
 HTML spec and the behavior already shipped in all other browsers. This
 behavior is reflected by document.baseURI.
DocumentCookie
DocumentDomain
DocumentOpenOriginAliasRemoval
DocumentOpenSandboxInheritanceRemoval
DocumentPictureInPictureAPI
DocumentPolicyDocumentDomain
 Enables the ability to use Document Policy header to control feature
 DocumentDomain.
DocumentPolicyIncludeJSCallStacksInCrashReports
 Enables the ability to use Document Policy header to control feature
 IncludeJSCallStacksInCrashReports. https://chromestatus.com/feature/4731248572628992
DocumentPolicyNegotiation
DocumentPolicySyncXHR
 Enables the ability to use Document Policy header to control feature
 SyncXHR.
DocumentRenderBlocking
 https://chromestatus.com/feature/5113053598711808
DocumentWrite
DOMParserIncludeShadowRoots
 When enabled, this allows users of DOMParser to do:
 (new DOMParser()).parseFromString(...,{includeShadowRoots:true}).
 This is being deprecated and removed: crbug.com/329330085.
 The fieldtrial_testing_config currently disables this feature for tests.
DOMParserUsesHTMLFastPathParser
 Controls whether DOMParser.parseFromString() attempts to use the
 html fast path parser. This flag is to be used as a killswitch in case
 of any issues.
DOMPartsAPI
DontFireDblclickOnDisabledFormControls
 Shipping in M121, so should be safe to remove in M126.
DynamicScrollCullRectExpansion
ElementCapture
ElementGetHTML
 This is the "new" version of getHTML() used for declarative shadow
 DOM, and this version will replace the deprecated getInnerHTML(), which
 is enabled by the ElementGetInnerHTML feature.
 Shipped in M125, flag can be removed in M127.
ElementGetInnerHTML
 This is the "old" version of getInnerHTML() used for declarative shadow
 DOM, and this version is deprecated. The replacement is enabled by the
 ElementGetHTML feature. Once the new feature is stabilized and shipped,
 this feature (and its corresponding functionality) will be removed.
EmptyClipboardRead
EnforceAnonymityExposure
EscapeLtGtInAttributes
 Experiment with preventing some instances of mutation XSS
 by escaping "<" and ">" in attribute values.
 See: crbug.com/1175016
EventTimingInteractionCount
ExcludeTransparentTextsFromBeingLcpEligible
ExperimentalContentSecurityPolicyFeatures
ExperimentalJSProfilerMarkers
ExperimentalPolicies
ExposeRenderTimeNonTaoDelayedImage
ExtendedTextMetrics
ExtraWebGLVideoTextureMetadata
EyeDropperAPI
FaceDetector
FakeNoAllocDirectCallForTesting
FasterMinContent
 crbug.com/333630754
FastPathSingleSelectorExactMatch
 Kill switch.
FastPositionIterator
FedCm
FedCmAuthz
FedCmAutoSelectedFlag
FedCmButtonMode
FedCmDisconnect
FedCmDomainHint
FedCmError
FedCmIdPRegistration
FedCmIdpSigninStatus
FedCmMultipleIdentityProviders
FedCmSelectiveDisclosure
FencedFrames
FencedFramesAPIChanges
FencedFramesDefaultMode
FencedFramesLocalUnpartitionedDataAccess
 Allows fenced frames to access unpartioned data via Shared Storage in
 exchange for disabling untrusted network access. This is the Blink
 counterpart of the base::Feature with the same name. Because local
 unpartitioned data access requires browser and renderer process
 coordination, the value of this flag is strictly controlled by the
 base::Feature variant, and setting this flag does nothing.
FetchLaterAPI
 The Blink runtime-enabled feature name for the API's IDL.
FetchUploadStreaming
FileHandling
 Also enabled when blink::features::kFileHandlingAPI is overridden
 on the command line (or via chrome://flags).
FileHandlingIcons
FileSystem
FileSystemAccess
 Shared objects by OPFS and non-OPFS File System Access API.
FileSystemAccessAPIExperimental
 In-development features for the File System Access API.
FileSystemAccessGetCloudIdentifiers
 The FileSystemHandle.getCloudIdentifiers() method (see
 crbug.com/1443354).
FileSystemAccessLocal
 Non-OPFS File System Access API.
FileSystemAccessLockingScheme
FileSystemAccessOriginPrivate
 OPFS File System Access API.
FileSystemObserver
 The FileSystemObserver interface for the File System Access API.
 See https://crbug.com/1019297.
Fledge
FledgeBiddingAndAuctionServerAPI
FledgeClearOriginJoinedAdInterestGroups
FledgeCreateAuctionNonceSynchronousResolution
FledgeCustomMaxAuctionAdComponents
FledgeDeprecatedRenderURLReplacements
 Enables using a 'deprecatedRenderURLReplacements' field within the
 Protected Audience ad auction config.
FledgeDirectFromSellerSignalsHeaderAdSlot
FledgeFeatureDetection
FledgeMultiBid
FledgeNegativeTargeting
FledgeReportingTimeout
 Enables using a 'reportingTimeout' field within the Protected Audience
 ad auction config.
FledgeTrustedBiddingSignalsSlotSize
FluentOverlayScrollbars
FluentScrollbars
FlushParserBeforeCreatingCustomElements
 Kill switch for crbug.com/1420810 fix
 TODO(xiaochengh): Remove after M122.
Focusgroup
FontAccess
FontationsFontBackend
FontFamilyPostscriptMatchingCTMigration
FontFamilyStyleMatchingCTMigration
FontMatchingCTMigration
FontPaletteAnimation
FontSrcLocalMatching
FontVariationSequences
ForcedColors
 TODO(crbug.com/1231644): This flag is being kept (even though the
 feature has shipped) until there are settings to allow users to
 customize the feature.
ForcedColorsPreserveParentColor
ForceEagerMeasureMemory
ForceReduceMotion
 https://github.com/flackr/reduce-motion/blob/main/explainer.md
ForceTallerSelectPopup
FormattedText
FormControlRestoreStateIfAutocompleteOff
 TODO(crbug.com/1419161): Remove this feature after M113 has been stable
 for a few weeks or more. This is a kill switch that, when enabled, goes
 back to the old behavior, which was to restore the state for 
 and 
FormControlsVerticalWritingModeDirectionSupport
 TODO(crbug.com/1432009) Allow form controls with vertical writing mode
 to have direction affect the flow of the control.
FormControlsVerticalWritingModeSupport
 Allow these form controls to have vertical writing mode: select, meter,
 progress, button and non-text-based input types.
FormControlsVerticalWritingModeTextSupport
 Allow text-based form controls to have vertical writing mode: textarea
 and input types email, number, password, search, tel, text, url.
FormStateRestoreCallbackCallWithState
 Bug fix for crbug.com/1429585
FractionalScrollOffsets
FreezeFramesOnVisibility
FullscreenPopupWindows
 Enables fullscreen windowFeatures parameter in window.open().
GamepadButtonAxisEvents
GamepadMultitouch
GetAllScreensMedia
GetDisplayMedia
GetDisplayMediaRequiresUserActivation
GetNextSiblingPositionWhenLastChild
GroupEffect
HandwritingRecognition
HangingWhitespaceDoesNotDependOnAlignment
 Updates the hanging behavior of preserved whitespace at the end of a
 line to not depend on text-align. This flag is to be used as a
 killswitch in case of any issues.
 https://github.com/w3c/csswg-drafts/issues/3440
 crbug.com/1363901
HasUAVisualTransition
HighlightInheritance
HighlightPointerEvents
HitTestOpaqueness
HrefTranslate
HTMLAnchorAttribute
 The anchor attribute, supported by both anchor positioning and the
 popover API.
HTMLInterestTargetAttribute
 Adds support for the experimental interesttarget
 attributes, as specified in the open-ui "Interest Invokers" explainer.
 https://open-ui.org/components/interest-invokers.explainer/
HTMLInvokeActionsV2
 Additional default invoke actions that aren't part of v1 of invokers.
 When this flag is disabled only v1 actions (popover and dialog defaults) will work.
HTMLInvokeTargetAttribute
 Adds support for the experimental invoketarget and invokeaction
 attributes, as specified in the open-ui "Invokers" explainer.
 https://open-ui.org/components/invokers.explainer/
HTMLParserYieldAndDelayOftenForTesting
 A flag, just for local testing to make the
 HTML parser yield more often and take longer to resume.
 This helps when debugging flaky tests caused by parser
 yielding heuristics.
HTMLPopoverActionHover
 A flag to control the popovertargetaction=hover behavior,
 and associated CSS properties.
HTMLPopoverHint
 TODO(crbug.com/1416284): Enables popover=hint functionality.
HTMLSearchElement
HTMLSelectElementShowPicker
HTMLSelectListElement
HTMLUnsafeMethods
 http://crbug.com/1478969
 https://github.com/whatwg/html/pull/9538
 https://chromestatus.com/feature/6560361081995264
 Enabled by default in M123, should be safe to remove in M127
ImplicitRootScroller
ImportAttributesDisallowUnknownKeys
 This change, although technically breaking, is expected to be fully web-compatible
 due to how import attributes are currently used in the ecosystem. However, this is
 a killswitch just in case. This can be removed once it ships to stable and no
 regressions are reported.
ImprovedXMLErrors
 ImprovedXMLErrors tweaks the way that we emit XML parsing errors in
 some cases in order to comply with upstream changes to libxml.
 Shipping in M123, so should be safe to remove in M126.
IncomingCallNotifications
IncrementLocalSurfaceIdForMainframeSameDocNavigation
 When enabled, every traversable mainframe same-doc navigation will
 increment the viz::LocalSurfaceId from the impl thread.
InertDisplayTransition
InertElementNonEditable
InertElementNonSearchable
InfiniteCullRect
 If a painting bug no longer reproduces with this feature enabled, then
 the bug is caused by incorrect cull rects.
InheritUserModifyWithoutContenteditable
InnerHTMLParserFastpathLogFailure
 If enabled, and the inner html parser is unable to successfully
 parse, it will log histograms of why it failed. The logging is
 non-trivial.
InputMultipleFieldsUI
InputTypeSupportInsertLink
InsertBlockquoteBeforeOuterBlock
 Insert a blockquote before a outer block after creating the blockquote
 when indenting a node whose outer block is a blockquote. See
 https://crbug.com/327665597
InsertLineBreakIfPhrasingContent
 crbug.com/1420675
InstalledApp
InteroperablePrivateAttribution
InterruptComposedScrollbarDisappearance
IntersectionObserverScrollMargin
 If enabled, IntersectionObserverScrollMargin will be parsed.
IntersectionOptimization
InvertedColors
InvisibleSVGAnimationThrottling
JavaScriptCompileHintsMagicRuntime
KeyboardAccessibleTooltip
KeyboardFocusableScrollers
 TODO(crbug.com/40113891): This feature allow scrollers to be
 keyboard focusable by default.
 This should be removed in M128 (Jun 24, 2024) assuming no issues.
LabelEventHandlerCallSuper
 This feature makes HTMLLabelElement::DefaultEventHandler always call
 HTMLElement::DefaultEventHandler instead of only doing so
 conditionally. Shipping in M123 so should be safe to remove in M127.
LangAttributeAwareFormControlUI
LayoutFlexNewRowAlgorithmV3
LayoutFlexUnderInvalidationFix
LayoutIgnoreMarginsForSticky
LayoutNGShapeCache
LayoutSegmentationCache
LazyInitializeMediaControls
LazyLoadScrollMargin
 If enabled, the lazy load image observer will use a scroll margin in
 its init dictionary instead of a root margin.
LazyLoadScrollMarginIframe
 If enabled, the lazy load iframe observer will use a scroll margin in
 its init dictionary instead of a root margin.
LCPAnimatedImagesWebExposed
LCPMouseoverHeuristics
LCPMultipleUpdatesPerElement
LegacyWindowsDWriteFontFallback
LockedMode
LongAnimationFrameTiming
 Enables long aniamtion frames as a performance API (the
 "long-animation-frame" timeline entry)
LongTaskFromLongAnimationFrame
 Use LongAnimationFrameMonitor to emit longtask entries
MacFontsDeprecateFontTraitsWorkaround
MachineLearningCommon
MachineLearningModelLoader
MachineLearningNeuralNetwork
ManagedConfiguration
MaskingGraphemeClusters
 crbug.com/40417720
MeasureMemory
MediaCapabilitiesDynamicRange
MediaCapabilitiesEncodingInfo
MediaCapabilitiesSpatialAudio
MediaCapture
MediaCaptureBackgroundBlur
MediaCaptureCameraControls
MediaCaptureConfigurationChange
MediaCaptureVoiceIsolation
MediaCastOverlayButton
 Set to reflect the MediaCastOverlayButton feature.
MediaControlsExpandGesture
MediaControlsOverlayPlayButton
MediaElementVolumeGreaterThanOne
MediaEngagementBypassAutoplayPolicies
 Set to reflect the kMediaEngagementBypassAutoplayPolicies feature.
MediaLatencyHint
MediaQueryNavigationControls
MediaRecorderUseMediaVideoEncoder
 This uses media::VideoEncoder implementation in MediaRecorder API
 instead of using MediaRecorder own video encoder implementation.
MediaSession
MediaSessionChapterInformation
MediaSessionEnterPictureInPicture
MediaSourceExperimental
MediaSourceExtensionsForWebCodecs
MediaSourceNewAbortAndDuration
MediaStreamTrackTransfer
MessagePortCloseEvent
MetaRefreshNoFractional
 This is a killswitch for  no
 longer accepting fractions, landed around M125.
 It can be removed in M127 if there are no problems.
MiddleClickAutoscroll
 This is enabled by default on Windows only. The only part that's
 "experimental" is the support on other platforms.
MobileLayoutTheme
ModelExecutionAPI
MojoJS
MojoJSTest
 MojoJSTest is used exclusively in testing environments, whereas MojoJS
 may also be used elsewhere.
MouseDragFromIframeOnCancelledMouseDown
 crbug.com/269917: Make mouse event targets agnostic to mousedown event
 cancellation when the pointer is dragged out of an iframe.
MouseDragOnCancelledMouseMove
 crbug.com/40078978: Allow mouse-drag text selection even when mousemove
 event is cancelled.
MoveEndingSelectionToListChild
 Move the selection to the last position in the list item. See
 https://crbug.com/331841851
MultiSelectDeselectWhenOnlyOption
MutationEvents
 crbug.com/1446498: This feature is being used for the deprecation of
 Mutation Events.
MutationEventsSpecialTrialMessage
 crbug.com/1446498: This feature is just used as part of an "early trial"
 of disabling Mutation Events in Canary/Dev/Beta. If this feature is
 enabled and MutationEvents is disabled, then a special console error
 message is used to give more information.
NavigateEventCommitBehavior
NavigateEventSourceElement
NavigationActivation
NavigationId
NavigatorContentUtils
NestedTopLayerSupport
 This should be removed in M127, after it has been shipped for several
 milestones.
NetInfoConstantType
NetInfoDownlinkMax
NewFilterMapRect
 This is a killswitch for the changed behavior of
 CompositorFilterOperations::MapRect() for crbug.com/329235801.
 Can be removed in M127 if things are stable.
NewGetFocusableAreaBehavior
 This is a killswitch for the behavior of Element::GetFocusableArea
 on delegatesFocus shadow hosts. This flag can be removed in M127 if
 things are stable.
NextSiblingPositionUseNextCandidate
NoIdleEncodingForWebTests
NoIncreasingEndOffsetOnSplittingTextNodes
 Doesn't increase the end offset on getting the range for a new line
 character. See https://crbug.com/326888905
NoIntrinsicSizeOverride
 If enabled, LayoutReplaced::IntrinsicSize will return the
 natural/intrinsic size for this replaced element based on the natural
 size for the element's contents
NonComposedEnterLeaveEvents
 Makes enter/leave Mouse and Pointer Events non-composed as per
 corresponding specifications.
NonEmptyBlockquotesOnOutdenting
 Doesn't insert empty blockquotes on outdenting a blockquote. See
 https://crbug.com/323960902
NonStandardAppearanceValuesHighUsage
 TODO(crbug.com/924486): This feature enables the deprecated values
 inner-spin-button, push-button, searchfield-cancel-button,
 slider-horizontal, square-button. Disable this feature to stop
 parsing or allowing these values.
 This feature is disabled in fieldtrial testing config because we are
 testing the deprecation via Finch.
 https://drafts.csswg.org/css-ui-4/#appearance-switching
NonStandardAppearanceValueSliderVertical
 TODO(crbug.com/1426629): This feature enables the deprecated value
 slider-vertical. Disable this feature to stop parsing or allowing these
 values.
 https://drafts.csswg.org/css-ui-4/#appearance-switching
NonStandardAppearanceValuesLowUsage
 TODO(crbug.com/924486): This feature enables the deprecated values
 media-slider, media-sliderthumb, media-volume-slider
 media-volume-sliderthumb, sliderthumb-horizontal, sliderthumb-vertical.
 Disable this feature to stop parsing or allowing these values.
 https://drafts.csswg.org/css-ui-4/#appearance-switching
NoOffsetMappingForInconsistentText
NotificationConstructor
NotificationContentImage
 NotificationContentImage is not available in all platforms
 The Notification Center on Mac OS X does not support content images.
Notifications
NotificationTriggers
NoVarySearchPrefetch
 Origin trial to experiment with No-Vary-Search in Prefetch Cache.
 The functionality in this Origin Trial is now enabled by default in the
 browser by network::features::kPrefetchNoVarySearchShippedByDefault
 feature parameter of network::features::kPrefetchNoVarySearch.
 This runtime enabled feature is ignored as long as the feature
 parameter network::features::kPrefetchNoVarySearchShippedByDefault is
 not disabled via Finch.
 See crbug.com/1378075. Depends on SpeculationRulesPrefetchProxy to be
 enabled.
 On the browser side, the trial needs features::kPrefetchUseContentRefactor
 enabled. If features::kPrefetchUseContentRefactor is disabled, then
 the code will behave as if PrefetchNoVarySearch is disabled.
ObservableAPI
OffMainThreadCSSPaint
OffscreenCanvasCommit
OffsetMappingUnitVariable
 crbug.com/40532763
OmitBlurEventOnElementRemoval
OnDeviceChange
OptionElementAlwaysUseLabel
 This flag is a killswitch. It was only exists as a way for us to turn
 the feature off in the emergency that it breaks websites.
 TODO(http://crbug.com/1473340): Delete internal web_tests which are
 redundant with existing WPTs when we delete this flag.
OrientationEvent
OriginIsolationHeader
OriginPolicy
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.
OriginTrialsSampleAPIBrowserReadWrite
 As above. Do not change this flag to stable, as it exists solely to
 generate code used by the origin trials sample API implementation.
OriginTrialsSampleAPIDependent
 As above. Do not change this flag to stable, as it exists solely to
 generate code used by the origin trials sample API implementation.
 TODO(yashard): Add tests for this feature.
OriginTrialsSampleAPIDeprecation
 As above. Do not change this flag to stable, as it exists solely to
 generate code used by the origin trials sample API implementation.
OriginTrialsSampleAPIExpiryGracePeriod
 As above. Do not change this flag to stable, as it exists solely to
 generate code used by the origin trials sample API implementation.
OriginTrialsSampleAPIExpiryGracePeriodThirdParty
 As above. Do not change this flag to stable, as it exists solely to
 generate code used by the origin trials sample API implementation.
OriginTrialsSampleAPIImplied
 As above. Do not change this flag to stable, as it exists solely to
 generate code used by the origin trials sample API implementation.
OriginTrialsSampleAPIInvalidOS
 As above. Do not change this flag to stable, as it exists solely to
 generate code used by the origin trials sample API implementation.
OriginTrialsSampleAPINavigation
 As above. Do not change this flag to stable, as it exists solely to
 generate code used by the origin trials sample API implementation.
OriginTrialsSampleAPIPersistentExpiryGracePeriod
 As above. Do not change this flag to stable, as it exists solely to
 generate code used by the origin trials sample API implementation.
OriginTrialsSampleAPIPersistentFeature
 As above. Do not change this flag to stable, as it exists solely to
 generate code used by the origin trials sample API implementation.
OriginTrialsSampleAPIPersistentInvalidOS
 As above. Do not change this flag to stable, as it exists solely to
 generate code used by the origin trials sample API implementation.
OriginTrialsSampleAPIPersistentThirdPartyDeprecationFeature
 As above. Do not change this flag to stable, as it exists solely to
 generate code used by the origin trials sample API implementation.
OriginTrialsSampleAPIThirdParty
 As above. Do not change this flag to stable, as it exists solely to
 generate code used by the origin trials sample API implementation.
OverscrollCustomization
PageFreezeOptIn
 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.
PageFreezeOptOut
PageMarginBoxes
 Support for page margin boxes.
 https://www.w3.org/TR/css-page-3/#margin-boxes
PagePopup
PageRevealEvent
PageSwapEvent
PaintUnderInvalidationChecking
Parakeet
 PARAKEET ad serving runtime flag/JS API.
PasswordReveal
 This is to add an option to enable the Reveal button on password inputs while waiting ::reveal gets standardized.
PasswordStrongLabel
PaymentApp
PaymentHandlerMinimalHeaderUX
 Desktop only, if enabled PaymentHandler will use the new minimal header UX.
 See https://crbug.com/1385136.
PaymentInstruments
PaymentMethodChangeEvent
PaymentRequest
 PaymentRequest is enabled by default on Android
PaymentRequestAllowOneActivationlessShow
PaymentRequestMerchantValidationEvent
PercentBasedScrolling
PerformanceManagerInstrumentation
PerformanceMarkFeatureUsage
 Enables performance.mark('mark_feature_usage'): crbug.com/1517170
PerformanceNavigateSystemEntropy
PeriodicBackgroundSync
PerMethodCanMakePaymentQuota
PermissionElement
 Tracking bug for the implementation: https://crbug.com/1462930
Permissions
PermissionsRequestRevoke
PNaCl
 This is a reverse OT used for a phased deprecation.
 https://crbug.com/918374
PointerCaptureLostOnRemovalDuringCapture
PointerEventDeviceId
PositionOutsideTabSpanCheckSiblingNode
PreciseMemoryInfo
PreferDefaultScrollbarStyles
 Adds a web setting to disable CSS ScrollbarColor, ScrollbarWidth, and
 legacy ::-webkit-scrollbar* pseudo element styling.
PreferNonCompositedScrolling
 Prefer not using composited scrolling. Composited scrolling will still
 be used if there are other reasons forcing compositing. For consistency,
 any code calling Settings::GetPreferCompositingToLCDTextEnabled() should
 ensure that this flag overrides the setting.
PrefersReducedData
PrefixedVideoFullscreen
 This feature is deprecated and we are evangelizing affected sites.
 A deprecation trial is underway, starting in M125.
 See https://crbug.com/40352864 for current status
PrePaintAncestorsOfMissedOOF
 Attempt to set up paint properties for ancestors when pre-painting a
 missed descendant, so that paint effects like transforms aren't lost.
Prerender2
 Used to allow chrome://flags to turn off prerendering. (Without using
 the user-facing preloading settings page to turn off other
 preloading.) See https://crbug.com/1494471.

 It also has some feature params defined throughout the codebase.
Presentation
PrettyPrintJSONDocument
PreventReadingSystemAccentColor
 Privacy intervention to disable reading the system accent-color via
 images.
PrivacySandboxAdsAPIs
 The RTE feature encompasses multiple APIs, including: Attribution
 Reporting, FLEDGE, Topics and Fenced Frames.
PrivateAggregationAuctionReportBuyerDebugModeConfig
PrivateNetworkAccessNonSecureContextsAllowed
PrivateNetworkAccessNullIpAddress
PrivateNetworkAccessPermissionPrompt
PrivateStateTokens
PrivateStateTokensAlwaysAllowIssuance
 Always allow trust token issuance (so long as the base::Feature
 is enabled). Used for testing; circumvents a runtime check that,
 if this RuntimeEnabledFeature is not present, guarantees the origin
 trial is enabled.
PushMessaging
PushMessagingSubscriptionChange
QuickIntensiveWakeUpThrottlingAfterLoading
QuotaChange
RasterInducingScroll
ReadableStreamAsyncIterable
ReduceAcceptLanguage
 If enabled, the Accept-Language header will be reduced.
ReduceCookieIPCs
ReduceUserAgentAndroidVersionDeviceModel
 If enabled, the deviceModel will be reduced to "K" and the
 androidVersion will be reduced to a static "10" string in android
 User-Agent string.
ReduceUserAgentMinorVersion
 If enabled, the minor version of the User-Agent string will be reduced.
 This User-Agent Reduction feature has been enabled starting from M101,
 but we still keep this flag for future phase tests.
ReduceUserAgentPlatformOsCpu
 If enabled, the platform and oscpu of the User-Agent string will be
 reduced.
RegionCapture
RemotePlayback
RemotePlaybackBackend
RemoveDanglingMarkupInTarget
RemoveDataUrlInSvgUse
RemoveMobileViewportDoubleTap
RemoveNodeHavingChildrenIfFullySelected
 Remove a node if it's selected fully even though it has children. See
 https://crbug.com/331074432
RemoveVisibleSelectionInDOMSelection
 See https://issues.chromium.org/issues/41311101
RenderBlockingInlineModuleScript
 See https://github.com/whatwg/html/issues/10034
RenderBlockingStatus
RenderPriorityAttribute
 The renderpriority attribute feature.
 https://github.com/WICG/display-locking/blob/main/explainers/update-rendering.md
ReportVisibleLineBounds
 TODO(crbug.com/1500633): Remove this flag when the new CursorAnchorInfo
 mojo pipe is launched.
ResourceTimingContentType
ResourceTimingUseCORSForBodySizes
RestrictGamepadAccess
RewindFloats
 New behavior when line breaker rewinds floats. crbug.com/1499290
RtcAudioJitterBufferMaxPackets
RTCEncodedAudioFrameAbsCaptureTime
RTCEncodedFrameSetMetadata
RTCEncodedVideoFrameAdditionalMetadata
RTCJitterBufferTarget
 Enables the use of jitterBufferTarget attribute in WebRTC.
 Spec: https://w3c.github.io/webrtc-extensions/#dom-rtcrtpreceiver-jitterbuffertarget
RTCLegacyCallbackBasedGetStats
 Legacy callback-based getStats() has limited availability unless this
 Deprecation Trial is enabled.
 TODO(https://crbug.com/822696): Remove when origin trial ends.
RTCRtpEncodingParametersCodec
 Enables the use of |RTCRtpEncodingParameters.codec|
RTCRtpHeaderExtensionControl
 Enables the use of |RTCRtpTransceiver::getHeaderExtensionsToNegotiate|,
 |RTCRtpTransceiver::setHeaderExtensionsToNegotiate|, and
 |RTCRtpTransceiver::getNegotiatedHeaderExtensions|.
RTCStatsRelativePacketArrivalDelay
RTCSvcScalabilityMode
 Enables the use of SVC scalability mode in WebRTC.
 Spec: https://w3c.github.io/webrtc-svc/
RtNoFirstLetterFirstLine
 crbug.com/40942025
RubyLineBreakable
 crbug.com/324111880
RunMicrotaskBeforeXmlCustomElement
 Runs a microtask checkpoint before creating custom elements in
 XMLDocumentParser. Should be safe to remove after M125
SanitizerAPI
SchedulerYield
ScopedCustomElementRegistry
 https://wicg.github.io/webcomponents/proposals/Scoped-Custom-Element-Registries
ScriptedSpeechRecognition
 WebSpeech API with both speech recognition and synthesis functionality
 is not fully enabled on all platforms.
ScriptedSpeechSynthesis
ScrollbarColor
ScrollbarWidth
ScrollEndEvents
ScrollTimeline
ScrollTimelineAlwaysOnCompositor
ScrollTimelineCurrentTime
 Separate flag for crbug.com/1426506 (getCurrentTime API change) which
 is expected to land after the initial launch of ScrollTimeline.
ScrollTimelineOnCompositor
ScrollTopLeftInterop
 Implements documentElement.scrollTop/Left and bodyElement.scrollTop/Left
 as per the spec, matching other Web engines.

 This flag can't be removed until the Android min SDK version is 28
 (i.e., 'P') or later.  See AWSettings.setScrollTopLeftInteropEnabled
 and its caller.
SecurePaymentConfirmation
 SecurePaymentConfirmation has shipped on some platforms, but its
 availability is controlled by the browser process (via the
 SecurePaymentConfirmationBrowser feature), as it requires browser
 support to function. See //content/public/common/content_features.cc

 The status is set to 'test' here to enable some WPT tests that only
 require blink-side support to function.
SecurePaymentConfirmationAllowOneActivationlessShow
SecurePaymentConfirmationDebug
SecurePaymentConfirmationOptOut
SelectHr
 Allows the HTML parser to put 
tags inside
SelectionRespectsColors
 Maintain author-defined ::selection highlight colors, even if they
 match the text color.
SendBeaconThrowForBlobWithNonSimpleType
SensorExtraClasses
Serial
SerializeViewTransitionStateInSPA
SerialPortConnected
ServiceWorkerClientLifecycleState
ServiceWorkerStaticRouter
SetSequentialFocusStartingPoint
ShadowRootClonable
 See crbug.com/1510466: this is the shadow root clonable implementation.
 This shipped in M124, and should be safe to remove in M126 or so.
SharedArrayBuffer
SharedArrayBufferOnDesktop
SharedArrayBufferUnrestrictedAccessAllowed
SharedAutofill
SharedStorageAPI
SharedStorageAPIM118
SharedStorageAPIM125
SharedWorker
SignatureBasedIntegrity
SiteInitiatedMirroring
SkipAd
SkipPreloadScanning
 If enabled, HTMLPreloadScanner will be skipped.
SkipTouchEventFilter
 Skips the browser touch event filter, ensuring that events that reach
 the queue and would otherwise be filtered out will instead be passed
 onto the renderer compositor process as long as the page hasn't timed
 out. If skip_filtering_process is browser_and_renderer, also skip the
 renderer cc touch event filter, ensuring that events will be passed
 onto the renderer main thread.
SkipUpdateTypeForHTMLInputElementCreatedByParser
 Skips calling update type if the HTMLInputElement is created by parser.
 This flag can be removed in M127 if no issues reported.
SmartCard
SmartZoom
SmilAutoSuspendOnLag
SoftNavigationDetection
 Used to enable the code for detecting soft navigations through task
 attribution. Set to stable as this generates an enabled-by-default
 base::Feature for a field-trial remote shutoff. Needs to be a runtime
 feature so that the Soft Navigation Heuristics Origin Trial can depend
 on it.
SoftNavigationHeuristics
SoftNavigationHeuristicsExposeFPAndFCP
SpeakerSelection
SpeculationRulesDocumentRules
SpeculationRulesDocumentRulesSelectorMatches
SpeculationRulesEagerness
SpeculationRulesFetchFromHeader
SpeculationRulesImplicitSource
SpeculationRulesNoVarySearchHint
SpeculationRulesNoVarySearchHintShippedByDefault
 The "expects_no_vary_search" hint is enabled if it is enabled:
  through an origin trial token (NoVarySearchPrefetch) or
  by default (SpeculationRulesNoVarySearchHintShippedByDefault)
SpeculationRulesPointerDownHeuristics
SpeculationRulesPointerHoverHeuristics
SpeculationRulesPrefetchFuture
 This feature exists solely to be the target of implied_by for features
 that are part of this trial but which may also be enabled another way.
 Otherwise, runtime-enabled features can be added to the origin trial
 with the following:
   origin_trial_feature_name: "SpeculationRulesPrefetchFuture",
   origin_trial_allows_third_party: true,
SpeculationRulesPrefetchWithSubresources
SpeculationRulesRelativeToDocument
SpellCheckerReplaceRangeUseInsertText
SrcsetMaxDensity
StableBlinkFeatures
 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.
StandardizedBrowserZoom
 See https://github.com/w3c/csswg-drafts/issues/9398
StaticAnimationOptimization
StorageBuckets
StorageBucketsDurability
 Gates the durability() method on a storage bucket and the property in
 the options struct.
StorageBucketsLocks
 Gates the locks() method on a storage bucket.
StrictMimeTypesForWorkers
StylableSelect
 Allows 
StylusHandwriting
SvgContextPaint
SvgCrossOriginAttribute
SvgNoPixelSnappingScaleAdjustment
SynthesizedKeyboardEventsForAccessibilityActions
SystemWakeLock
TemplateDelegatesFocusReflection
 Killswitch for the reflection of