Chrome features

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

Name Description Enabled by default
kAbortNavigationsFromTabClosures
Marks navigations as aborted when the NavigationHandle is destroyed mid
navigation, likely due to a tab closure. This is a kill switch.
kAdditionalOpaqueOriginEnforcements
Kill switch to guard additional security checks performed by the browser
process on opaque origins, such as when verifying source origins for
postMessage. See https://crbug.com/40109437.
kAndroidCaptureKeyEvents
Capture Android key event objects to send them to the web contents when the
IME sends composition texts.
kAndroidCaretBrowsing
Enables the caret browsing a11y feature - can use arrow keys to navigate
through web pages.
kAndroidDevToolsFrontend
DevTools frontend for Android.
kAndroidEnableBackgroundMediaLargeFormFactors
Enables media to continue playing in the background.
kAndroidFallbackToNextSlot
Fallback to next named service slot if launching a privileged service process
hangs. In practice, this means if GPU launch hanges, then retry it once.
kAndroidMediaInsertion
Enables IMEs to insert media content such as images, gifs and stickers.
kAndroidWarmUpSpareRendererWithTimeout
Warm up a spare renderer after each navigation on Android.
kAttachUnownedInnerWebContents
Whether to allow attaching an inner WebContents not owned by the outer
WebContents. This is for prototyping purposes and should not be enabled in
production.
kAudioServiceLaunchOnStartup
Launches the audio service on the browser startup.
kAudioServiceOutOfProcess
Runs the audio service in a separate process.
kAudioServiceSandbox
Enables the audio-service sandbox. This feature has an effect only when the
kAudioServiceOutOfProcess feature is enabled.
kBackgroundFetch
Kill switch for Background Fetch.
kBackForwardCache
Enable using the BackForwardCache.
kBackForwardCacheEntryTimeout
Set a time limit for the page to enter the cache. Disabling this prevents
flakes during testing.
kBackForwardCacheMemoryControls
BackForwardCacheMemoryControls is enabled only on Android to disable
BackForwardCache for lower memory devices due to memory limitations.
kBatterySaverModeAlignWakeUps
If enabled, makes battery saver request heavy align wake ups.
kBlockInsecurePrivateNetworkRequests
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
kBlockInsecurePrivateNetworkRequestsFromPrivate
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
kBrokerFileOperationsOnDiskCacheInNetworkService
Broker file operations on disk cache in the Network Service.
This is no-op if the network service is hosted in the browser process.
kBypassRedirectChecksPerRequest
Allows the decision to bypass redirect checks to be made based on the
specific request.
kCacheControlNoStoreEnterBackForwardCache
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): Remove this feature and clean up.
kCapturedSurfaceControlKillswitch
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.
kClearCrossSiteCrossBrowsingContextGroupWindowName
Clear the window.name property for the top-level cross-site navigations that
swap BrowsingContextGroups(BrowsingInstances).
kCompositeBGColorAnimation
kCookieDeprecationFacilitatedTesting
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)
kDeferSpeculativeRFHCreation
Enables deferring the creation of the speculative RFH when the navigation
starts. The creation of a speculative RFH consumes about 2ms and is blocking
the network request. With this feature the creation will be deferred until
the browser initializes the network request. The speculative RFH will be
created while the network service is sending the request in parallel.
kDelayRfhDestructionsOnUnloadAndDetach
Delay the destructions of RenderFrameHostImpls during a navigation (on
Unload) or frame Detach, by delaying the call to
PendingDeletionCheckCompletedOnSubTree.
kDeviceBoundSessionTerminationEvictBackForwardCache
When a device bound session
(https://github.com/w3c/webappsec-dbsc/blob/main/README.md) is
terminated, evict pages with cache-control:no-store from the
BFCache. Note that if kCacheControlNoStoreEnterBackForwardCache is
disabled, no such pages will be in the cache.
kDevToolsPrivacyUI
When enabled, the DevTools Privacy UI is displayed.
kDigitalGoodsApi
Controls whether the Digital Goods API is enabled.
https://github.com/WICG/digital-goods/
kBtm
Enables the BTM (Bounce Tracking Mitigation) feature.
On by default to allow for collecting metrics. All potentially dangerous
behavior (database persistence, storage deletion) will be gated by params.
kBtmTtl
Flag used to control the TTL for user interactions (separately from the
|kBtm| feature flag).
kBtmDualUse
Enables Bounce Tracking Mitigations for Dual Use sites.
kWebRtcHWDecoding
Enables HW decode acceleration for WebRTC.
kWebRtcHWEncoding
Enables HW encode acceleration for WebRTC.
kWebContentsDiscard
Enables a discard operation on WebContents to free associated resources.
Eliminates the need to destroy the WebContents object to free its resources.
kDisablePartialStorageCleanupForGPUDiskCache
When this feature is enabled, partial storage cleanup will be
disabled for the GPU disk cache. (Performance improvement)
kDrawCutoutEdgeToEdge
Enable drawing under System Bars within DisplayCutout.
kEarlyEstablishGpuChannel
Enable establishing the GPU channel early in renderer startup.
kEnableCanvas2DLayers
Enables canvas 2d methods BeginLayer and EndLayer.
kEnableJavalessRenderers
Enables javaless renderers.
kEnableServiceWorkersForChromeUntrusted
Enables service workers on chrome-untrusted:// urls.
kEnableServiceWorkersForChromeScheme
Enables service workers on chrome:// urls.
kEnsureExistingRendererAlive
Ensures the renderer is not dead when getting the process host for a site
instance.
kFedCm
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.
kFedCmEmbedderCheck
Kill switch for checking if there is an ongoing embedder task in the auto
re-authn flow.
kFedCmAlternativeIdentifiers
Support usernames and phone numbers to identify users, instead of
(or in addition to) names and emails.
kFedCmAutofill
Enables RPs to enhance autofill with federated accounts fetched by the FedCM
API.
kFedCmDelegation
Enables usage of the FedCM Delegation API.
kFedCmErrorAttribute
Enables the spec-compliant 'error' attribute in IdentityCredentialError while
deprecating the legacy 'code' attribute.
kFedCmIdPRegistration
Enables usage of the FedCM IdP Registration API.
kFedCmIframeOrigin
For cross-site iframes, sends the top-level origin to the IDP and parses
an optional returned boolean indicating whether it is part of the same
client to allow for UI decisions based on the boolean.
kFedCmLightweightMode
Enables Lightweight FedCM Mode
kFedCmMetricsEndpoint
Enables usage of the FedCM API with metrics endpoint at the same time.
kFedCmNonceInParams
Enables Nonce usage in Params
kFedCmWellKnownEndpointValidation
Controls whether FedCM requires explicit endpoint declaration in well-known
files when client_metadata is used. When enabled, accounts_endpoint and
login_url must be present in .well-known/web-identity for privacy validation.
kFedCmWithoutWellKnownEnforcement
Enables bypassing the well-known file enforcement.
kFedCmNavigationInterception
Enables usage of the FedCM IdP-Initiation API.
kFencedFramesEnforceFocus
Enables browser-side focus verification when crossing fenced boundaries.
kForwardMemoryPressureToBlinkIsolates
Whether a memory pressure signal in a renderer should be forwarded to Blink
isolates. Forwarding the signal triggers a GC (critical) or starts
incremental marking (moderate), see v8::Heap::CheckMemoryPressure.
kWebIdentityDigitalCredentials
Enables the Digital Credential API.
kWebIdentityDigitalCredentialsCreation
Enables the Digital Credentials Creation API.
kFractionalScrollOffsets
Enables scrollers inside Blink to store scroll offsets in fractional
floating-point numbers rather than truncating to integers.
kNetworkQualityEstimatorWebHoldback
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).
kGuestViewMPArch
Whether GuestViews (see components/guest_view/README.md) are implemented
using MPArch inner pages. See https://crbug.com/40202416
kIdbPrioritizeForegroundClients
See crbug.com/359623664
kIgnoreDuplicateNavs
Controls whether we ignore duplicate navigations or not, in favor of
preserving the already ongoing navigation.
kInstalledApp
Kill switch for the GetInstalledRelatedApps API.
kInstalledAppProvider
Allow Windows specific implementation for the GetInstalledRelatedApps API.
kIsolatesPriorityUseProcessPriority
When enabled, derives isolate priority from the more granular process
priority (user-blocking, user-visible, best-effort) instead of renderer
visibility (visible, hidden).

Subtlety: A renderer hosting a hidden frame playing audio will have
user-blocking priority. Without this feature, an isolate in this renderer
would have best-effort priority (derived from the visibility), whereas with
the feature it would be user-blocking. To keep isolates in hidden renderers
at best-effort priority, but otherwise use the process priority, enable this
feature along with "IsolatesPriorityBestEffortWhenHidden".
kIsolatesPriorityBestEffortWhenHidden
When enabled, forces the priority of isolates in hidden renderers to
best-effort, overriding the effect of kIsolatesPriorityUseProcessPriority
(isolates in visible renderer will still get their priority derived from
process priority).
kIsolatedWebApps
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.
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.
kIsolateFencedFrames
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.
kIsolateOrigins
Alternative to switches::kIsolateOrigins, for turning on origin isolation.
List of origins to isolate has to be specified via
kIsolateOriginsFieldTrialParamName.
kLazyBrowserInterfaceBroker
When enabled, creation of the BrowserInterfaceBroker on RenderFrameHostImpls
becomes lazy. i.e. the BrowserInterfaceBroker is constructed only when it is
needed, typically when a renderer process becomes associated with the frame.
See https://crbug.com/450912216 for more details.
kLoadingPredictorLimitPreconnectSocketCount
If this is enabled, LoadingPredictor restricts the number of preconnects for
the same destination to one.
kLogJsConsoleMessages
kMBIMode
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.
kNavigationConfidenceEpsilon
Controls the configurablity of the navigation confidence noise level.
If the feature is not enabled, then the epsilon value will be 1.1.
kNavigationNetworkResponseQueue
When NavigationNetworkResponseQueue is enabled, the browser will schedule
some tasks related to navigation network responses in a kHigh priority
queue.
kNetworkServiceInProcess
If the network service is enabled, runs it in process.
kNoStatePrefetchHoldback
Feature which holdbacks NoStatePrefetch on all surfaces.
kOriginIsolationHeader
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.
kOverscrollHistoryNavigation
History navigation in response to horizontal overscroll (aka gesture-nav).
kPdfEnforcements
Enables additional ChildProcessSecurityPolicy enforcements for PDF renderer
processes, including blocking storage and cookie access for them.

TODO(https://crbug.com/40205612): Remove this kill switch once the PDF
enforcements are verified not to cause problems.
kPeriodicBackgroundSync
Whether web apps can run periodic tasks upon network connectivity.
kPrefetchPrerenderIntegration
Use code paths for prefetch/prerender integration.
See also kPrerender2FallbackPrefetchSpecRules.
kPrefetchProxy
If explicitly disabled, prefetch proxy is not used.
kPreloadingRespectUserAgentOverride
Killswitch for UA override issue fix (crbug.com/441612842) in preloading.
kPrerender2ReuseHost
If enabled, the feature allows the prerender host to be reused for the
future same-site page prerender if marked as reusable.
kPrivacySandboxAdsAPIsOverride
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.
kProcessSelectionDeferringConditions
When enabled, ProcessSelectionDeferringConditions will be run. This allows
the embedder to provide conditions that may delay the final process selection
until the conditions have their results.
kOriginKeyedProcessesByDefault
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.
kPushSubscriptionChangeEventOnInvalidation
Fires the pushsubscriptionchange event defined here:
https://w3c.github.io/push-api/#the-pushsubscriptionchange-event
for subscription refreshes, revoked permissions or subscription losses
kPushSubscriptionChangeEventOnResubscribe
Fires the pushsubscriptionchange event defined here:
https://w3c.github.io/push-api/#the-pushsubscriptionchange-event
upon manual resubscription to previously unsubscribed notifications.
kQueueNavigationsWhileWaitingForCommit
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.
kReduceSubresourceResponseStartedIPC
When enabled, sends SubresourceResponseStarted IPC only when the user has
allowed any HTTPS-related warning exceptions. From field data, ~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.
kRenderDocument
Enable using the RenderDocument.
kRestrictThreadPoolInBackground
Restrict the maximum number of concurrent ThreadPool tasks when a renderer is
low priority.
kSetHistoryInfoOnViewCreation
Feature that stops broadcasting the history index and length when
CreateRenderViewForRenderManager() is invoked, and instead passes the
information in the CreateViewParams, saving some IPC calls.
kSpareRendererProcessPriority
When enabled, sends the spare renderer information when setting the
priority of renderers. Currently only Android handles the spare renderer
information in priority.
The target priority of a spare renderer in Android is decided by the feature
parameters in ContentFeatureList.java.
kRetryGetVideoCaptureDeviceInfos
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.
kProcessPerSiteUpToMainFrameThreshold
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.
kServiceWorkerAutoPreload
Enables auto preloading for fetch requests before invoking the fetch handler
in ServiceWorker. The fetch request inside the fetch handler is resolved with
this preload response. If the fetch handler result is fallback, uses this
preload request as a fallback network request.

Unlike navigation preload, this preloading is applied to subresources. Also,
it doesn't require a developer opt-in.

crbug.com/1472634 for more details.
kServiceWorkerStaticRouterRaceNetworkRequestPerformanceImprovement
crbug.com/374606637: When this is enabled, race-network-and-fetch-hander will
prioritize the response processing for the network request over the
processing for the fetch handler.
kRunVideoCaptureServiceInBrowserProcess
Run video capture service in the Browser process as opposed to a dedicated
utility process.
kSchedQoSOnResourcedForChrome
Update scheduler settings using resourced on ChromeOS.
kSecurePaymentConfirmation
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.
kSecurePaymentConfirmationDebug
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.
kServiceWorkerPaymentApps
Service worker based payment apps as defined by w3c here:
https://w3c.github.io/webpayments-payment-apps-api/
TODO(rouslan): Remove this.
kServiceWorkerBackgroundUpdateForRegisteredStorageKeys
If enabled, UI thread tasks can check ServiceWorker registration information
from the thread pool without waiting for running the receiving task. Please
see crbug.com/421530699 for more details.
kSharedArrayBuffer
http://tc39.github.io/ecmascript_sharedmem/shmem.html
This feature is also enabled independently of this flag for cross-origin
isolated renderers.
kUserMediaCaptureOnFocus
If enabled, GetUserMedia API will only work when the concerned tab is in
focus
kWebAppPredictableAppUpdating
A feature to enabled updating installed PWAs more predictably by considering
changes in icon urls.
kWebOTP
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.
kWebViewAsyncDrawOnly
Trial to disable synchronous draw for synchronous compositor (ie Android
WebView).
kWebLockScreenApi
Enable the web lockscreen API implementation
(https://github.com/WICG/lock-screen) in Chrome.
kSiteInstanceGroupsForDataUrls
When enabled, puts subframe data: URLs in a separate SiteInstance in the same
SiteInstanceGroup as the initiator.
kDefaultSiteInstanceGroups
When enabled, puts non-isolated sites in separate SiteInstances in a default
SiteInstanceGroup (per BrowsingInstance), rather than sharing a default
SiteInstance.
kSiteIsolationForCrossOriginOpenerPolicy
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.
kDisableProcessReuse
When enabled, OOPIFs will not try to reuse compatible processes from
unrelated tabs.
kSpareRendererForSitePerProcess
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.
kStrictOriginIsolation
Controls whether site isolation should use origins instead of scheme and
eTLD+1.
kSubframePriorityContribution
When enabled, RenderWidgetHost in BFCache doesn't contribute to the priority
of the renderer process.
kSuppressDifferentOriginSubframeJSDialogs
Disallows window.{alert, prompt, confirm} if triggered inside a subframe that
is not same origin with the main frame.
kSyntheticPointerActions
Dispatch touch events to "SyntheticGestureController" for events from
Devtool Protocol Input.dispatchTouchEvent to simulate touch events close to
real OS events.
kTouchDragAndContextMenu
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).
kTrackEmptyRendererProcessesForReuse
Controls whether the browser should track and reuse free and empty renderer
processes. When enabled, the browser maintains a list of renderer processes
that are currently not hosting any frames and are thus eligible for reuse
when a new renderer process is needed. Currently, only background renderer
processes are considered for reuse.
kUnrestrictedSharedArrayBuffer
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
kVerifyDidCommitParams
Enables comparing browser and renderer's DidCommitProvisionalLoadParams in
RenderFrameHostImpl::VerifyThatBrowserAndRendererCalculatedDidCommitParamsMatch.
kValidateCommitOriginAtCommit
Enables a CHECK in NavigationRequest::ValidateCommitOrigin() to verify
that the origin used at commit time matches the expected origin stored
in the FrameNavigationEntry, whenever PageState is non-empty.

This helps catch session history corruption or stale origin-related state
being sent to the renderer, which could violate origin isolation and lead
to security issues (see crbug.com/41492620).

This feature is disabled by default while we diagnose on Canary only.
kV8VmFuture
Enables future V8 VM features
kWebAppSystemMediaControls
Enables per PWA System Media Controls. Only supported on Windows and macOS.
kWebAssemblyBaseline
Enable WebAssembly baseline compilation (Liftoff).
kEnableExperimentalWebAssemblySharedEverything
Enables WebAssembly Shared-Everything Threads.
kWebAssemblyLazyCompilation
Enable WebAssembly lazy compilation (JIT on first call).
kWebAssemblyTiering
Enable WebAssembly tiering (Liftoff -> TurboFan).
kWebAssemblyTrapHandler
Enable WebAssembly trap handler.
kWebBluetooth
Controls whether the Web Bluetooth API is enabled:
https://webbluetoothcg.github.io/web-bluetooth/
kWebBluetoothNewPermissionsBackend
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.
kWebOtpBackendAuto
Controls which backend is used to retrieve OTP on Android. When disabled
we use User Consent API.
kWebPayments
The JavaScript API for payments on the web.
kWebUICodeCache
Enables code caching for scripts used on WebUI pages.
kWebUIBundledCodeCache
Enables build-time generated resource-bundled code caches for WebUI pages.
See crbug.com/375509504 for details.
kWebUIJSErrorReportingExtended
Reports WebUI Javascript errors to the crash server on all desktop platforms.
Previously, this was only supported on ChromeOS and Linux.
Intentionally enabled by default and will be used as a kill switch in case
of regressions.
kWebUsb
Controls whether the WebUSB API is enabled:
https://wicg.github.io/webusb
kWebViewPrefetchHighestPrefetchPriority
Apply PrefetchPriority::kHighest for Webview Prefetch API.
kWebXr
Controls whether the WebXR Device API is enabled.
kWebPermissionsApi
Enable the navigator.permissions API.
Used for launch in WebView, but exposed in content to map to runtime-enabled
feature.
kIOThreadInteractiveThreadType
Sets IO threads to kInteractive all the time.
kBoostThreadsPriorityDuringInputScenario
Boosts IO threads and Browser main to kInteractive during input scenarios.
kPwaNavigationCapturing
kSubframeProcessShutdownDelay
Enables overriding the default subframe process shutdown delay via the
"delay_seconds" field trial parameter. This allows for experimentation with
different timeout values for keeping subframe processes alive for potential
reuse.
kAIPageContentIncludePopupWindows
Capture Android key event objects to send them to the web contents when the
IME sends composition texts.
kAdAuctionSignals
kAvoidTrustedParamsCopies
kAsyncTouchMovesImmediatelyAfterScroll
Create the spare renderer in DidStopLoading rather than in
SpareRenderProcessHostManager::PrepareForFutureRequests.
kBlockMidiByDefault
kComputePressureRateObfuscationMitigation
The delay for creating the Android spare renderer in
kCrashReportingAPIMoreContextData
The delay for creating the Android spare renderer in
SpareRenderProcessHostManager::PrepareForFutureRequests.
The parameter will not be effective if
spare_renderer_creation_after_stop_loading is enabled.
kOverrideCrashReportingEndpoint
kLowerHighResolutionTimerThreshold
kAllowDatapipeDrainedAsBytesConsumerInBFCache
The timeout for the created spare renderer after each navigation on Android.
The created renderer will be destroyed after the timeout.
kAllowDevToolsMainThreadDebuggerForMultipleMainFrames
kAllowURNsInIframes
The lower memory limit to create a spare renderer after each navigation on
Android.
kDisplayWarningDeprecateURNIframesUseFencedFrames
Kill the spare renderer when the browser goes to the background to free
resources.
kAudioWorkletThreadRealtimePriority
kAudioWorkletThreadPool
Launches the audio service on the browser startup.
kAutofillEnableSyntheticSelectMetricsLogging
kAutofillFixFieldsAssociatedWithNestedFormsByParser
Enables the audio-service sandbox. This feature has an effect only when the
kAutofillSendUnidentifiedKeyAfterFill
kAutoSpeculationRules
Kill switch for Background Fetch.
kBFCacheOpenBroadcastChannel
kBFCacheWithSharedWorker
BackForwardCache is disabled on low memory devices. The threshold is defined
kBackForwardCacheDWCOnJavaScriptExecution
BackForwardCache is disabled on low memory devices. The threshold is defined
via a field trial param: "memory_threshold_for_back_forward_cache_in_mb"
It is compared against base::SysInfo::AmountOfPhysicalMemoryMB().
kBackgroundResourceFetch
kBakedGamutMapping
kBackgroundTracingPerformanceMark
If enabled, makes battery saver request heavy align wake ups.
kBoostImageSetLoadingTaskPriority
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
kBoostFontLoadingTaskPriority
kBoostVideoLoadingTaskPriority
kBoostRenderBlockingStyleLoadingTaskPriority
When this feature is enabled, requests to localhost initiated from non-secure
kBoostNonRenderBlockingStyleLoadingTaskPriority
When this feature is enabled, requests to localhost initiated from non-secure
contexts in the private IP address space are blocked.
kBrowsingTopicsBypassIPIsPubliclyRoutableCheck
kBrowsingTopicsDocumentAPI
kBrowsingTopicsParameters
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.
kCacheStorageCodeCacheHintHeader
Sets how long BTM maintains interactions and Web Authn Assertions (WAA) for
a site.

If a site in the BTM database has an interaction or WAA within the grace
period a BTM-triggering action, then that action and all ensuing actions are
protected from BTM clearing until the interaction and WAA "expire" as set
by this param.
kCanvas2DHibernation
Sets the actions which will trigger BTM clearing for a site. The default is
to set to |kBounce|, but can be overridden by Finch experiment groups,
kCanvas2DHibernationReleaseTransferMemory
kCanvas2DHibernationNoSmallCanvas
Denotes the length of a time interval within which any client-side redirect
is viewed as a bounce (provided all other criteria are equally met). The
interval starts every time a page finishes a navigation (a.k.a. a commit is
registered).
kCaptureJSExecutionLocation
kClearSiteDataPrefetchPrerenderCache
Enables HW decode acceleration for WebRTC.
kClientHintsDPR_DEPRECATED
kClientHintsDeviceMemory_DEPRECATED
kClientHintsResourceWidth_DEPRECATED
kClientHintsViewportWidth_DEPRECATED
Enables a discard operation on WebContents to free associated resources.
kCompressParkableStrings
kLessAggressiveParkableString
Enables fast-shutdown to ignore workers during urgent discards on certain
kCombineNewWindowIPCs
kConsumeCodeCacheOffThread
kContentCaptureConstantStreaming
kCreateImageBitmapOrientationNone
Enables service workers on chrome-untrusted:// urls.
kDeclarativeCSSModulesUseDataURI
kDeferRendererTasksAfterInput
Ensures the renderer is not dead when getting the process host for a site
kDelayAsyncScriptExecution
For cross-site iframes, sends the top-level origin to the IDP and parses
kDelayLayerTreeViewDeletionOnLocalSwap
When enabled, derives isolate priority from the more granular process
priority (user-blocking, user-visible, best-effort) instead of renderer
visibility (visible, hidden).

Subtlety: A renderer hosting a hidden frame playing audio will have
user-blocking priority. Without this feature, an isolate in this renderer
would have best-effort priority (derived from the visibility), whereas with
the feature it would be user-blocking. To keep isolates in hidden renderers
at best-effort priority, but otherwise use the process priority, enable this
kDevToolsImprovedNetworkError
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.
Please don't use this feature flag directly to guard the IWA code.  Use
IsolatedWebAppsPolicy::AreIsolatedWebAppsEnabled() in the browser process or
kDirectCompositorThreadIpc
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.
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.
kDisableArrayBufferSizeLimitsForTesting
Enables process isolation of fenced content (content inside fenced frames)
from non-fenced content. See
kDiscardInputEventsToRecentlyMovedFrames
kDropInputEventsWhilePaintHolding
kEnableDevtoolsDeepLinkViaExtensibilityApi
When enabled, creation of the BrowserInterfaceBroker on RenderFrameHostImpls
becomes lazy. i.e. the BrowserInterfaceBroker is constructed only when it is
needed, typically when a renderer process becomes associated with the frame.
kEstablishGpuChannelAsync
kEnableLazyLoadImageForInvisiblePage
kEnforceNoopenerOnBlobURLNavigation
kEventTimingIgnorePresentationTimeFromUnexpectedFrameSource
kExpandCompositedCullRect
kFadeInScrollbarWhenMouseWheelMayBegin
kFencedFrames
kFencedFramesCrossOriginEventReporting
kFencedFramesAutomaticBeaconCredentials
Controls the Origin-Agent-Cluster header. Tracking bug
kFencedFramesCrossOriginAutomaticBeaconData
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.
kFencedFramesLocalUnpartitionedDataAccess
History navigation in response to horizontal overscroll (aka gesture-nav).
kFencedFramesReportEventHeaderChanges
Enables additional ChildProcessSecurityPolicy enforcements for PDF renderer
kFencedFramesSrcPermissionsPolicy
kExemptUrlFromNetworkRevocationForTesting
Use code paths for prefetch/prerender integration.
See also kPrerender2FallbackPrefetchSpecRules.
kFetchDestinationJsonCssModules
kFileHandlingIcons
If enabled, the feature allows the prerender host to be reused for the
kFileSystemUrlNavigation
kFileSystemUrlNavigationForChromeAppsOnly
If enabled, the feature parameter allows all the prerender hosts for
kFilteringScrollPrediction
kFledge
Enables origin-keyed processes by default, unless origins opt out using
Origin-Agent-Cluster: ?0. This feature only takes effect if the Blink feature
kFledgeBiddingAndAuctionServer
kFledgeOriginScopedKeys
When enabled, queues navigations instead of cancelling the previous
kFledgeConsiderKAnonymity
When enabled, sends SubresourceResponseStarted IPC only when the user has
allowed any HTTPS-related warning exceptions. From field data, ~100% of
subresource notifications are not required, since allowing certificate
kFledgeEnforceKAnonymity
When enabled, sends SubresourceResponseStarted IPC only when the user has
allowed any HTTPS-related warning exceptions. From field data, ~100% of
subresource notifications are not required, since allowing certificate
exceptions by users is a rare event. Hence, if user has never allowed any
kFledgeLimitSelectableBuyerAndSellerReportingIds
When enabled, sends SubresourceResponseStarted IPC only when the user has
allowed any HTTPS-related warning exceptions. From field data, ~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.
kFledgeMaxGroupLifetimeFeature
kFledgeEnableSampleDebugReportOnCookieSetting
kFledgeSampleDebugReports
kFledgeEnforcePermissionPolicyContributeOnEvent
Specifies the total memory limit for kProcessPerSiteUpToMainFrameThreshold
kFledgeDisableLocalAdsAuctions
Specifies the total memory limit for kProcessPerSiteUpToMainFrameThreshold
feature. This is a limit of the private memory footprint calculation, if
adding an additional top level frame would take us over this limit the
addition will be denied. An application may indeed allocate more than this
kFledgeLimitSelectableBuyerAndSellerReportingIdsFetchedFromKAnon
Enables auto preloading for fetch requests before invoking the fetch handler
kFledgeTruncateSelectableBuyerAndSellerReportingIdsToKAnonLimit
kForceHighPerformanceGPUForWebGL
kForceOffTextAutosizing
kForceWebContentsDarkMode
kFrameMetadataObserver
Service worker based payment apps as defined by w3c here:
https://w3c.github.io/webpayments-payment-apps-api/
kFrequencyCappingForLargeStickyAdDetection
If enabled, UI thread tasks can check ServiceWorker registration information
from the thread pool without waiting for running the receiving task. Please
see crbug.com/421530699 for more details.
kFrequencyCappingForOverlayPopupDetection
http://tc39.github.io/ecmascript_sharedmem/shmem.html
This feature is also enabled independently of this flag for cross-origin
kGMSCoreEmoji
kGetDisplayMediaIgnoreAudioPermissionFailures
Supports x-on-meet-coop interop implementation.
TODO: crbug.com/398741358 - clean up this temporary workaround after
kIgnoreInputWhileHidden
Trial to disable synchronous draw for synchronous compositor (ie Android
WebView).
kImageLoadingPrioritizationFix
kInitialWebUIWithoutExtensions
kIndexedDBCompressValuesWithSnappy
When enabled, puts non-isolated sites in separate SiteInstances in a default
SiteInstanceGroup (per BrowsingInstance), rather than sharing a default
kInputPredictorTypeChoice
kInputScenarioPriorityBoost
kIntensiveWakeUpThrottling
kInteractiveDetectorIgnoreFcp
kIsolateSandboxedIframes
When enabled, RenderWidgetHost in BFCache doesn't contribute to the priority
of the renderer process.
kKeepAliveInBrowserMigration
This feature allows touch dragging and a context menu to occur
kLimitLayerMergeDistance
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
kLCPCriticalPathPredictor
kLCPScriptObserver
Enable WebAssembly baseline compilation (Liftoff).
kLCPTimingPredictorPrerender2
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
kLCPPAutoPreconnectLcpOrigin
kLCPPDeferUnusedPreload
Controls whether the WebXR Device API is enabled.
kLCPPFontURLPredictor
kLCPPInitiatorOrigin
Enables Exclusive Access Manager on Android platform
kLCPPLazyLoadImagePreload
kPreloadSystemFonts
kLCPPMultipleKey
Enables overriding the default subframe process shutdown delay via the
"delay_seconds" field trial parameter. This allows for experimentation with
different timeout values for keeping subframe processes alive for potential
reuse.
kLCPPPrefetchSubresource
kLCPPPrefetchSubresourceAsync
kHttpDiskCachePrewarming
kLegacyParsingOfXContentTypeOptions
namespace features
kLightweightNoStatePrefetch
namespace features
kLinkPreview
namespace features
kLoadingTasksUnfreezable
namespace features
kLogUnexpectedIPCPostedToBackForwardCachedDocuments
namespace features
kLowLatencyCanvas2dImageChromium
namespace features
kLowLatencyWebGLImageChromium
namespace features
kLowPriorityAsyncScriptExecution
namespace features
kMixedContentAutoupgrade
namespace features
kMemoryCacheIntelligentPruning
namespace features
kMemoryCacheStrongReferenceExtensions
namespace features
kMemoryCacheStrongReference
namespace features
kMemoryPurgeOnFreeze
namespace features
kMemoryPurgeOnFreezeLimit
namespace features
kMemorySaverModeRenderTuning
namespace features
kMHTML_Improvements
namespace features
kNavigationPredictor
namespace features
kNavigationPredictorNewViewportFeatures
namespace features
kNoForcedFrameUpdatesForWebTests
namespace features
kNoReferrerForPreloadFromSubresource
namespace features
kNoThrottlingVisibleAgent
namespace features
kNoThrowForCSPBlockedWorker
namespace features
kOpenAllUrlsOrFilesOnDrop
namespace features
kOptimizeHTMLElementUrls
namespace features
kOriginAgentClusterDefaultEnabled
namespace features
kPaintHolding
namespace features
kPath2DPaintCache
namespace features
kDedicatedWorkerAblationStudyEnabled
namespace features
kUseAncestorRenderFrameForWorker
namespace features
kPrecompileInlineScripts
namespace features
kPreferCompositingToLCDText
namespace features
kPreloadingEagerHoverHeuristics
namespace features
kPreloadingEagerViewportHeuristics
namespace features
kPreloadingHeuristicsMLModel
namespace features
kPreloadingModerateViewportHeuristics
namespace features
kPageHideEventForPrerender2
namespace features
kPrerender2MemoryControls
namespace features
kPrerender2EarlyDocumentLifecycleUpdate
namespace features
kPrivateAggregationApi
namespace features
kPrivateAggregationApiProtectedAudienceAdditionalExtensions
namespace features
kProcessHtmlDataImmediately
namespace features
kForceProduceCompileHints
namespace features
kLocalCompileHints
namespace features
kQuoteEmptySecChUaStringHeadersConsistently
namespace features
kReducedReferrerGranularity
namespace features
kRefactorCompositorThreadEventQueue
namespace features
kReleaseResourceStrongReferencesOnMemoryPressure
namespace features
kReleaseResourceDecodedDataOnMemoryPressure
namespace features
kRemoveCommitRedirectUrlsArray
namespace features
kRemovePurposeHeaderForPrefetch
namespace features
kRenderBlockingFonts
namespace features
kRenderSizeInScoreAdBrowserSignals
namespace features
kResamplingInputEvents
namespace features
kResamplingScrollEvents
namespace features
kResourceFetcherStoresStrongReferences
namespace features
kRestrictSpellingAndGrammarHighlights
namespace features
kSafelistPaytoToRegisterProtocolHandler
namespace features
kPausePagesPerBrowsingContextGroup
namespace features
kShowHudDisplayForPausedPages
namespace features
kScriptStreaming
namespace features
kScriptStreamingForNonHTTP
namespace features
kSecPurposePrefetchHeaderNoStatePrefetch
namespace features
kSecPurposePrefetchHeaderRelPrefetch
namespace features
kSendCnameAliasesToSubresourceFilterFromRenderer
namespace features
kSetIntervalWithoutClamp
namespace features
kSharedStorageWorkletSharedBackingThreadImplementation
namespace features
kSharedStorageCreateWorkletCustomDataOrigin
namespace features
kSharedStorageSelectURLSavedQueries
namespace features
kSharedStorageAPIEnableWALForDatabase
namespace features
kSpeculativeImageDecodes
namespace features
kSpeculativeServiceWorkerWarmUp
namespace features
kServiceWorkerSyntheticResponse
namespace features
kBoostRenderProcessForLoading
namespace features
kBypassRequestForbiddenHeadersCheck
namespace features
kStopInBackground
namespace features
kStreamlineRendererInit
namespace features
kSubSampleWindowProxyUsageMetrics
namespace features
kSupportOpeningDraggedLinksInSameTab
namespace features
kTaskAttributionTraceMicrotaskTaskState
namespace features
kThreadedBodyLoader
namespace features
kThreadedPreloadScanner
namespace features
kThrottleInstallingServiceWorker
namespace features
kThrottleUnimportantFrameTimers
namespace features
kUACHOverrideBlank
namespace features
kEmulateLoadStartedForInspectorOncePerResource
namespace features
kDevToolsAllowPopoverForcing
namespace features
kUnloadBlocklisted
namespace features
kUrgentMainFrameForInput
namespace features
kURLPatternDummyURLCanonicalization
namespace features
kUsePageViewportInLCP
namespace features
kUsePersistentCacheForCodeCache
namespace features
kUseSnappyForParkableStrings
namespace features
kUseZstdForParkableStrings
namespace features
kVSyncDecoding
namespace features
kVSyncEncoding
namespace features
kWebBluetoothCancelConnect
namespace features
kWebRtcUseCaptureBeginTimestamp
namespace features
kWebRtcAudioSinkUseTimestampAligner
namespace features
kWebRtcPqcForDtls
namespace features
kWebAppBorderless
namespace features
kWebAppEnableScopeExtensionsBySite
namespace features
kWebAppManifestLockScreen
namespace features
kWebAudioAllowDenormalInProcessing
namespace features
kWebAudioDeferPullStatusUpdate
namespace features
kWebFontsCacheAwareTimeoutAdaption
namespace features
kWebRtcHideLocalIpsWithMdns
namespace features
kWebRtcIgnoreUnspecifiedColorSpace
namespace features
kWebRtcUseMinMaxVEADimensions
namespace features
kWebRtcAllowDataChannelRecordingInWebrtcInternals
namespace features
kWebUSBTransferSizeLimit
namespace features
kWebviewAccelerateSmallCanvases
namespace features
kWorkerThreadSequentialShutdown
namespace features
kWorkerThreadRespectTermRequest
namespace features
kXrDevice
namespace features

Blink features

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

Name Description Enabled by default
AbortByPlaceholderLayout
 crbug.com/439682405
AboutBlankPageRespectsDarkModeOnUserAction
 This flag changes about:blank to dark in dark mode on user action.
Accelerated2dCanvas
AcceleratedSmallCanvases
AccessibilityAriaVirtualContent
AccessibilityCustomElementRoleNone
AccessibilityExposeDisplayNone
AccessibilityImplicitActions
 If the author did not define aria-actions, surface button and link
 children inside option and menuitem elements as implicit actions.
AccessibilityMinRoleTabbable
 Use a minimum role of group on elements that are keyboard-focusable.
 See https://w3c.github.io/html-aam/#minimum-role.
AccessibilityOSLevelBoldText
AccessibilityProhibitedNames
 Enforce no accessible name on objects that have a role where names are
 prohibited (listed in https://w3c.github.io/aria/#namefromprohibited):
 log a friendly error in the developer console, and trigger a DCHECK().
 The incorrect markup situation will be repaired, and the name will
 be exposed as a description instead.
 TODO(crbug.com/350528330,
 https://github.com/web-platform-tests/interop-accessibility/issues/133,
 https://github.com/w3c/accname/issues/240,
 https://github.com/w3c/accname/issues/241): If community feedback is
 positive, and WPT + accname testable statements are updated to allow
 this, then add status: test.
AccessibilitySerializationSizeMetrics
AccessibilityUseAXPositionForDocumentMarkers
AccessKeyLabel
 https://chromestatus.com/feature/5113389252739072
 https://issues.chromium.org/issues/41119923
AddressSpace
AdInterestGroupAPI
 Interest Group JS API/runtimeflag.
AdjustDOMOffsetToLayoutOffsetForSecureText
 Fix for crbug.com/403358869
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
AIPageContentBuildOnLoadForTesting
 Whether to automatically build an APC content_extraction tree on load.
 Only supported for DCHECK-enabled builds.
AIPageContentCheckGeometry
 Whether to enforce geometry invariants in AIPageContentAgent.
AIPageContentPaidContentAnnotation
AIPageContentZOrderEarlyFiltering
 In AIPageContentAgent::ComputeHitTestableNodesInViewport, the hit test
 may hit the same node multiple times, which causes issues with computing
 the final z-order of page elements. This flag will filter those
 duplicate results first before doing any further processing.
AIPromptAPI
AIPromptAPIForExtension
 Extension access to "AIPromptAPI".
AIPromptAPIForWorkers
AIPromptAPIMultimodalInput
AIPromptAPIStructuredOutput
 Gates access to the responseConstraint enhancement for "AIPromptAPI".
 This feature alone does not expose any "AIPromptAPI" feature access.
AIPromptAPIToolUse
 Gates access to the tool use (function calling) enhancement for
 "AIPromptAPI". This feature alone does not expose any "AIPromptAPI"
 feature access.
AIProofreadingAPI
AIRewriterAPI
AIRewriterAPIForWorkers
AISummarizationAPI
AISummarizationAPIForWorkers
AIWriterAPI
AIWriterAPIForWorkers
AlignZoomToCenter
AllowContentInitiatedDataUrlNavigations
AllowPreloadingWithCSPMetaTag
AllowSameSiteNoneCookiesInSandbox
AllowSkippingEditingBoundaryToMergeEnd
 https://crbug.com/40681200
AllowSvgUseToReferenceExternalDocumentRoot
AllowSyntheticTimingForCanvasCapture
AllowURNsInIframes
AncestorRevealingNewSpec
 Enables the new behavior for this spec change:
 https://github.com/whatwg/html/pull/11457
 https://issues.chromium.org/issues/433545121
 https://chromestatus.com/feature/5179013869993984
AnchorPositionAdjustmentWithoutOverflow
 Kill switch for https://crbug.com/415834974 which changes anchor
 positioning adjustments to occur even in cases where there is no
 scrollable overflow.
AnchorsVisibleInitialValue
 Switch for https://crbug.com/445371140 which changes the initial value
 for position-visibility to 'anchors-visible' per current spec.
AndroidDownloadableFontsMatching
AnimationProgressAPI
 https://chromestatus.com/feature/5083257285378048
AnimationTrigger
 https://drafts.csswg.org/web-animations-2/#triggers
AnimationWorklet
AnonymousIframe
AOMAriaRelationshipProperties
AOMAriaRelationshipPropertiesAriaOwns
AppearanceBase
 appearance:base for in-page form controls.
 https://drafts.csswg.org/css-forms-1/
 https://issues.chromium.org/issues/450139531
 https://chromestatus.com/feature/5104958101913600
ApproximateGeolocationPermission
AppTitle
AriaActions
AriaNotify
AriaNotifyV2
AriaRowColIndexText
AsyncSetCookie
 When enabled, perform async IPCs from CookieJar::SetCookie to the
 network service.
AttributionReporting
AudioContextPlayoutStats
 AudioContext.playoutStats interface.
 https://chromestatus.com/feature/5172818344148992
AudioContextSetSinkId
AudioOutputDevices
AudioVideoTracks
AuthenticatorPasswordsOnlyImmediateRequests
AutoDarkMode
Autofill
AutomationControlled
AutoPictureInPictureVideoHeuristics
AvoidForcedLayoutOnInvisibleDocumentClose
AvoidNormalizingVisiblePositionsWhenStartEqualsEnd
 there is no need to collapse the whitespace between them.
 https://crbug.com/406053617
BackdropRootForClipPathWithBackdropFilter
 Killswitch for https://crbug.com/40947850.
BackfaceVisibilityInterop
 When enabled, enforces new interoperable semantics for 3D transforms.
 See crbug.com/1008483.
BackForwardCache
BackForwardCacheExperimentHTTPHeader
BackForwardCacheNotRestoredReasons
BackForwardCacheRestorationPerformanceEntry
BackForwardCacheUpdateNotRestoredReasonsName
BackgroundClipTextDecoration
BackgroundFetch
BackgroundPageFreezeOptOut
 A developer opt-out for background page freezing.
BarcodeDetector
BidiCaretAffinity
BlinkExtensionChromeOS
BlinkExtensionChromeOSKiosk
BlinkExtensionWebView
BlinkExtensionWebViewMediaIntegrity
BlinkLifecycleScriptForbidden
BlinkRuntimeCallStats
BlobBytes
 https://chromestatus.com/feature/4830298126417920
BlockingFocusWithoutUserActivation
BorderRadiusCorrectionCoverageFactor
 https://chromestatus.com/feature/5176753681203200
BoundaryEventDispatchTracksNodeRemoval
 https://crbug.com/415304289: 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.
BrowserInitiatedAutomaticPictureInPicture
BrowserVerifiedUserActivationKeyboard
BrowserVerifiedUserActivationMouse
BufferedBytesConsumerLimitSize
BypassPepcSecurityForTesting
 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.
CacheControlRFC7234Parsing
 Enables RFC 7234-compliant Cache-Control header parsing, removing RFC
 2616 separators that are not valid in RFC 7234.
 https://crbug.com/42050325
CacheControlRFC7234ParsingMetrics
 Enables metrics collection comparing RFC 7234 vs RFC 2616 Cache-Control
 parsing. Performs double parsing on every Cache-Control header to
 measure behavioral differences. Can be disabled as a kill switch if
 performance issues arise.
 https://crbug.com/42050325
CacheStorageCodeCacheHint
CallExitNodeWithoutLayoutObject
Canvas2dCanvasFilter
Canvas2dGPUTransfer
Canvas2dImageChromium
Canvas2dLayers
Canvas2dLayersWithOptions
Canvas2dMesh
CanvasDrawElement
 https://github.com/WICG/html-in-canvas/blob/main/README.md
 Note the API name has changed to drawElementImage.
CanvasDrawElementInSubtree
 Remove the restriction that drawElementImage can only draw immediate children
 of the canvas, and allow drawing canvas descendants.
CanvasFloatingPoint
CanvasGlobalHDRHeadroom
 Canvas2D API for specifying HDR headroom for drawing operations.
 https:/crbug.com/428575083, https://github.com/whatwg/html/issues/11165
CanvasGradientCSSColor4
 https://crbug.com/394052224
CanvasHDR
CanvasTextMemoryPressure
 crbug.com/389726691.
CanvasTextSwitchFrameOnFinalize
 crbug.com/450531794.
CanvasTextTexImage2DFix
 crbug.com/450531794.
CanvasToneMapping
 Canvas2D API for specifying HDR tone mapping behavior.
 https:/crbug.com/448552449, https://github.com/whatwg/html/issues/11424
CanvasUsesArcPaintOp
 Kill switch for https://crbug.com/330506337.
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
CapturedSurfaceResolution
CaptureHandle
CaretPositionFromPointTextareaFix
 crbug.com/446475645
CaretWithTextAffinityUpstream
 Changes the caret's affinity to upstream, preventing spaces
 from appearing in the previous line when typing at the start
 of a wrapped line. See https://crbug.com/40677155
CCTNewRFMPushBehavior
 Kill switch for changes to RenderFrameMetadataObserverImpl in connection with Engagement
 Signals. See https://crrev.com/c/4544201 and https://crbug.com/1458640.
CheckableInputTypeLayoutInline
CheckForCanonicalPositionInIdleSpellCheck
 If focus is not at canonical position then spellcheck should be deactivated.
 crbug.com/396485529
CheckVisibilityExtraProperties
ClearCurrentTargetAfterDispatch
 Set currentTarget to null after dispatch for EventTarget.
 This was added in M142 and can be removed after M144.
 https://issues.chromium.org/issues/346766786
ClearTargetOnlyIfInShadowTree
 Determine clearing of target and relatedTarget by checking
 if the top node is in shadow tree.
 This was added in M142 and can be removed after M144.
 https://issues.chromium.org/issues/373655918
 https://issues.chromium.org/issues/40253359
ClientHintUAHighEntropyValuesPermissionPolicy
 Allows top-level sites to restrict collection of high-entropy UA client
 hints (from 3Ps, or itself) via the getHighEntropyValues API.
 crbug.com/385161047
ClipboardChangeEvent
 Enables clipboardchange event API for listening for changes to the
 system clipboard
 https://chromestatus.com/feature/5085102657503232
ClipboardEventTargetCanBeFocusedElement
 This ensures that clipboard event fires on a target node which is
 focused in case no visible selection is present.
 crbug.com/40735783
ClipboardItemGetTypeCounter
 Allows usecounter in ClipboardItem
ClipboardItemWithDOMStringSupport
 Support ClipboardItemData of Promise<DOMString> type according to spec
 https://w3c.github.io/clipboard-apis/#typedefdef-clipboarditemdata
ClipElementVisibleBoundsInLocalRoot
 TODO(crbug.com/440374239): Disabled due to https://crbug.com/440374239.
ClipPathNestedRasterOptimization
CoalesceSelectionchangeEvent
 Avoid queuing a task to fire a selectionchange event when there is already a task scheduled
 to do that for the target according to the new spec:
 https://w3c.github.io/selection-api/#scheduling-selectionhange-event
CoepReflection
CollapseZeroWidthSpaceWhenReuseItem
CollectWidthAndHeightAsPresentationAttributesForUse
CollectWidthAndHeightAsStylesForNestedSvg
ColorSpaceDisplayP3Linear
 Enable the display-p3-linear color space in CSS.
 https://chromestatus.com/feature/5162372125818880
ColorSpacePredefinedLinearSpaces
 Enable the srgb-linear and display-p3-linear color spaces in
 PredefinedColorSpace.
 https://chromestatus.com/feature/5122501071994880
ColorSpaceRec2100Linear
 Enable the rec2100-linear color space in CSS and PredefinedColorSpace.
 https://chromestatus.com/feature/5204024772788224
CommandEventNotComposed
 Makes the command event not composed. Launched in M141.
 https://github.com/whatwg/html/pull/11255
 https://issues.chromium.org/issues/414826954
ComposedPathReturnTargetBeingDispatched
 Return the current target from composedPath() while
 dispatching.
 This was added in M142 and can be removed after M144.
 https://issues.chromium.org/issues/444932649
 https://issues.chromium.org/issues/346766786
CompositeBGColorAnimation
CompositeBoxShadowAnimation
CompositeClipPathAnimation
CompositedAnimationsCancelledAsynchronously
CompositedSelectionUpdate
CompositingDecisionAtAnimationPhaseBoundaries
CompositionForegroundMarkers
CompositorEventTrigger
CompositorTimelineTrigger
 When enabled, TimelineTriggers[1] will function via cc::TimelineTrigger
 objects that live on the compositor thread.
 [1] https://drafts.csswg.org/css-animations-2/#timeline-triggers
CompressionDictionaryTransport
ComputedAccessibilityInfo
ComputeInlineContentsSafeRetarget
ComputePressure
ComputePressureOwnContributionEstimate
ConsiderSubOrSuperScriptAncestorAlignForCaretSelection
 Fix for https://crbug.com/40659076. When enabled, queryCommandState for
 'subscript' or 'superscript' with a caret selection will consider
 ancestor <sub> or <sup> elements, matching the behavior for range
 selections.
ContactsManager
ContactsManagerExtraProperties
ContainerTiming
ContentIndex
ContextMenu
ControlledFrame
 Enable support for Controlled Frame, providing the Controlled
 Frame tag to IWA apps and other contexts. See
 https://github.com/WICG/controlled-frame/blob/main/README.md for more
 info.
ControlledFrameWebRequestSecurityInfo
 Experimental support for requesting SecurityInfo
 in WebRequest API for controlled frames.
CookieDeprecationFacilitatedTesting
CookieStoreAPIMaxAge
 Enables setting the maxAge option when creating a cookie in the
 Cookie Store API.
CoopRestrictProperties
CorrectTemplateFormParsing
 Corrects the handling of <form> elements nested within <template> tags
 in HTML parsing. See https://crbug.com/352896478 for details.
CorsRFC1918
CpuPerformance
 CPU Performance API, work in progress.
 https://chromestatus.com/feature/5189864286978048
 https://github.com/explainers-by-googlers/cpu-performance
CrashReportingStorageAPI
CreateInlineContentsExcludeOutOfFlow
CSPHashesV1
 When enabled, allowlisting script urls and scripts used in eval via
 hashes will be supported in script-src. This is a no-op if the
 network::features::kCSPScriptSrcHashesInV1 flag is off, since it
 controls parsing in the network service.
 See crbug.com/392657736 for details.
CSPReportHash
CSSAccentColorKeyword
 The AccentColor And AccentColorText CSS system color keywords
CSSAltCounter
 Allows using counter() and counters() in alt text (after / in content property).
CSSAnchorUpdate
 An update of anchor positioning (primarily how scrolling affects
 layout, but includes other inter-connected changes).
CSSAnchorWithTransforms
 Let transforms affect anchor() and anchor-size() functions.
CSSAtRuleCounterStyleImageSymbols
 Whether <image> values are allowed as counter style <symbol>
CSSAtRuleCounterStyleSpeakAsDescriptor
 https://drafts.csswg.org/css-counter-styles/#counter-style-speak-as
CSSBorderShape
 https://chromestatus.com/feature/5459864205393920
 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
CSSCaretAnimation
 https://chromestatus.com/feature/5082469066604544
CSSCaretShape
 https://chromestatus.com/feature/6106160780017664
CSSCaseSensitiveSelector
 Support case-sensitive attribute selector modifier
 https://drafts.csswg.org/selectors-4/#attribute-case
CSSChUnitSpecCompliantFallback
 In the cases where it is impossible or impractical to determine the
 measure of the “0” glyph, it must be assumed to be 0.5em wide by 1em
 tall. Thus, the ch unit falls back to 0.5em in the general case, and to
 1em when it would be typeset upright (i.e. writing-mode is vertical-rl or
 vertical-lr and text-orientation is upright).
 https://drafts.csswg.org/css-values-4/#ch
 See crbug.com/416145497 for more details.
CSSColorContrast
CSSColorTypedOM
CSSContainerNameNotTreeScoped
 https://github.com/w3c/csswg-drafts/issues/12090#issuecomment-3204775586
CSSContainerProgressNotation
 https://drafts.csswg.org/css-values-5/#progress
 container-progress()
CSSContainerStyleQueriesRange
 https://drafts.csswg.org/css-conditional-5/#typedef-style-range
CSSCornerShapeInsetBoxShadowFollowsContour
 https://drafts.csswg.org/css-borders-4/#corner-shaping
CSSCornersShorthand
 https://drafts.csswg.org/css-borders-4/#corner-shaping
CSSCounterResetReversed
 https://drafts.csswg.org/css-lists-3/#counter-reset
 https://crbug.com/40760770
CSSCrossFade
 Unprefixed cross-fade() (in addition to the existing -webkit-cross-fade()).
 https://drafts.csswg.org/css-images-4/#cross-fade-function
CSSCustomMedia
CSSDynamicRangeLimit
CSSEnumeratedCustomProperties
 Include custom properties in CSSComputedStyleDeclaration::item/length.
 https://crbug.com/949807
CSSFallbackContainerQueries
 https://drafts.csswg.org/css-anchor-position-2/#anchored
CssFitWidthText
 crbug.com/417306102
CSSFontSizeAdjust
CSSFunctions
 https://drafts.csswg.org/css-mixins-1/#function-rule
CSSGapDecoration
 https://chromestatus.com/feature/5157805733183488
CSSGridGapSuppression
 https://chromestatus.com/feature/5157805733183488
CSSGridLanesLayout
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
CSSIdentFunction
 https://drafts.csswg.org/css-values-5/#ident
CSSInheritFunction
 The inherit() function works like var(), except that it grabs
 the computed value of the specified property from the parent style
 instead of the current style.

 https://drafts.csswg.org/css-values-5/#inherit-notation
CSSInlineIfForMediaQueries
 CSS if() function for custom properties. Flag is used only for media
 queries support in conditions.
 https://drafts.csswg.org/css-values-5/#if-notation.
CSSInlineIfForStyleQueries
 CSS if() function for custom properties. Flag is used only for style
 queries support in conditions.
 https://drafts.csswg.org/css-values-5/#if-notation.
CSSInlineIfForSupportsQueries
 CSS if() function for custom properties. Flag is used only for supports
 queries support in conditions.
 https://drafts.csswg.org/css-values-5/#if-notation.
CSSKeyframesRuleLength
 https://chromestatus.com/feature/6289894144212992
CSSLayoutAPI
CSSLetterAndWordSpacingPercentage
CSSLineClamp
CSSLineClampLineBreakingEllipsis
CSSListCounterAccounting
 Implements counter-increment and counter-set for the non-<li>
 elements and the reversed ordered lists.

 https://crbug.com/40682542
CSSLogicalCombinationPseudo
 Allows pseudo-element selectors within logical combination pseudo-
 classes, e.g. :is(div::before).

 https://crbug.com/444386484
CSSMarkerNestedPseudoElement
CSSMediaProgressNotation
 https://drafts.csswg.org/css-values-5/#progress
 media-progress()
CSSMixins
CSSNestedPseudoElements
CSSOverscrollGestures
 https://chromestatus.com/feature/5261280285949952
 TODO(vmpstr): Rename this flag to OversrollGestures when the CSS
 implementation is removed.
CSSPaintAPIArguments
CSSParserIgnoreCharsetForURLs
 Ignore the stylesheet encoding when parsing URLs, always using UTF-8.
 See crbug.com/1485525.
CSSPositionAnchorNone
CSSPositionStickyStaticScrollPosition
CSSProgressNotation
 https://drafts.csswg.org/css-values-5/#progress
 progress()
CSSPseudoColumn
 For ::column pseudo-element for fragment styling.
 https://github.com/flackr/carousel/blob/main/fragmentation/README.md
CSSPseudoElementInterface
CSSPseudoHasSlotted
 Enables the :has-slotted pseudo-selector.
 https://chromestatus.com/feature/5134941143433216
CSSPseudoPlayingPaused
 When an audio, video, or similar resource is "playing"
 or "paused".
 https://www.w3.org/TR/selectors-4/#video-state
CSSPseudoScrollButtons
 For ::scroll-up-button and ::scroll-down-button pseudo-elements for Carousel.
 https://github.com/flackr/carousel/tree/main/scroll-button
CSSPseudoScrollMarkers
 For ::scroll-marker and ::scroll-marker-group pseudo-elements for Carousel.
 https://github.com/flackr/carousel/tree/main/scroll-marker
CSSRandomFunction
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.
CSSRevertRule
CSSRubyOverhang
CSSSafePrintableInset
CSSScopeifiedParentPseudoClass
 The '&' pseudo-class effectively behaves like :where(:scope)
 when used in @scope rules.
CSSScopeImport
 The "@import scope(...)" syntax.
 https://github.com/w3c/csswg-drafts/issues/7348
CSSScrolledContainerQueries
 https://drafts.csswg.org/css-conditional-5/#scrolled
CSSScrollInitialTarget
 https://drafts.csswg.org/css-scroll-snap-2#scroll-initial-target
CSSScrollMarkerGroupModes
 https://github.com/w3c/csswg-drafts/issues/12122
CSSScrollMarkerTargetBeforeAfter
 https://drafts.csswg.org/css-overflow-5/#active-before-after-scroll-markers
 :target-before and :target-after pseudo classes for scroll markers.
CSSScrollSnapChangeEvent
 https://drafts.csswg.org/css-scroll-snap-2/#scrollsnapchange
CSSScrollSnapChangingEvent
 https://drafts.csswg.org/css-scroll-snap-2/#scrollsnapchanging
CSSScrollSnapEventConstructorExposed
 https://drafts.csswg.org/css-scroll-snap-2/#snapevent-interface
CSSScrollSnapEvents
 https://drafts.csswg.org/css-scroll-snap-2/#snap-events
CSSScrollTargetGroup
 scroll-target-group property
 https://drafts.csswg.org/css-overflow-5/#scroll-target-group
CSSScrollTargetGroupAriaCurrent
 scroll-target-group property sets aria-current=true on :target-current html scroll marker.
CSSSelectorFragmentAnchor
CSSSupportsAtRuleFunction
CSSSupportsForImportRules
CSSSystemAccentColor
 Allows the CSS "accent-color" property to support the system accent color as the default option.
CSSTextAlignMatchParent
 https://issues.chromium.org/40787216: CSS text-align: match-parent value
CssTextJustify
 crbug.com/40321528
CSSTextSpacing
 crbug.com/1463890, crbug.com/1463891: CSS text-spacing shorthand
CSSTextTransformFullWidth
 https://issues.chromium.org/41297237: CSS text-transform: full-width value
CSSTreeScopedTimelines
 Support for tree-scoped [1] timeline names (e.g. produced by
 scroll-timeline).

 [1] https://drafts.csswg.org/css-scoping-1/#shadow-names
CSSTypedArithmetic
CSSUserSelectContain
 Support for user-select:contain.
CSSVideoDynamicRangeMediaQueries
CSSViewTransitionAutoName
 https://chromestatus.com/feature/4850737974345728
CustomizableSelectInPage
 appearance:base-select for <select multiple> and <select size=n>
 https://issues.chromium.org/issues/357649033
CustomizableSelectMultiplePopup
 appearance:base-select for <select multiple size=1> with a picker.
CustomScrollbarApplyMinimumThumbLength
 see crbug.com/341313078
Database
 https://chromestatus.com/feature/5134293578285056
DeclarativeCSSModules
 https://crbug.com/448174611
DecoupleComputedBorderWidthFromStyle
 https://crbug.com/393631108
DecoupleResolvedColumnRuleWidthFromStyle
 https://crbug.com/393631108
DelegatesFocusTextControlInputFix
 Killswitch for https://crbug.com/400317114 fix.
 This lands in M142, and the flag can be removed in M144.
DeprecateCursorMovementIterator
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
DeviceAttributes
DeviceAttributesPermissionPolicy
DeviceBoundSessionCredentials
DeviceBoundSessionCredentials2
DeviceOrientationRequestPermission
DevicePosture
DialogCloseWhenOpenRemoved
 This feature makes the <dialog> element close properly when its "open"
 attribute is removed. https://github.com/whatwg/html/issues/5802 and
 https://github.com/whatwg/html/pull/10124.
DialogNewFocusBehavior
DigitalGoods
DigitalGoodsV2_1
DirectSockets
DirectSocketsInServiceWorkers
 Experimental support for the Direct Sockets API in Service Workers.
 https://github.com/WICG/direct-sockets
DirectSocketsInSharedWorkers
 Experimental support for the Direct Sockets API in Shared Workers.
 https://github.com/WICG/direct-sockets
DisableDifferentOriginSubframeDialogSuppression
DisableReduceAcceptLanguage
DisableRemoveFormatForPlainTextOnlyEditableDiv
 Disables removeFormat command on Plaintext-only content editable div
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.
DispatchSelectionchangeEventPerElement
 Dispatch selectionchange event per element according to the new spec:
 https://w3c.github.io/selection-api/#selectionchange-event
DisplayContentsFocusable
 Allowing elements with display:contents to have focus.
 See https://crbug.com/1366037
DisplayCutoutAPI
DocumentActiveViewTransition
 https://chromestatus.com/feature/5067126381215744
DocumentCookie
DocumentDomain
DocumentIsolationPolicy
 Enables DocumentIsolationPolicy.
 See https://https://github.com/WICG/document-isolation-policy.
DocumentOpenIframeUnloadEvents
 Fix iframe unload events not firing during document.open()
 https://crbug.com/40947017
 Lands in M144; remove this flag in M146 after the milestone rolls.
DocumentOpenOriginAliasRemoval
DocumentOpenSandboxInheritanceRemoval
DocumentPatching
 https://chromestatus.com/feature/5111042975465472
 document.patch, <template patchfor> etc.
DocumentPictureInPictureAPI
DocumentPictureInPicturePreferInitialPlacement
 Enables preferInitialWindowPlacement Document PiP option to skip
 re-using the previous pip window bounds.
DocumentPictureInPictureUserActivation
 Enables propagating user activation from a document picture-in-picture
 window up to its opener window and vice versa.
DocumentPolicyDocumentDomain
 Enables the ability to use Document Policy header to control feature
 DocumentDomain.
DocumentPolicyExpectNoLinkedResources
 Enables the ability to use Document Policy header to control feature
 ExpectNoLinkedResources.
DocumentPolicyIncludeJSCallStacksInCrashReports
 Enables the ability to use Document Policy header to control feature
 IncludeJSCallStacksInCrashReports. https://chromestatus.com/feature/4731248572628992
DocumentPolicyNegotiation
DocumentPolicyNetworkEfficiencyGuardrails
 Enables the ability to use Document Policy header to control feature
 NetworkEfficiencyGuardrails. https://chromestatus.com/feature/5156240166223872
DocumentPolicySyncXHR
 Enables the ability to use Document Policy header to control feature
 SyncXHR.
DocumentWrite
DOMPartsAPI
DOMPartsAPIMinimal
DragAndDropPluginElementSupport
 Enable drag and drop delegation to child frames in HTMLPlugInElements
 (object/embed elements). Fixes drag and drop from text inputs/textareas
 to elements inside object frames.
EditContextHandleTextOrSelectionUpdateDuringComposition
 See https://crbug.com/379170477
EditEmojiUnicode11
ElementCapture
ElementInnerTextHandleFirstLineStyle
ElementInternalsDotType
 ElementInternals.type allows web authors to create autonomous
 custom elements that inherit specific behaviors from native
 HTML elements, while maintaining the ability to use shadow DOM
 and custom rendering.
 crbug.com/422947646
 https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/ElementInternalsType/explainer.md
EmojiJustification
 crbug.com/447267214
EmojiMonochromeRendering
 crbug.com/420857717
EmphasisMarkShapeCache
EndpointInclusiveCommitStyles
EnforceAnonymityExposure
EnterInOpenShadowRoots
 See: crbug.com/40771555
EntropyIgnoredForFirstVideoFrameLCP
 When enabled, the LCP algorithm ignores image entropy for the first
 video frame. See crbug.com/434659232.
EquivalentEncompassRounding
 See crbug.com/453919401 for more details.
EventPseudoTargetProperty
 event.pseudoTarget property to represent pseudo-elements in events. Returns CSSPseudoElement or null.
EventTargetStringIdentifierUsesQuotes
EventTimingInteractionCount
 Kill-switch for https://chromestatus.com/feature/5153386492198912
 Added in M144, can be removed in M146.
EventTimingTargetSelector
EventTrigger
 https://drafts.csswg.org/web-animations-2/#triggers
ExperimentalContentSecurityPolicyFeatures
ExperimentalJSProfilerMarkers
ExperimentalMachineLearningNeuralNetwork
ExperimentalPolicies
ExposeCSSFontFeatureValuesRule
ExposeRenderTimeNonTaoDelayedImage
ExtendedTextMetrics
ExternalPopupMenuClickEvent
 Kill-switch for crbug.com/40434449.
 Added in M139, and it can be removed in M141.
EyeDropperAPI
FaceDetector
FastPositionIterator
FedCm
FedCmAutofill
FedCmDelegation
FedCmErrorAttribute
FedCmIdPRegistration
FedCmLightweightMode
FedCmMultipleIdentityProviders
FedCmNonStringToken
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.
FetchBodyBytes
 Add Request.bytes() and Response.bytes()
 https://chromestatus.com/feature/5239268180754432
FetchLaterAPI
 The Blink runtime-enabled feature name for the API's IDL.
 https://chromestatus.com/feature/4654499737632768
FetchRetry
 The retry ability for Fetch keepalive requests.
 https://chromestatus.com/feature/5181984581877760
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.
FileSystemAccessRevokeReadOnRemove
 When enabled, calling remove() on a FileSystemAccessHandle will also
 update the permission grants for the associated path. Restored after
 next write to the path.
 See crbug.com/421690393.
FileSystemAccessWriteMode
 Controls the internal write-only mode for various FileSystemAccess API.
 This covers mostly content layer and does not expose any write mode to
 user visible APIs.
 This flag is part of crbug.com/421690393 and crbug.com/328458680.
FileSystemObserver
 The FileSystemObserver interface for the File System Access API.
 See https://crbug.com/1019297.
FileSystemObserverUnobserve
 The unobserve function of the FileSystemObserver.
 See https://crbug.com/321980469.
FindAcrossParagraphsInTextarea
 crbug.com/438220615
FindFirstMisspellingEndWhenNonEditable
FirstLineOnListItem
FirstLineTextMetrics
FixNextPositionCalculationInInsertList
 crbug.com/411739501
FixStrikethroughToggleInEmptyContentEditable
 Fix for strikethrough toggle not working in empty
 contenteditable. See https://crbug.com/427915243
Fledge
FledgeAuctionDealSupport
 Enables deal support within auctions.
FledgeBiddingAndAuctionServerAPI
FledgeBiddingAndAuctionServerAPIMultiSeller
FledgeClickiness
FledgeCustomMaxAuctionAdComponents
FledgeDeprecatedRenderURLReplacements
 Enables using a 'deprecatedRenderURLReplacements' field within the
 Protected Audience ad auction config.
FledgeDirectFromSellerSignalsHeaderAdSlot
FledgeDirectFromSellerSignalsWebBundles
 Feature flag to control removal, in case we run into unexpected
 breakage.

 TODO(crbug.com/384481095): Remove in a few milestones, along with the
 implementation code.
FledgeMultiBid
FledgePrivateModelTraining
 Enables the private model training API in Protected Audience.
 https://github.com/WICG/turtledove/blob/main/PA_private_model_training.md
FledgeRealTimeReporting
 Enables real time reporting API in Protected Audience.
 https://github.com/WICG/turtledove/blob/main/PA_real_time_monitoring.md
FledgeSellerNonce
 Enables the ability to set seller nonces on the header response and
 use bidNonce in bids.
FledgeSellerScriptExecutionMode
 Enables having executionMode in the auctionConfig to use for seller scripts.
FledgeTrustedSignalsKVv1CreativeScanning
FledgeTrustedSignalsKVv2ContextualData
FledgeTrustedSignalsKVv2Support
FlexWrapBalance
FluentOverlayScrollbars
FluentScrollbars
Focusgroup
 https://open-ui.org/components/scoped-focusgroup.explainer/
FocusgroupGrid
 2-D grid navigation functionality of focusgroup is considered out of
 scope for the initial implementation.
 crbug.com/445992558
FontAccess
FontFallbackForTabSize
FontFamilyPostscriptMatchingCTMigration
FontFamilyStyleMatchingCTMigration
FontFeatureSettingsDescriptor
 crbug.com/40398871
FontLanguageOverride
 crbug.com/41170551
FontMatchAliasesAsLastResort
FontSrcLocalMatching
FontStyleObliqueZeroDegreeAsNormal
 crbug.com/393391746
FontVariationSettingsDescriptor
 crbug.com/40398871
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.
ForceEagerMeasureMemory
ForceReduceMotion
 https://github.com/flackr/reduce-motion/blob/main/explainer.md
FormControlRange
 The FormControlRange interface allows web authors to create
 Range-like objects of the value of <textarea> and <input>
 elements.
 crbug.com/421421332
 https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/FormControlRange/explainer.md
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 <input>
 and <select> even when they had autocomplete=off.
FractionalScrollOffsets
FreezeFramesOnVisibility
GamepadMultitouch
GamepadRawInputChangeEvent
GamepadWindowEventHandlers
GeolocationElement
 Tracking bug for the implementation: https://crbug.com/430204832
GetAllScreensMedia
GetComputedStyleOutsideFlatTree
GetDisplayMedia
GetDisplayMediaRequiresUserActivation
GetDisplayMediaWindowAudioCapture
 When a Web application calls getDisplayMedia() and asks for audio,
 allow a hint to be provided as to whether the Web application is
 interested in audio being among the options offered to the user
 on window display surfaces.

 https://www.w3.org/TR/screen-capture/#dom-displaymediastreamoptions-windowaudio
GetElementsByNameOnlyHTMLElements
 To filter only elements in the HTML namespace when calling
 getElementsByName().
 This was added in M141 and can be removed after M143.
 https://issues.chromium.org/issues/40502558
GetUserMediaEchoCancellationModes
GroupEffect
HandleDeletionAtStartAndEndBoundaryContainingHiddenElement
 Enables Skipping children for invisible select elements containing
 non-editable node while calculating end of paragraph.
HandleDisconnectedSelectionDuringDOMChanges
HandleShadowDOMInSubstringUtil
HandwritingRecognition
HasUAVisualTransition
HeadingOffset
 TODO(crbug.com/333628468): Enables the headingoffset and
 headingreset attributes, which allow for alternate styles of building
 structured headings. This is being actively prototyped, starting ~M136.
 For more see https://github.com/whatwg/html/issues/5033
HighlightByLayoutObject
HighlightPointerEvents
HighlightsFromPoint
HitTestBorderRadiusForStackingContext
 Removed status stable due to https://crbug.com/456164629.
HrefTranslate
HstsTopLevelNavigationsOnly
HTMLAnchorAttribute
 The anchor attribute, supported by both anchor positioning and the
 popover API.
HTMLCommandActionsV2
 Additional default command/commandfor actions that aren't part of v1 of
 commands. When this flag is disabled only v1 actions (popover and dialog
 defaults) will work.
HTMLCommandForScrollCommands
 Adds support for scroll commands such as 'page-up' and 'page-block-end'.
 https://github.com/danielsakhapov/declarative-scroll-commands-for-html-explainer
HTMLCommandRequestClose
 Adds support for the 'request-close' command.
 https://open-ui.org/components/invokers.explainer/
HTMLElementScrollParent
HTMLImageElementActualNaturalSize
 Return a natural width/height of zero from
 HTMLImageElement.naturalWidth/Height for SVG images that don't have a
 natural width/height set.
HTMLInterestForAttribute
 Adds support for the interestfor attribute. See crbug.com/326681249.
 https://open-ui.org/components/interest-invokers.explainer/
 This shipped in M142 and the flag can be removed in M144.
HTMLInterestForInterestHintPseudo
 Adds support for the ::interest-hint pseudo element, which is a sub-
 feature of the HTMLInterestForAttribute feature.
 https://open-ui.org/components/interest-invokers.explainer/
HTMLLinkElementAttributeValueChanges
 Prevents the HTMLLinkElement processing model from being invoked when
 attributes are processed but their value doesn't change. See
 https://crbug.com/41436016.
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.
HTMLParserYieldByUserTiming
HTMLPrintingArtifactAnnotations
 When enabled, specifies visual affordances for printing such as headers,
 footers and page numbers, to be PDF annotations.
 See section 14.8.2.2.1 here for info:
 https://opensource.adobe.com/dc-acrobat-sdk-docs/pdfstandards/PDF32000_2008.pdf
ICUCapitalization
IgnoreLetterSpacingInCursiveScripts
ImageDataPixelFormat
ImageDocumentUseLayoutWidth
ImplicitRootScroller
ImprovedSourceRetargeting
 Improved retargeting behavior of ToggleEvent.source and
 CommandEvent.source to match Event.relatedTarget.
 crbug.com/420639769
 Enabled in M142, can be removed in M144.
IncomingCallNotifications
IndexedDbGetAllRecords
InertElementNonEditable
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.
InputEventDataTransferForInsertCmd
 Enable DataTransfer propagation to input events for insertFromPaste,
 insertFromDrop, and insertReplacementText operations on content-editables.
InputInSelect
 The HTML parser inserts a </select> end tag before inserting <input>
 when parsing inside of a <select> tag. We want to allow <input> inside
 <select>, but it isn't web compatible enough. This flag allows <input>
 inside <select> but only if there is another open tag in between the
 <input> and the <select>, like <select><div><input>.
 For now, this flag also makes <input> close <select> like it used to
 when the <input> is put directly within an <option> or <optgroup>.
InputMultipleFieldsUI
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
InstallElement
InstallOnDeviceSpeechRecognition
IntegrityPolicyScript
InteractivityInertImportant
 Adds !important to [inert] {interactivity: auto} in the UA
 stylesheet. Resolved in the CSSWG here:
 https://github.com/w3c/csswg-drafts/issues/12049#issuecomment-3303716541
 This killswitch is shipping in M142, and can ge removed in M144.
InterestGroupsInSharedStorageWorklet
IntersectionObserverCompositedAnimationsForceMainFrames
 If enabled, BeginMainFrame will always be requested when there are
 active IntersectionObservers and also active composited animations.
InvertedColors
InvisibleSVGAnimationThrottling
JavaScriptCompileHintsPerFunctionMagicRuntime
JavaScriptSourcePhaseImports
JustifyWithoutLineText
KeyboardAccessibleTooltip
KeyboardFocusabilityAfterFindInPage
 Fixes a bug after find-in-page tries to return focus to
 the page. This change shipped in M142, and this flag can
 be removed in M144.
LangAttributeAwareFormControlUI
LanguageDetectionAPI
LanguageDetectionAPIForWorkers
LayoutFlexNewRowAlgorithm
LayoutIgnoreMarginsForSticky
LayoutImageEmptyNaturalSizeBeforeSizeAvailable
LayoutTableCellAlignmentSafe
LeftClickToHandleSuggestion
 Allow triggering the word suggestion from left click.
 From crbug.com/433209485
LightDismissFromClick
 Makes light dismiss for popovers and dialogs use the click event
 instead of pointerdown and pointerup in order to fix light dismiss
 bugs for touch inputs.
 https://issues.chromium.org/issues/408010435
LimitTriggerAttachmentUpdates
LinkBlurImprovement
 Improves the logic for removing focus from a currently focused <a>
 element when its href attribute is removed by considering other ways
 that an <a> may be focusable. Shipped in M142, should be safe to
 remove in M144.
 https://issues.chromium.org/issues/443585794
ListOwnerMustHaveCSSBox
LocalNetworkAccessNonSecureContextAllowed
 Reverse origin trial allowing Local Network Access requests on
 non-secure contexts (but still requiring a permission grant from the
 user).
LocalNetworkAccessPermissionPolicy
LocalNetworkAccessWebRTC
LockedMode
LongAnimationFrameSourceCharPosition
 Enable sourceCharPosition for the invoke-type resolve-promise
 https://issues.chromium.org/issues/381529126
LongAnimationFrameSourceLineColumn
 Enable retrieving sourceLine and sourceColumn in LoAF implementation.
 https://issues.chromium.org/issues/391417815
LongAnimationFrameSourceLineColumnInterface
 Add sourceLine and sourceColumn to PerformanceScriptTiming
 https://issues.chromium.org/issues/391417815
LongPressLinkSelectText
 Long press on a link selects the link text instead of bringing up
 context menu. Enabled only on Android AuthView.
LongTaskFromLongAnimationFrame
 Use LongAnimationFrameMonitor to emit longtask entries
MacCharacterFallbackCache
MacDisableCtrlHomeEnd
MachineLearningNeuralNetwork
MacSystemClipboardPermissionCheck
 Enables macOS system-level clipboard permission checking using
 NSPasteboard.accessBehavior API (available on macOS 15.4+).
 This allows web applications to respect user's clipboard privacy
 settings in System Settings > Privacy & Security > Clipboard.
ManagedConfiguration
ManualText
MaskDeserializationTimeForCrossOriginMessages
MathMLOperatorRTLMirroring
 Enables mirroring for stretchy and large MathML operators when
 the text direction is right to left.
MathMLSerializationOnCopy
 Enables MathML ancestor context preservation during copy-paste
 serialization. When enabled, copying partial MathML content includes
 the containing <math> element to preserve semantic context and
 namespace declarations.
MathMLSkipMtrTagInAncestorWrapping
 Enables skipping <mtr> wrapping during ancestor wrapping in
 serialization. When enabled duplicate <mtr> wrapping are absent.
MeasureMemory
MediaCapabilitiesEncodingInfo
MediaCapabilitiesSpatialAudio
MediaCapture
MediaCaptureBackgroundBlur
MediaCaptureCameraControls
MediaCaptureConfigurationChange
MediaCaptureVoiceIsolation
MediaControlsExpandGesture
MediaControlsOverlayPlayButton
MediaElementVolumeGreaterThanOne
MediaEngagementBypassAutoplayPolicies
 Set to reflect the kMediaEngagementBypassAutoplayPolicies feature.
MediaLatencyHint
MediaPlaybackWhileNotVisiblePermissionPolicy
MediaQueryNavigationControls
MediaSession
MediaSessionChapterInformation
MediaSourceExperimental
MediaSourceExtensionsForWebCodecs
MediaStreamTrackTransfer
MediaStreamTrackWebSpeech
MemoryConsumerForNGShapeCache
 This feature helps to add memory consumer to NGShapeCache, so that
 the cached shape results would be cleared once exceeding the memory limit.
MenuElements
MessagePortCloseEvent
MiddleClickAutoscroll
 This is enabled by default on Windows only. The only part that's
 "experimental" is the support on other platforms.
MixedContentAutoupgradesUseIsMixedContentRestrictedInFrame
 Killswitch for crbug.com/40062462 fix.
MobileLayoutTheme
ModifyParagraphCrossEditingoundary
ModulePreloadReferrer
 ModulePreloadReferrer enables modulepreload to send proper referrer
 headers as specified in the HTML spec. Behind a flag for safer rollout.
 https://crbug.com/441933555
MojoJS
MojoJSTest
 MojoJSTest is used exclusively in testing environments, whereas MojoJS
 may also be used elsewhere.
MoveEndingSelectionToListChild
 Move the selection to the last position in the list item. See
 https://crbug.com/331841851
MoveToParagraphStartOrEndSkipsNonEditable
MulticastInDirectSockets
 Multicast in Direct Sockets API.
 https://github.com/WICG/direct-sockets/blob/main/docs/multicast-explainer.md
MulticolColumnWrapping
NavigateEventCanTransition
NavigateEventCommitBehavior
NavigateEventPopstateLimitations
NavigateEventSourceElement
NavigationId
NavigationTransitionDestination
NavigatorContentUtils
NestedViewTransition
NetInfoConstantType
NetInfoDownlinkMax
NoAriaDetailsForAnchorPos
 This is a killswitch flag, shipped in M144. It can be removed in M146.
NoFontAntialiasing
 This turns off all font antialiasing for tests unless it is
 explicitly required and enabled using the
 "--enable-font-antialiasing" flag like in the case of
 "virtual/text-antialias/" virtual test suite.
 crbug.com/339041663
NoIdleEncodingForWebTests
NonEmptyBlockquotesOnOutdenting
 Doesn't insert empty blockquotes on outdenting a blockquote. See
 https://crbug.com/323960902
NonEmptyVisibleTextSelectionForTextFragment
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
NotificationConstructor
NotificationContentImage
 NotificationContentImage is not available in all platforms
 The Notification Center on Mac OS X does not support content images.
Notifications
NotificationTriggers
NumberInputFullWidthChars
OffMainThreadCSSPaint
OffscreenCanvasGetContextAttributes
OffsetParentNewSpecBehaviorForFixedPosition
OmitBlurEventOnElementRemoval
OnDeviceWebSpeechAvailable
OpenPopoverInvokerRestrictToSameTreeScope
 Restrict popover invoker lookup to the same TreeScope as the element.
 This will be shipped in M142, and it can be removed in M144.
 See https://issues.chromium.org/issues/443031270.
OrientationEvent
OriginAPI
OriginatingElementIsImplicitAnchor
 Originating elements are implicit anchors for pseudo elements.
 This is a spec change since anchor positioning was shipped in Blink.
 https://issues.chromium.org/issues/408223892
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.
OutlineDrawAutoStyleZeroWidth
OverscrollCustomization
PagePopup
PagePopupCopyPaste
PageRevealEvent
PageSwapEvent
PaintHoldingForIframes
PaintOffsetTranslationForBackdropFilterWithInlineElement
 Fix for https://crbug.com/40716515.
 Killswitch M141.
PaintOffsetTranslationForComposited
 Killswitch M142. Overrides the above to enable PaintOffsetTranslation
 for all composited LayoutObjects.
PaintTimingMixin
PaintTimingRecordTimingForDetachedPaintedElements
PaintUnderInvalidationChecking
Parakeet
 PARAKEET ad serving runtime flag/JS API.
PartialCompletionNotAllowedInMoveParagraphs
PartitionVisitedLinkDatabaseWithSelfLinks
PasswordReveal
 This is to add an option to enable the Reveal button on password inputs while waiting ::reveal gets standardized.
PaymentApp
PaymentLinkDetection
 https://chromestatus.com/feature/5198846820352000
PaymentMethodChangeEvent
PaymentRequest
 PaymentRequest is enabled by default on Android
PerformanceManagerInstrumentation
PerformanceMarkFeatureUsage
 Enables performance.mark('mark_feature_usage'): crbug.com/1517170
PerformanceNavigationTimingConfidence
PeriodicBackgroundSync
PerMethodCanMakePaymentQuota
PermissionElement
 Tracking bug for the implementation: https://crbug.com/1462930
Permissions
PermissionsRequestRevoke
PlaceholderVisibility
 crbug.com/398955086
PNaCl
 This is a reverse OT used for a phased deprecation.
 https://crbug.com/918374
PointerEventDeviceId
PointerLockOnAndroid
 Flag for enabling the pointer lock API on Android
PointerRawUpdateOnlyInSecureContext
 https://crbug.com/404479704
PositionAreaXYSelf
 Kill switch for removing x-self, y-self as valid values.
 Enabling this flag will make x-self and y-self aliases of
 self-x and self-y at parse time.
 https://crbug.com/448642325
PositionOutsideTabSpanCheckSiblingNode
PositionVisibilityIgnoreNonClipAncestors
 Kill switch for https://crbug.com/448173938 which changes position
 visibility to ignore non-clipping ancestors.
PotentialPermissionsPolicyReporting
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.
PreferredAudioOutputDevices
PrefersReducedData
PreloadLinkRelDataUrls
 Used to allow preloading data: URLs with link rel=preload.
 https://crbug.com/348442535
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.
Prerender2CrossOriginIframes
 Used to allow prerender cross-origin iframes with an opt-in response
 header.
 https://chromestatus.com/feature/5112398709129216
 https://crbug.com/440387014
PrerenderActivationByFormSubmission
 Used to allow prerender activation by form submission.
 See https://crbug.com/346555939.
PrerenderUntilScript
Presentation
PreserveDropEffect
 When enabled, preserves dropEffect in drag event set during dragover
 events.
PreventUndoIfNotEditable
 When enabled, prevents undo to be applied if the enclosing block
 is not editable
PrivateAggregationApiErrorReporting
 Controls the aggregate error reporting feature, which allows for
 contributions to be made conditional on error conditions that can be
 hit when using the API. This also defers contribution merging and
 modifies the budgeting flow.
 https://chromestatus.com/feature/5194896325214208
PrivateAggregationApiMaxContributions
 Controls whether Private Aggregation's "maxContributions" field is
 enabled for Shared Storage callers. If disabled, the field will be
 ignored. https://chromestatus.com/feature/5189366316793856
PrivateNetworkAccessNullIpAddress
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.
ProgrammaticScrollPromise
 Promisify programmatic scroll methods in Element and Window.
 https://crbug.com/41406914
PropagateOverscrollBehaviorFromRoot
 Propagate overscroll-behavior from the root element rather than the
 body element. crbug.com/41453796
ProtectedOriginTrialsSampleAPI
 Protected memory varariant of the sample API for testing integration with
 the Origin Trials Framework. This is used only in unit tests.
 Do not change this flag to stable, as it exists
 solely to generate code used by the sample API implementation.
ProtectedOriginTrialsSampleAPIDependent
 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.
ProtectedOriginTrialsSampleAPIImplied
 As above. Do not change this flag to stable, as it exists solely to
 generate code used by the origin trials sample API implementation.
PseudoElementsFocusable
 Allowing pseudo-elements to have focus.
PushMessageDataBytes
PushMessaging
PushMessagingSubscriptionChange
QuotaExceededErrorUpdate
 ChromeStatus: https://chromestatus.com/feature/6194847180128256
QuoteFirstLineStyle
RasterInducingScroll
ReadableStreamBYOBReaderReadMinOption
 Enables support for a 'min' option in ReadableStream BYOBReader.read(),
 allowing callers to specify the minimum number of bytes to be read into
 the buffer before resolving the read request.
 https://chromestatus.com/feature/6396991665602560
RecordSameDocumentPresentationTimeOnce
ReduceAcceptLanguage
 If enabled, both Accept-Language HTTP header and JavaScript getter will
 be reduced.
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.
ReduceUserAgentDataLinuxPlatformVersion
 If enabled, the platform version in User-Agent Data will be removed.
 This feature is limited to Linux only.
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
RelatedWebsitePartitionAPI
RelaxDOMValidNames
 This flag allows more characters to be accepted as valid names in the
 createElement and attribute related DOM APIs.
 https://github.com/whatwg/dom/pull/1079
 http://crbug.com/40228234
 https://chromestatus.com/feature/6278918763708416
RelOpenerBcgDependencyHint
RemotePlayback
RemotePlaybackBackend
RemoveCharsetAutoDetectionForISO2022JP
 This feature acts as a kill switch for ISO-2022-JP auto-detection.
 This will be shipped in M139, and it can be removed in M141.
 See https://chromestatus.com/feature/6576566521561088.
RemoveCollapsedPlaceholderForContentEditable
 After paste operation removes the placeholder <br> tag
 that gets inserted in contenteditable as placeholder for newline
RemoveDanglingMarkupInTarget
RemoveDataUrlInSvgUse
RemoveFormatFilterBackgroundColor
 Fix for removeFormat command incorrectly preserving background-color
 when removing styles from elements. Prevents background-color from being
 re-applied to child elements during style removal.
 See https://crbug.com/41438799
RemoveSelectionCanonicalizationInMoveParagraph
 See https://issues.chromium.org/issues/41474791
RemoveVisibleSelectionInDOMSelection
 See https://issues.chromium.org/issues/41311101
RenderBlockingFullFrameRate
 See https://github.com/whatwg/html/issues/11070
 ChromeStatus: https://chromestatus.com/feature/5207202081800192
RenderBlockingStatus
RenderPriorityAttribute
 The renderpriority attribute feature.
 https://github.com/WICG/display-locking/blob/main/explainers/update-rendering.md
ReplacedElementCursorPositioningFix
 See https://crbug.com/40896371 for details.
ReportFirstFrameTimeAsRenderTime
ReportLayoutShiftRectsInCssPixels
RequestMainFrameAfterFirstVideoFrame
ResolveVarStylesOnCopy
ResourceTimingContentEncoding
ResourceTimingContentType
ResourceTimingInitiator
ResourceTimingUseCORSForBodySizes
RespectOverscrollBehaviorForScrollBubbling
ResponsiveIframes
RestrictGamepadAccess
RestrictOwnAudio
RestrictTableCellSelectionToBoundary
 Constrains text selections to stay within table cell boundaries
 (e.g., triple-click paragraph selection)
 See crbug.com/40852213.
RootScrollbarFollowsBrowserTheme
 If enabled, makes the root scrollbars' foreground elements follow the
 browser
RouteMatching
 Route matching, @route CSS rule, script type="routemap".
 https://chromestatus.com/feature/4771962874363904
RtcAudioJitterBufferMaxPackets
RTCDataChannelPriority
RTCEncodedFrameAudioLevel
RTCEncodedFrameSetMetadata
RTCEncodedFrameTimestamps
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|
RTCRtpScaleResolutionDownTo
RTCRtpScriptTransform
RTCRtpTransport
RTCStatsRelativePacketArrivalDelay
RTCSvcScalabilityMode
 Enables the use of SVC scalability mode in WebRTC.
 Spec: https://w3c.github.io/webrtc-svc/
RunSnapshotPostLayoutStateSteps
 HTML event loop invoking 'Run snapshot post-layout state steps' from
 the CSSOM View per spec proposal.
SanitizerAPI
 Spec: https://wicg.github.io/sanitizer-api/
 Tracking bug: crbug.com/356601280
ScopedCustomElementRegistry
 https://wicg.github.io/webcomponents/proposals/Scoped-Custom-Element-Registries
 https://github.com/whatwg/html/issues/10854
 Spec PRs:
 https://github.com/whatwg/html/pull/10869
 https://github.com/whatwg/dom/pull/1341
ScopedViewTransitions
 https://github.com/WICG/view-transitions/blob/main/scoped-transitions.md
ScreenDetailedHdrHeadroom
 https://github.com/w3c/window-management/issues/149
ScriptBasedOnUnicodeBlock
 crbug.com/406917902
ScriptedSpeechRecognition
 WebSpeech API with both speech recognition and synthesis functionality
 is not fully enabled on all platforms.
ScriptedSpeechSynthesis
ScriptRunIteratorCombiningMarkAlways
 crbug.com/378692756
ScriptRunIteratorCombiningMarks
ScrollAnchorPriorityCandidateSubtree
ScrollbarColor
ScrollbarWidth
ScrollIntoViewNearest
ScrollIntoViewRootFrameViewportBugFix
 TODO(355460994): Remove after M129.
 scroll into root frame didn't take scrollbar and borders into account,
 while this is fixed, to avoid any web compat issues we have this killswitch.
ScrollIntoViewSelfScrollFix
 TODO(crbug.com/401443093): Remove after M141.
ScrollTimelineCurrentTime
 Separate flag for crbug.com/1426506 (getCurrentTime API change) which
 is expected to land after the initial launch of ScrollTimeline.
ScrollTimelineNamedRangeScroll
 https://github.com/w3c/csswg-drafts/issues/9367#issuecomment-1854280461
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.
ScrollToTextFragmentUniqueFragments
 Only consider unique case-insensitive scroll-to-text fragments.
SearchTextHighlightPseudo
 Allows CSS styling of browser search results.
 https://issues.chromium.org/issues/339298411
 https://chromestatus.com/feature/5195073796177920
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.
SecurePaymentConfirmationAvailabilityAPI
SecurePaymentConfirmationBrowserBoundKeys
SecurePaymentConfirmationDebug
SecurePaymentConfirmationOptOut
SecurePaymentConfirmationUxRefresh
 Implements new UX for SPC including new output states, payment
 instrument details and payment entities logos.
SelectAudioOutput
 SelectAudioOutput API
 https://chromestatus.com/feature/5164535504437248
SelectChildrenRemovedFix
 Replicates old behavior which removes selectedness from option
 elements when they are all removed from a select at the same time.
 https://issues.chromium.org/issues/444330901
 Enabled in M142, can be removed in M145.
SelectDisallowDatalist
 Prevents the <select> element from tracking <option>s inside a nested
 <datalist>. Shipping in M144, should be safe to remove in M146.
SelectedcontentelementAttribute
 The selectedcontentelement attribute is for connecting select elements
 to arbitrary <selectedcontent> elements.
 https://github.com/openui/open-ui/issues/1063
SelectionAndFocusedVisiblePositionMatch
 See https://crbug.com/40664519
 Disabled due to UI freeze issues, see https://crbug.com/448833953.
SelectionCollapsedDirectionNone
SelectionHandleWithBottomClipped
 Killswitch M141.
SelectionRemoveRangeNotFoundError
 https://issues.chromium.org/issues/40502558
SelectionSetBaseAndExtentNonNullNode
 https://issues.chromium.org/issues/40502558
SelectionToStringSkipsUserSelectNone
 Enables skipping user-select: none content
 in DOMSelection::toString()
SelectionUpdateToInitialSelectionInListify
 See https://crbug.com/395544401
SelectiveClipboardFormatRead
 See https://chromestatus.com/feature/5203433409871872
SelectivePermissionsIntervention
 See https://chromestatus.com/feature/4811835974615040
SelectMobileDesktopParity
 Makes the logic to choose between ListBox (in-page) or MenuList
 (dropdown) select element modes the same between mobile and desktop.
 Without this flag, mobile will always use MenuList and desktop always
 makes <select multiple> a ListBox.
 https://chromestatus.com/feature/5412736871825408
 https://issues.chromium.org/issues/439964654
SendBeaconThrowForBlobWithNonSimpleType
SensorExtraClasses
SeparateDeferModuleScriptTasks
 Separate defer and module script execution into individual tasks
 to comply with HTML spec requirement to "spin the event loop" between
 each script execution. This prevents long tasks and improves responsiveness.
 https://crbug.com/40894694
Serial
SerializeViewTransitionStateInSPA
SerialPortConnected
ServiceWorkerBackgroundSyncInDedicatedWorker
 Support for Service Worker background sync APIs in Dedicated Workers.
 See https://chromestatus.com/feature/6497653025931264
 See https://issues.chromium.org/issues/40364838
ServiceWorkerClientLifecycleState
ServiceWorkerInDedicatedWorker
 Support for Service Worker APIs in Dedicated Workers.
 See https://chromestatus.com/feature/6497653025931264
 See https://issues.chromium.org/issues/40364838
ServiceWorkerStaticRouterTimingInfo
SetSequentialFocusStartingPoint
ShadowRootReferenceTarget
 Reference Target allows IDREF attributes to refer inside Shadow DOM.
 crbug.com/346835896
ShadowRootReferenceTargetAriaOwns
 If enabled, Reference Target will support aria-owns.
 https://github.com/WICG/webcomponents/issues/1091
SharedArrayBuffer
SharedArrayBufferUnrestrictedAccessAllowed
SharedStorageAPI
SharedStorageWebLocks
SharedWorker
SharedWorkerExtendedLifetime
 If enabled, SharedWorker supports extendedLifetime
 https://github.com/whatwg/html/issues/10997
SideRelativeBackgroundPosition
SignatureBasedInlineIntegrity
SkipAd
SkipCallbacksWhenDevToolsNotOpen
 If enabled, only call ResourceLoadObserver callbacks if the DevTools
 panel is open.
SkipDateTimeFieldDisableChecks
 Skip field disabled checks in DateTimeEditElement.
 This will be shipped in M143, and it can be removed in M145.
 See https://issues.chromium.org/issues/442293382.
SkipOofItemForBreakCandidate
SkipSetNeedsCollectInlines
 crbug.com/403617975
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.
SkipUnselectableContentInSerialization
 Fix for crbug.com/41393366
SmallerViewportUnits
SmartCard
SmartZoom
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
SpatNavUsesCursorInheritance
 Whether spatial navigation should use cursor inheritance to exclude
 nodes where cursor is inherited. Kill-switch that can be remove once
 the change goes through a stable release.
SpeakerSelection
SpecialRulesForNestedH1Elements
 This is a flag that re-enables some deprecated/removed "special rules"
 that apply to the styles of an <h1> element nested within <article>,
 <aside>, <nav>, or <section>. It is disabled by default, and here as a
 Finch killswitch only. This was shipped (disabled) in M140, and the flag
 can be removed in M142.
SpeculationRulesPrefetchWithSubresources
SplitTextNotCleanupDummySpans
SrcsetSelectionMatchesImageSet
 Kill switch for change to unify image-set and srcset selection logic.
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
StandardizedBrowserZoomOptOut
StickyUserActivationAcrossSameOriginNavigation
 Preserves the sticky user activation state after a page navigates to
 another same-origin page. https://crbug.com/433729626
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.
StrictJsonMimeTypeTokenValidation
 Enforces that MIME types matched via *+json wildcards have HTTP token
 compliant type and subtype (rejects invalid characters) in addition to
 requiring a single slash.
StrictMimeTypesForWorkers
StylusHandwriting
Svg2Cascade
SvgAnchorElementAttributes
SvgAnchorElementDownloadAttribute
SvgAvoidCullingElementsWithTransformOperations
SVGEmbeddedAsReplacedElement
 Treat SVG documents in <object>/<embed> as replaced elements
 https://issues.chromium.org/41302806
SvgEnableTextDecorationCssStyling
SvgFallBackToContainerSize
SvgFilterPaintsForHiddenContent
SvgIgnoreNegativeEllipseRadii
SvgImageNoExternalXslt
 Disable "external" XSLT stylesheets in SVGImage.
SvgInlineRootPixelSnappingScaleAdjustment
SvgLengthResolveUnparsedValue
SvgNonScalingStrokePrecisionFix
SvgPartitionSVGDocumentResourcesInMemoryCache
SvgScriptElementAsyncAttribute
SvgSizingWithPreserveAspectRatioNone
SvgSmilPruneInstanceTimes
SvgTransformOnNestedSvgElement
SynthesizedKeyboardEventsForAccessibilityActions
SystemDefaultAccentColors
SystemFallbackEmojiVSSupport
 This is used for emoji variation selectors support in system
 fallback matching. This is a workaround solution that helps to
 avoid incorrect font matching due to lack of cmap format 14
 subtable in system emoji fonts on various platforms.
 This should be eventually removed when the custom emoji font
 is shipped with Chrome or when system emoji fonts will have
 cmap format 14 subtable.
SystemWakeLock
TableIsAutoFixedLayout
TabSizeAncestor
TabSizeWithSpacing
TabWidthNegativePosition
TargetInShadowDeterminedBeforeListener
 When checking the shadow tree during invoke(),
 use the invocationTargetInShadowTree saved before
 calling the listener.
 This was added in M142 and can be removed after M144.
 https://issues.chromium.org/issues/41408360
TestBlinkFeatureDefault
 For unit tests.
 This is for testing copied_from_base_feature_if.
 This is set in base/test/test_suite.cc.
TestFeature
TestFeatureDependent
 For unit tests.
TestFeatureForBrowserProcessReadWriteAccessOriginTrial
 This is a feature used for testing what happens when an origin trial
 feature has browser-process read/write access. It should never be used
 in production code.
TestFeatureImplied
 For unit tests.
TestFeatureProtected
 For unit tests.
TestFeatureProtectedDependent
 For unit tests.
TestFeatureProtectedImplied
 For unit tests.
TestFeatureStable
 For unit tests.
TextareaLastLineRemovalFix
 crbug.com/442551790
TextareaLineEndingsAsBr
 crbug.com/414858401
TextareaMultipleIfcs
 crbug.com/414858401
TextCombineNoSideways
 crbug.com/461332428
TextDetector
TextEmphasisLetterSpacing
 crbug.com/40812040
TextEmphasisPositionAuto
 crbug.com/368657256
TextEmphasisPunctuationExceptions
TextEmphasisWithRuby
 crbug.com/442481227
TextFragmentAPI
TextFragmentIdentifiers
TextFragmentTapOpensContextMenu
TextMetricsBaselines
TextOverflowString
 https://crbug.com/41492459
TextSpacingTrimFallback
 crbug.com/431660829
TextSpacingTrimFallback2
 crbug.com/431660829
TextSpacingTrimFallbackChws
 crbug.com/440947112
TextSpacingTrimYuGothicUI
 crbug.com/331123676
ThirdPartyStoragePartitioningUserBypass
 This feature is used to inform the renderer of a user bypass from the
 browser process to disable third-party storage partitioning.
ThrottledHistoryAPIThrowsSecurityError
TimelineTrigger
 https://drafts.csswg.org/web-animations-2/#triggers
TimerThrottlingForBackgroundTabs
TimestampBasedCLSTracking
TimeZoneChangeEvent
TopicsAPI
TopicsDocumentAPI
TopicsImgAPI
 This feature allows calling the Topics API via an image
 attribute.
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).
 This feature is enabled by default in Android, where
 TouchDragOnShortPress is not shipped due to interactions with the OS that
 caused issues in the behavior.
 Please see https://issues.chromium.org/40823294
TouchDragAndDrop
 This feature enables drag and drop using touch input devices. Replaces
 the old "--enable-touch-drag-drop" and "--disable-touch-drag-drop"
 switches.
 Enabled by default in Android, ChromeOS and Windows.
TouchDragOnShortPress
 This feature makes touch dragging to occur at the short-press gesture,
 which occurs right before the long-press gesture.
TouchEventFeatureDetection
 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.
TouchTextEditingRedesign
 Set to reflect the kTouchTextEditingRedesign feature.
TransferableRTCDataChannel
TranslateService
 This is conditionally set if the platform supports translation.
TranslationAPI
TranslationAPIForWorkers
TraverseFlatTreeToHandleSlots
 Traverse flat tree to find start and end of paragraph in delete
 selection to handle slot distribution in details.
 See https://crbug.com/413595949
TreatMhtmlInitialDocumentLoadsAsCrossDocument
 When enabled, treats the initial navigation to about:blank#fragment in
 an MHTML document as a cross-document navigation.

 Although it appears to be a same-document fragment navigation, MHTML
 loading replaces the initial empty document with a new committed
 document that has an opaque origin.

 This feature acts as a kill switch for https://crbug.com/40580002.
TrustedTypesFromLiteral
TrustedTypesHTML
 Adapt Trusted Types to its new spec, as part of HTML.
 Tracking bug: 330516530
TrustedTypesUseCodeLike
TwoPhaseViewTransition
UnclosedFormControlIsInvalid
UnencodedDigest
UnexposedTaskIds
UnprefixedSpeechRecognition
 This is a kill switch for the unprefixed Web Speech API.
UnrestrictedMeasureUserAgentSpecificMemory
UnrestrictedSharedArrayBuffer
 This is a reverse OT used for a phased deprecation, on desktop
 https://crbug.com/1071424
UnrestrictedUsb
 Enables using policy-controlled feature "usb-unrestricted" to allow
 isolated context to access protected USB interface classes and to
 bypass the USB blocklist.
UpdateComplexSafaAreaConstraints
 If enabled, notify the associated DisplayCutoutHost of changes in
 complex safe area constraint usage on the page.
 Only Android may make use of this feature currently.
UpdateSelectionOnNodeInsertion
UpdateTrivalTextAfterFragmentCreationFromText
 Fix for https://crbug.com/436624850
 Ensures trivialtext is updated after fragment creation from text
 by calling UpdateTrivialReplacementText()
URLPatternCompareComponent
URLPatternGenerate
URLSearchParamsHasAndDeleteMultipleArgs
UseBeginFramePresentationFeedback
UseBoundedSelectionOffsetsInEditContextDeleteOperations
 Fix for https://crbug.com/454639396
UseLowQualityInterpolation
 Android currently uses low-quality interpolation, while other platforms
 default to medium-quality. This flag is for experimenting with changing
 the value on Android. See: https://crbug.com/374315986.
UseOriginalDomOffsetsForOffsetMap
 This flag uses the original DOM text for input when the password
 echo is enabled to create the offset_map.
UsePositionForPointInFlexibleBoxWithSingleChildElement
UsePositionIfIsVisuallyEquivalentCandidate
UserDefinedEntryPointTiming
UserMediaElement
UseSelectionInDOMTreeAnchorInExtendSelection
 Fix for https://crbug.com/421314614
UseShadowHostStyleCheckEditable
UseSpecValuesInTextFormatUpdateEventStyles
 Fix for https://crbug.com/354497121
UseUndoStepElementDispatchBeforeInput
V8IdleTasks
VideoAutoFullscreen
 Whether a video element should automatically play fullscreen unless
 'playsinline' is set.
VideoFrameMetadataBackgroundBlur
VideoFrameMetadataRtpTimestamp
VideoFullscreenOrientationLock
VideoRotateToFullscreen
VideoTrackGenerator
VideoTrackGeneratorInWindow
VideoTrackGeneratorInWorker
ViewportHeightClientHintHeader
ViewportSegments
ViewTransitionAsyncFinished
ViewTransitionHoistBackdropFilterEffect
ViewTransitionLongCallbackTimeoutForTesting
ViewTransitionUpdateLifecycleBeforeReady
ViewTransitionWaitUntil
VisibilityCollapseColumn
WakeLock
 The "WakeLock" feature was originally implied_by "ScreenWakeLock" and
 "SystemWakeLock". The former was removed after being promoted to
 stable, but we need to keep this feature around for code and IDLs that
 should work with both screen and system wake locks.
WarnOnContentVisibilityRenderAccess
 When enabled, this will issue a warning to the console any time
 rendering is forced withing content-visibility subtrees (both
 content-visibility: auto and content-visibility: hidden).
WebAppInstallation
 https://chromestatus.com/feature/5183481574850560
WebAppLaunchQueue
WebAppScopeExtensions
WebAppTabStrip
WebAppTabStripCustomizations
WebAppTranslations
WebAssemblyCustomDescriptors
 https://chromestatus.com/feature/6024844719947776
WebAssemblyJSPromiseIntegration
 WebAssembly JS Promise Integration,
 https://github.com/WebAssembly/js-promise-integration/blob/main/proposals/js-promise-integration
WebAudioBypassOutputBuffering
 https://chromestatus.com/feature/5077691662073856
WebAudioBypassOutputBufferingOptOut
 https://chromestatus.com/feature/5077691662073856
 Allows an Enterprise Policy to override WebAudioBypassOutputBuffering
WebAudioConfigurableRenderQuantum
 https://webaudio.github.io/web-audio-api/#dom-baseaudiocontext-renderquantumsize
WebAuth
 WebAuth is disabled on Android versions prior to N (7.0) due to lack of
 supporting APIs, see runtime_features.cc.
WebAuthAuthenticatorAttachment
 When enabled adds the authenticator attachment used for registration and
 authentication to the public key credential response.
WebAuthenticationAmbient
 Prototyping https://github.com/w3c/webauthn/issues/2144
WebAuthenticationAttestationFormats
 https://w3c.github.io/webauthn/#dom-publickeycredentialcreationoptions-attestationformats
WebAuthenticationChallengeUrl
 Enables providing a URL to retrieve a WebAuthn challenge.
 https://chromestatus.com/feature/5109012922892288
WebAuthenticationConditionalCreate
 https://w3c.github.io/webauthn/#dom-clientcapability-conditionalcreate
WebAuthenticationImmediateGet
 Prototyping https://github.com/w3c/webauthn/issues/2228
WebAuthenticationRemoteDesktopSupport
WebAuthenticationSupplementalPubKeys
 https://w3c.github.io/webauthn/#sctn-supplemental-public-keys-extension
WebAuthenticationUiMode
 Enables uiMode enumeration field in CredentialRequestOptions struct.
 This is an alternate API shape for WebAuthenticationImmediateGet.
 See https://github.com/w3c/webauthn/issues/2228.
WebBluetooth
 WebBluetooth is enabled by default on Android, ChromeOS, iOS, macOS and
 Windows.
WebBluetoothGetDevices
WebBluetoothScanning
WebBluetoothWatchAdvertisements
WebCodecsVideoEncoderBuffers
WebCryptoPQC
 Adding post-quantum algorithms (ML-DSA, ML-KEM) to WebCrypto.
 Also adding ChaCha20-Poly1305 while we're at it.

 https://chromestatus.com/feature/5198951632470016
WebFontResizeLCP
WebGLDeveloperExtensions
WebGLDraftExtensions
 Draft WebGL extensions are deliberately not enabled by experimental web
 platform features.
WebGLDrawingBufferStorage
WebGLImageChromium
WebGLOnWebGPU
 Switch WebGL to use an experimental implementation where WebGL calls
 are translated in Blink, via ANGLE, to WebGPU calls. Note that this
 is not marked as "experimental" because it is not an incremental
 addition like other experimental features but a code switch, so we
 don't want to enable it when testing all "experimental Web platform
 features".
WebGPUCompatibilityMode
 Launch feature flag for WebGPU Compatibility Mode
 https://chromestatus.com/feature/6436406437871616
WebGPUDeveloperFeatures
 WebGPU developer features are deliberately not enabled by experimental
 web platform features.
WebGPUExperimentalFeatures
 WebGPU experimental features are meant for features that would
 eventually land in the WebGPU spec.
WebGPUImmediatesFeature
WebHID
WebHIDOnServiceWorkers
 It is only enabled in extension environment for now.
WebIdentityDigitalCredentials
WebIdentityDigitalCredentialsCreation
WebIDLBigIntUsesToBigInt
 Kill switch for making BigInt handling in WebIDL use ToBigInt.
WebMCP
WebMCPTesting
WebNFC
WebOTP
WebOTPAssertionFeaturePolicy
WebPreferences
 https://wicg.github.io/web-preferences-api/
WebPrinting
WebShare
 WebShare is enabled by default on Android (non-WebView), Win, ChromeOS, and Mac.
 This is done in chrome/renderer/chrome_content_renderer_client.cc to prevent
 making the API available to Linux and WebView. Ideally we would set the status
 below to "stable" once we can do so without significant test expectation duplication.
WebSocketStream
WebSpeechRecognitionContext
WebTransportApplicationProtocol
WebTransportCustomCertificates
WebTransportStats
 Note: enabling this without setting WebTransportCongestionControl to
 either BBRv1 or BBRv2 will produce poor bandwidth estimates.
WebUIBundledCodeCacheAsyncFetch
 Fetches the WebUI code cache from the resource bundle asynchronously
 on a worker thread.
WebUSB
WebUSBOnDedicatedWorkers
WebUSBOnServiceWorkers
 It is only enabled in extension environment for now.
WebVTTRegions
WebXR
WebXREnabledFeatures
WebXRFrameRate
WebXRFrontFacing
WebXRGPUBinding
WebXRHitTestEntityTypes
WebXRImageTracking
WebXRLayers
WebXRLayersCommon
WebXRPlaneDetection
WebXRPoseMotionData
WebXRSpecParity
WebXRVisibilityMask
WidthAndHeightAsPresentationAttributesOnNestedSvg
WidthAndHeightStylePropertiesOnUseAndSymbol
WindowControlsOverlay
WindowDefaultStatus
 If enabled, window.default[Ss]tatus will be supported. This is disabled
 by default, and is here to allow this behavior to be re-enabled via Finch
 in case of problems. This flag should be removed by Q1 2023, assuming
 no problems are encountered.
WordSpacingWhiteSpacePre
XMLNoExternalEntities
 Moving to the Rust parser requires deprecation of the niche feature
 of synchronously including external entities.
 https://crbug.com/455813733
XMLParsingRust
XMLSerializerConsistentDefaultNsDeclMatching
XSLT
 A feature flag that controls whether XSLT is supported by the browser.
 crbug.com/435623334.
XSLTSpecialTrial
 A feature flag that will be used for a "special trial" of disabling
 XSLT on pre-stable channels only. If either this flag is disabled,
 or the main "XSLT" flag is disabled, then XSLT will be disabled.
 crbug.com/435623334.
ZeroCopyTabCapture
 If enabled, the getDisplayMedia() family of APIs will ask for NV12
 frames, which should trigger a zero-copy path in the tab capture code.

Blink settings

Modify with --blink-settings:

Name Default Type
defaultTextEncodingNameString
passwordEchoEnabledPhysicalfalse
passwordEchoEnabledTouchfalse
passwordEchoDurationInSeconds1double
validationMessageTimerMagnification50int
minimumFontSize0int
minimumLogicalFontSize0int
defaultFontSize0int
defaultFixedFontSize0int
editingBehaviorTypearray ( 'Mac' => 'mojom::blink::EditingBehavior::kEditingMacBehavior', 'Win' => 'mojom::blink::EditingBehavior::kEditingWindowsBehavior', 'Android' => 'mojom::blink::EditingBehavior::kEditingAndroidBehavior', 'ChromeOS' => 'mojom::blink::EditingBehavior::kEditingChromeOSBehavior', 'default' => 'mojom::blink::EditingBehavior::kEditingUnixBehavior', )mojom::EditingBehavior
localStorageEnabledfalse
allowUniversalAccessFromFileURLstrue
allowFileAccessFromFileURLstrue
supportsMultipleWindowstrue
javaScriptCanAccessClipboardfalse
shouldPrintBackgroundsfalse
shouldClearDocumentBackgroundtrue
HighlightAdsfalse
textAreasAreResizablefalse
acceleratedCompositingEnabledfalse
allowScriptsToCloseWindowsfalse
allowWindowFocusWithoutUserGesturefalse
downloadableBinaryFontsEnabledtrue
LCDTextPreferenceLCDTextPreference::kStronglyPreferredLCDTextPreference
webGL1Enabledtrue
webGL2Enabledtrue
webGLErrorsToConsoleEnabledtrue
antialiased2dCanvasEnabledtrue
antialiasedClips2dCanvasEnabledtrue
accelerated2dCanvasMSAASampleCount0int
hyperlinkAuditingEnabledfalse
allowRunningOfInsecureContenttrue
pictureInPictureEnabledtrue
webAppScopeString
presentationRequiresUserGesturetrue
embeddedMediaExperienceEnabledfalse
immersiveModeEnabledfalse
scrollAnimatorEnabledtrue
mockGestureTapHighlightsEnabledfalse
maxTouchPoints0int
multiTargetTapNotificationEnabledtrue
barrelButtonForDragEnabledfalse
syncXHRInDocumentsEnabledtrue
targetBlankImpliesNoOpenerEnabledWillBeRemovedtrue
ignorePermissionForDeviceChangedEventfalse
cookieEnabledtrue
navigateOnDragDroptrue
DOMPasteAllowedfalse
allowCustomScrollbarInMainFrametrue
placeRTLScrollbarsOnLeftSideInMainFramefalse
webSecurityEnabledtrue
spatialNavigationEnabledfalse
touchDragDropEnabledfalse
touchDragEndContextMenufalse
defaultVideoPosterURLString
smartInsertDeleteEnabledfalse
selectTrailingWhitespaceEnabledarray ( 'Win' => true, 'default' => false, )
selectionIncludesAltImageTextfalse
selectionStrategySelectionStrategy::kCharacterSelectionStrategy
viewportMetaZeroValuesQuirkfalse
ignoreMainFrameOverflowHiddenQuirkfalse
reportScreenSizeInPhysicalPixelsQuirkfalse
viewportMetaMergeContentQuirkfalse
wideViewportQuirkEnabledfalse
forceZeroLayoutHeightfalse
mainFrameClipsContenttrue
useWideViewporttrue
loadWithOverviewModetrue
shouldReuseGlobalForUnownedMainFramefalse
touchEditingEnabledfalse
rubberBandingOnCompositorThreadfalse
caretBrowsingEnabledfalse
accessibilityFontScaleFactor1.0double
accessibilityFontWeightAdjustment0int
accessibilityTextSizeContrastFactor0int
mediaTypeOverride""String
displayModeOverrideblink::mojom::DisplayMode::kUndefinedblink::mojom::DisplayMode
windowShowStateui::mojom::blink::WindowShowState::kDefaultui::mojom::blink::WindowShowState
resizabletruebool
loadsImagesAutomaticallyfalse
imagesEnabledtrue
imageAnimationPolicymojom::blink::ImageAnimationPolicy::kImageAnimationPolicyAllowedmojom::blink::ImageAnimationPolicy
doHtmlPreloadScanningtrue
pluginsEnabledfalse
viewportEnabledfalse
viewportMetaEnabledfalse
shrinksViewportContentToFitfalse
dnsPrefetchingEnabledfalse
scriptEnabledfalse
parserScriptingFlagPolicyParserScriptingFlagPolicy::kOnlyIfScriptIsEnabledParserScriptingFlagPolicy
forceAndroidOverlayScrollbarfalse
NetworkQuietTimeout0.5double
forceMainWorldInitializationfalse
forceTouchEventFeatureDetectionForInspectorfalse
deviceScaleAdjustment1.0double
fullscreenSupportedtrue
v8CacheOptionsmojom::blink::V8CacheOptions::kDefaultmojom::blink::V8CacheOptions
availablePointerTypesui::POINTER_TYPE_NONEint
availableHoverTypesui::HOVER_TYPE_NONEint
primaryPointerTypemojom::blink::PointerType::kPointerNoneblink::mojom::PointerType
primaryHoverTypemojom::blink::HoverType::kHoverNonemojom::blink::HoverType
outputDeviceUpdateAbilityTypemojom::blink::OutputDeviceUpdateAbilityType::kFastTypemojom::blink::OutputDeviceUpdateAbilityType
accessibilityPasswordValuesEnabledfalse
showContextMenuOnMouseUpfalse
alwaysShowContextMenuOnTouchtrue
disableReadingFromCanvasfalse
strictMixedContentCheckingfalse
strictMixedContentCheckingForPluginfalse
strictPowerfulFeatureRestrictionsfalse
strictlyBlockBlockableMixedContentfalse
allowGeolocationOnInsecureOriginsfalse
logDnsPrefetchAndPreconnectfalse
logPreloadfalse
smoothScrollForFindEnabledfalse
viewportStylemojom::blink::ViewportStyle::kDefaultmojom::blink::ViewportStyle
textTrackKindUserPreferenceTextTrackKindUserPreference::kDefaultTextTrackKindUserPreference
textTrackBackgroundColorString
textTrackFontFamilyString
textTrackFontStyleString
textTrackFontVariantString
textTrackTextColorString
textTrackTextShadowString
textTrackTextSizeString
textTrackWindowColorString
textTrackWindowRadiusString
textTrackMarginPercentage0double
preferHiddenVolumeControlsfalse
disallowFetchForDocWrittenScriptsInMainFrameIfEffectively2Gfalse
disallowFetchForDocWrittenScriptsInMainFrameOnSlowConnectionstrue
disallowFetchForDocWrittenScriptsInMainFramefalse
mainFrameResizesAreOrientationChangesfalse
hideScrollbarsfalse
spellCheckEnabledByDefaulttrue
hideDownloadUIfalse
presentationReceiverfalse
mediaControlsEnabledtrue
doNotUpdateSelectionOnMutatingSelectionRangefalse
autoplayPolicyAutoplayPolicy::Type::kNoUserGestureRequiredAutoplayPolicy::Type
requireTransientActivationForGetDisplayMediatrue
requireTransientActivationForShowFileOrDirectoryPickertrue
forceDarkModeEnabledfalse
navigatorPlatformOverrideString
lowPriorityIframesThresholdWebEffectiveConnectionType::kTypeUnknownWebEffectiveConnectionType
shouldProtectAgainstIpcFloodingtrue
lazyLoadEnabledtrue
lazyLoadingFrameMarginPxUnknown4000int
lazyLoadingFrameMarginPxOffline8000int
lazyLoadingFrameMarginPxSlow2G8000int
lazyLoadingFrameMarginPx2G6000int
lazyLoadingFrameMarginPx3G3500int
lazyLoadingFrameMarginPx4G2500int
lazyLoadingImageMarginPxUnknown3000int
lazyLoadingImageMarginPxOffline8000int
lazyLoadingImageMarginPxSlow2G8000int
lazyLoadingImageMarginPx2G6000int
lazyLoadingImageMarginPx3G2500int
lazyLoadingImageMarginPx4G1250int
inForcedColorsfalsebool
isForcedColorsDisabledfalsebool
rootScrollbarThemeColorstd::nulloptstd::optional
preferredRootScrollbarColorSchememojom::blink::PreferredColorScheme::kLightmojom::blink::PreferredColorScheme
preferredColorSchememojom::blink::PreferredColorScheme::kLightmojom::blink::PreferredColorScheme
preferredContrastmojom::blink::PreferredContrast::kNoPreferencemojom::blink::PreferredContrast
prefersReducedMotionfalse
prefersReducedTransparencyfalse
invertedColorsfalse
DontSendKeyEventsToJavascriptfalse
navigationControlsNavigationControls::kNoneNavigationControls
accessibilityAlwaysShowFocusfalse
ariaModalPrunesAXTreefalse
useAXMenuListtrue
selectionClipboardBufferAvailablefalse
middleClickPasteAllowedtrue
accessibilityIncludeSvgGElementfalse
bypassCSPfalse
textAutosizingEnabledfalse
textAutosizingWindowSizeOverridegfx::Size
WebXRImmersiveArAllowedtruebool
modalContextMenutruebool
printingMaximumShrinkFactor1.5float
prefersDefaultScrollbarStylesfalsebool
requireTransientActivationAndAuthorizationForSubAppsAPItrue
dynamicSafeAreaInsetsEnabledfalsebool

Preferences

The following JSON preferences can be modified in the Preferences file in the profile:

{
    "default_apps": "",
    "safebrowsing_for_trusted_sources_enabled": "",
    "disable_screenshots": "",
    "download_bubble": {
        "partial_view_enabled": "",
        "partial_view_impressions": ""
    },
    "profile": {
        "ephemeral_mode": "",
        "creation_time": "",
        "icon_version": "",
        "icon_win11_format": "",
        "exit_type": "",
        "avatar_index": "",
        "name": "",
        "using_default_name": "",
        "using_default_avatar": "",
        "using_gaia_avatar": "",
        "managed_users": "",
        "managed_accounts": {
            "restriction": {
                "value": "",
                "all_managed_accounts": ""
            }
        },
        "enterprise_profile_creation": {
            "keep_existing_data_by_default": ""
        },
        "content_settings": {
            "had_three_consecutive_denies": {
                "notifications": ""
            },
            "data_url_in_svg_use_enabled": "",
            "partitioned_blob_url_usage": "",
            "clear_window_name_for_new_browsing_context_group": ""
        },
        "reduce_accept_language_enabled": "",
        "last_used": "",
        "last_active_profiles": "",
        "profiles_created": "",
        "created_by_version": "",
        "info_cache": "",
        "profiles_order": "",
        "web_app": {
            "install": {
                "forcelist": ""
            },
            "policy_settings": ""
        },
        "managed_configuration": {
            "list": "",
            "last_hash": ""
        },
        "isolated_web_app": {
            "install": {
                "forcelist": "",
                "pending_initialization_count": ""
            }
        },
        "default_content_setting_values": {
            "protected_media_identifier": ""
        },
        "extensions": {
            "activity_log": {
                "num_consumers_active": ""
            }
        },
        "browser_guest_enabled": "",
        "browser_guest_enforced": "",
        "add_person_enabled": "",
        "force_browser_signin": "",
        "picker_availability_on_startup": "",
        "picker_shown": "",
        "show_picker_on_startup": "",
        "web_share": {
            "visited_targets": ""
        },
        "shared_array_buffer_unrestricted_access_allowed": "",
        "sandbox_external_protocol_blocked": ""
    },
    "homepage_is_newtabpage": "",
    "homepage": "",
    "https_only_mode_enabled": "",
    "https_first_balanced_mode_enabled": "",
    "https_first_mode_incognito_enabled": "",
    "https_only_mode_auto_enabled": "",
    "https_upgrade_fallbacks": "",
    "https_upgrade_navigations": "",
    "important_sites_dialog": "",
    "newtab_page_location_override": "",
    "session": {
        "restore_on_startup": "",
        "startup_urls": ""
    },
    "feedback_allowed": "",
    "intl": {
        "charset_default": ""
    },
    "webkit": {
        "webprefs": {
            "fonts": {
                "standard": {
                    "Arab": "",
                    "Jpan": "",
                    "Hang": "",
                    "Hans": "",
                    "Hant": "",
                    "Zyyy": ""
                },
                "serif": {
                    "Arab": "",
                    "Jpan": "",
                    "Hang": "",
                    "Hans": "",
                    "Hant": "",
                    "Zyyy": ""
                },
                "sansserif": {
                    "Arab": "",
                    "Jpan": "",
                    "Hang": "",
                    "Hans": "",
                    "Hant": "",
                    "Zyyy": ""
                },
                "fixed": {
                    "Jpan": "",
                    "Hang": "",
                    "Hans": "",
                    "Hant": "",
                    "Zyyy": ""
                },
                "cursive": {
                    "Zyyy": ""
                },
                "fantasy": {
                    "Zyyy": ""
                },
                "math": {
                    "Zyyy": ""
                }
            },
            "web_security_enabled": "",
            "dom_paste_enabled": "",
            "text_areas_are_resizable": "",
            "javascript_can_access_clipboard": "",
            "tabs_to_links": "",
            "allow_running_insecure_content": "",
            "force_dark_mode_enabled": "",
            "default_font_size": "",
            "default_fixed_font_size": "",
            "minimum_font_size": "",
            "minimum_logical_font_size": "",
            "javascript_enabled": "",
            "loads_images_automatically": "",
            "plugins_enabled": "",
            "encrypted_media_enabled": ""
        }
    },
    "Zyyy": "",
    "ssl": {
        "error_override_allowed": "",
        "error_override_allowed_for_origins": "",
        "rev_checking": {
            "enabled": "",
            "required_for_local_anchors": ""
        },
        "version_min": "",
        "version_max": "",
        "cipher_suites": {
            "blacklist": ""
        },
        "client_certs": {
            "h2_coalescing_hosts": ""
        },
        "post_quantum_enabled": "",
        "compliance": {
            "key_exchange": "",
            "cipher": ""
        },
        "tls13_early_data_enabled": "",
        "ech_enabled": ""
    },
    "search": {
        "suggest_enabled": ""
    },
    "download": {
        "prompt_for_download": "",
        "default_directory": "",
        "directory_upgrade": "",
        "extensions_to_open": "",
        "extensions_to_open_by_policy": "",
        "allowed_urls_for_open_by_policy": ""
    },
    "net": {
        "quic_allowed": "",
        "keep_whitespace_data_urls": "",
        "network_qualities": "",
        "easter_egg_high_score": "",
        "network_prediction_options": "",
        "network_service_failed_launch_major_version": "",
        "max_connections_per_proxy": "",
        "explicitly_allowed_network_ports": "",
        "compression_dictionary_transport_enabled": "",
        "happy_eyeballs_v3_enabled": "",
        "ipv6_reachability_override_enabled": ""
    },
    "default_apps_install_state": "",
    "browser": {
        "show_home_button": "",
        "show_forward_button": "",
        "pin_split_tab_button": "",
        "pin_contextual_task_button": "",
        "split_view_drag_and_drop_enabled": "",
        "split_view_drag_and_drop_nudge_shown_count": "",
        "split_view_drag_and_drop_nudge_used_count": "",
        "gemini_settings": "",
        "theme": {
            "saved_local_theme": "",
            "color_scheme": "",
            "color_scheme2": "",
            "user_color": "",
            "user_color2": "",
            "color_variant": "",
            "color_variant2": "",
            "follows_system_colors": "",
            "is_grayscale": "",
            "is_grayscale2": ""
        },
        "default_browser_infobar_last_declined": "",
        "default_browser_infobar_last_declined_time": "",
        "default_browser_infobar_declined_count": "",
        "default_browser_app_menu_first_shown_time": "",
        "default_browser_setting_enabled": "",
        "suppress_default_browser_prompt_for_version": "",
        "default_browser_prompt_refresh_study_group": "",
        "window_placement": "",
        "window_placement_popup": "",
        "app_window_placement": "",
        "last_redirect_origin": "",
        "dns_interception_checks_enabled": "",
        "command_line_flag_security_warnings_enabled": "",
        "promotions_enabled": "",
        "suppress_unsupported_os_warning": "",
        "web_app": {
            "create_on_desktop": "",
            "create_in_apps_menu": "",
            "create_in_quick_launch_bar": ""
        },
        "disk_cache_dir": "",
        "disk_cache_size": "",
        "relaunch_notification": "",
        "relaunch_notification_period": "",
        "relaunch_window": "",
        "relaunch_fast_if_outdated": "",
        "attempted_to_enable_autoupdate": "",
        "last_whats_new_version": "",
        "hovercard": {
            "image_previews_enabled": "",
            "memory_usage_enabled": ""
        }
    },
    "contextual_tasks": {
        "next_panel_open_count": ""
    },
    "settings": {
        "allowed_domains_for_apps": "",
        "a11y": {
            "enable_accessibility_image_labels": "",
            "enable_accessibility_image_labels_opt_in_accepted": "",
            "focus_highlight": "",
            "enable_main_node_annotations": "",
            "requested_page_colors": "",
            "apply_page_colors_only_on_increased_contrast": "",
            "page_colors_block_list": "",
            "prefers_default_scrollbar_styles": "",
            "caretbrowsing": {
                "enabled": "",
                "show_dialog": ""
            }
        },
        "toast": {
            "alert_level": ""
        }
    },
    "extensions": {
        "theme": {
            "pack": "",
            "id": ""
        },
        "ui": {
            "developer_mode": ""
        },
        "commands": "",
        "disabled": ""
    },
    "autogenerated": {
        "theme": {
            "color": ""
        }
    },
    "syncing_theme_prefs_migrated_to_non_syncing": "",
    "should_read_incoming_syncing_theme_prefs": "",
    "plugins": {
        "always_open_pdf_externally": ""
    },
    "accessibility": {
        "shown_api_type": ""
    },
    "partition": {
        "default_zoom_level": "",
        "per_host_zoom_levels": ""
    },
    "pinned_tabs": "",
    "disable_3d_apis": "",
    "enable_unsafe_swiftshader": "",
    "enable_a_ping": "",
    "enable_referrers": "",
    "enable_do_not_track": "",
    "import_autofill_form_data": "",
    "import_bookmarks": "",
    "import_history": "",
    "import_home_page": "",
    "import_saved_passwords": "",
    "import_search_engine": "",
    "import_dialog_autofill_form_data": "",
    "import_dialog_bookmarks": "",
    "import_dialog_history": "",
    "import_dialog_saved_passwords": "",
    "import_dialog_search_engine": "",
    "invert_notification_version_2_shown": "",
    "printing": {
        "printer_type_deny_list": "",
        "print_header_footer": "",
        "allowed_background_graphics_modes": "",
        "background_graphics_default": "",
        "paper_size_default": "",
        "print_preview_disabled": "",
        "default_destination_selection_rules": "",
        "use_system_default_printer": "",
        "print_preview_sticky_settings": "",
        "silent_printing_enabled": ""
    },
    "downgrade": {
        "snapshot_retention_limit": ""
    },
    "message_center": {
        "disabled_extension_ids": ""
    },
    "fullscreen": {
        "allowed": ""
    },
    "gcm": {
        "push_messaging_application_id_map": "",
        "push_messaging_unsubscribed_entries_list": "",
        "product_category_for_subtypes": ""
    },
    "easy_unlock": {
        "allowed": "",
        "pairing": "",
        "device_id": ""
    },
    "webrtc": {
        "ip_handling_policy": "",
        "ip_handling_url": "",
        "post_quantum_key_agreement": "",
        "udp_port_range": "",
        "event_logs_collection": "",
        "local_ips_allowed_urls": "",
        "text_log_collection_allowed": ""
    },
    "suppress_different_origin_subframe_js_dialogs": "",
    "user_agent_reduction": "",
    "side_panel": {
        "is_right_aligned": "",
        "companion_pinned_to_toolbar": "",
        "id_to_width": "",
        "google_search_side_panel_enabled": ""
    },
    "tab_search": {
        "is_right_aligned": ""
    },
    "vertical_tabs": {
        "enabled": ""
    },
    "chrome_data_region_setting": "",
    "network_annotation_blocklist": "",
    "enterprise_reporting": {
        "reporting_endpoints": ""
    },
    "view_source": {
        "line_wrapping_enabled": ""
    },
    "static_storage_quota_enabled": "",
    "managed": {
        "serial_allow_all_ports_for_urls": "",
        "serial_allow_usb_devices_for_urls": "",
        "web_hid_allow_all_devices_for_urls": "",
        "web_hid_allow_devices_for_urls": "",
        "web_hid_allow_devices_for_urls_on_login_screen": "",
        "web_hid_allow_devices_with_hid_usages_for_urls": ""
    },
    "profiles": {
        "profiles_deleted": ""
    },
    "user_experience_metrics": {
        "stability": {
            "other_user_crash_count": "",
            "kernel_crash_count": "",
            "system_unclean_shutdowns": ""
        }
    },
    "task_manager": {
        "window_placement": "",
        "column_visibility": "",
        "category": "",
        "end_process_enabled": ""
    },
    "savefile": {
        "default_directory": "",
        "type": ""
    },
    "selectfile": {
        "last_directory": ""
    },
    "select_file_dialogs": {
        "allowed": ""
    },
    "filebrowser": {
        "tasks": {
            "default_by_mime_type": "",
            "default_by_suffix": ""
        }
    },
    "protocol_handler": {
        "allowed_origin_protocol_pairs": "",
        "policy": {
            "auto_launch_protocols_from_origins": ""
        }
    },
    "restart": {
        "last": {
            "session": {
                "on": {
                    "shutdown": ""
                }
            }
        }
    },
    "ntp_footer": {
        "settings": {
            "extension_attribution": "",
            "management_notice": ""
        }
    },
    "was": {
        "restarted": ""
    },
    "ntp": {
        "collapsed_foreign_sessions": "",
        "custom_background_dict2": "",
        "custom_background_local_to_device": "",
        "custom_background_local_to_device_id": "",
        "custom_background_inspiration": "",
        "custom_background_dict": "",
        "promo_blocklist": "",
        "promo_visible": "",
        "wallpaper_search_history": ""
    },
    "NewTabPage": {
        "CustomizeChromeButtonOpenCount": "",
        "DisabledModules": "",
        "CustomizeChromeHiddenModules": "",
        "CustomizeChromeSidePanelAutoOpeningsCount": "",
        "CustomizeChromeExplicitlyClosed": "",
        "CustomizeChromeIPHAutoOpened": "",
        "HiddenModules": "",
        "MicrosoftFilesModuleLastDismissedTime": "",
        "MicrosoftFilesModuleRetryAfterTime": "",
        "ModulesOrder": "",
        "ModulesVisible": "",
        "ToolChipsVisible": "",
        "ModulesLoadedCountDict": "",
        "ModulesInteractedCountDict": "",
        "OutlookCalendar": {
            "LastAttachmentRequestSuccess": "",
            "LastAttachmentRequestTime": "",
            "LastDismissedTime": "",
            "RetryAfterTime": ""
        },
        "OutlookModuleVisible": "",
        "SharepointModuleVisible": "",
        "WallpaperSearchButtonShownCount": "",
        "FooterVisible": ""
    },
    "colorpicker": {
        "SeedColorChangeCount": ""
    },
    "devtools": {
        "adb_key": "",
        "availability": "",
        "availability_allowlist": "",
        "availability_blocklist": "",
        "last_open_timestamp": "",
        "remote_debugging": {
            "allowed": "",
            "user-enabled": ""
        },
        "backgroundserviceexpiration": "",
        "discover_usb_devices": "",
        "edited_files": "",
        "file_system_paths": "",
        "port_forwarding_enabled": "",
        "port_forwarding_default_set": "",
        "port_forwarding_config": "",
        "discover_tcp_targets": "",
        "tcp_discovery_config": "",
        "preferences": "",
        "sync_preferences": "",
        "synced_preferences_sync_enabled": "",
        "synced_preferences_sync_disabled": "",
        "gen_ai_settings": "",
        "google_developer_program_profile_availability": ""
    },
    "sync_promo": {
        "user_menu_show_count": ""
    },
    "web_app": {
        "app_id": {
            "install_url": ""
        }
    },
    "web_app_install_metrics": "",
    "web_apps": {
        "daily_metrics": "",
        "daily_metrics_date": "",
        "app_agnostic_iph_state": "",
        "app_agnostic_ml_state": "",
        "app_agnostic_iph_link_capturing_state": "",
        "last_preinstall_synchronize_version": "",
        "did_migrate_default_chrome_apps": "",
        "uninstalled_default_chrome_apps": "",
        "web_app_ids": ""
    },
    "media": {
        "default_audio_capture_device": "",
        "default_video_capture_Device": "",
        "storage_id_salt": "",
        "engagement": {
            "schema_version": ""
        },
        "autoplay_allowed": "",
        "autoplay_whitelist": "",
        "block_autoplay": ""
    },
    "background_contents": {
        "registered": ""
    },
    "total_memory_limit_mb": "",
    "auth": {
        "schemes": "",
        "http_auth_allowed_for_origins": "",
        "disable_negotiate_cname_lookup": "",
        "enable_negotiate_port": "",
        "server_allowlist": "",
        "negotiate_delegate_whitelist": "",
        "gssapi_library_name": "",
        "android_negotiate_account_type": "",
        "allow_cross_origin_prompt": "",
        "globally_scoped_http_auth_cache_enabled": "",
        "ambient_auth_in_private_modes": "",
        "basic_over_http_enabled": ""
    },
    "hsts": {
        "policy": {
            "upgrade_bypass_list": ""
        }
    },
    "async_dns": {
        "enabled": "",
        "additional_dns_query_types_enabled": ""
    },
    "dns_over_https": {
        "mode": "",
        "templates": "",
        "automatic_mode_fallback_to_doh": ""
    },
    "hardware": {
        "audio_capture_enabled": "",
        "audio_capture_allowed_urls": "",
        "video_capture_enabled": "",
        "video_capture_allowed_urls": "",
        "screen_capture_enabled": "",
        "screen_capture_allowed_by_origins": "",
        "window_capture_allowed_by_origins": "",
        "tab_capture_allowed_by_origins": "",
        "same_origin_tab_capture_allowed_by_origins": ""
    },
    "feedback": {
        "performance_tracing_enabled": ""
    },
    "FactoryResetRequested": "",
    "ForceFactoryReset": "",
    "FactoryResetTPMFirmwareUpdateMode": "",
    "DebuggingFeaturesRequested": "",
    "EnableAdbSideloadingRequested": "",
    "media_router": {
        "enable_media_router": "",
        "show_cast_icon_in_toolbar": ""
    },
    "qr_code_generator_enabled": "",
    "cloud_print": {
        "0": "",
        "enabled": "",
        "proxy_id": "",
        "auth_token": "",
        "email": "",
        "print_system_settings": "",
        "enable_job_poll": "",
        "robot_refresh_token": "",
        "robot_email": "",
        "user_settings": {
            "connectNewPrinters": "",
            "0": "",
            "printers": ""
        },
        "xmpp_ping_enabled": "",
        "xmpp_ping_timeout_sec": ""
    },
    "background_mode": {
        "enabled": ""
    },
    "hardware_acceleration_mode": {
        "enabled": ""
    },
    "hardware_acceleration_mode_previous": "",
    "policy": {
        "device_refresh_rate": "",
        "lens_region_search_enabled": "",
        "lens_desktop_ntp_search_enabled": ""
    },
    "media_galleries": {
        "gallery_id": "",
        "remembered_galleries": ""
    },
    "apps": {
        "shortcuts_version": "",
        "shortcuts_arch": ""
    },
    "proxy": {
        "quick_check_enabled": ""
    },
    "signin": {
        "interception_enabled": ""
    },
    "cryptauth": {
        "instance_id": "",
        "instance_id_token": ""
    },
    "recovery_component": {
        "needs_elevation": ""
    },
    "allow_dinosaur_easter_egg": "",
    "dse_geolocation_setting": "",
    "dse_permissions_settings": "",
    "dse_was_disabled_by_policy": "",
    "tab_stats": {
        "total_tab_count_max": "",
        "max_tabs_per_window": "",
        "window_count_max": "",
        "last_daily_sample": "",
        "discards_external": "",
        "discards_urgent": "",
        "discards_proactive": "",
        "discards_suggested": "",
        "discards_frozen": "",
        "reloads_external": "",
        "reloads_urgent": "",
        "reloads_proactive": "",
        "reloads_suggested": "",
        "reloads_frozen": ""
    },
    "unsafely_treat_insecure_origin_as_secure": "",
    "site_isolation": {
        "isolate_origins": "",
        "site_per_process": "",
        "origin_keyed_processes_enabled": ""
    },
    "file_system": {
        "file_or_directory_picker_without_allowed_for_origins": ""
    },
    "persistent_notifications": {
        "next_id": "",
        "next_trigger": ""
    },
    "tab_freezing_enabled": "",
    "enterprise_hardware_platform_api": {
        "enabled": ""
    },
    "web_package": {
        "signed_exchange": {
            "enabled": ""
        }
    },
    "ca_certificate_management_allowed": "",
    "hats": {
        "survey_metadata": ""
    },
    "external_protocol_dialog": {
        "show_always_open_checkbox": ""
    },
    "scroll_to_text_fragment_enabled": "",
    "prompt_on_multiple_matching_certificates": "",
    "fetch_keepalive_duration_on_shutdown": "",
    "sharing_hub": {
        "desktop_sharing_hub_enabled": ""
    },
    "lens": {
        "lens_overlay_start_count": ""
    },
    "privacy_guide": {
        "viewed": ""
    },
    "cors_non_wildcard_request_headers_support": "",
    "origin_agent_cluster_default_enabled": "",
    "sct_auditing": {
        "hashdance_report_count": ""
    },
    "high_efficiency": {
        "chip_expanded_count": "",
        "last_chip_expanded_timestamp": ""
    },
    "performance_intervention": {
        "background_cpu_message_count": "",
        "background_cpu_rate_limited_count": "",
        "last_daily_sample": ""
    },
    "should_show_price_track_fue_bubble_fue": "",
    "strict_mime_type_check_for_worker_scripts_enabled": "",
    "access_control_allow_methods_in_cors_preflight_spec_conformant": "",
    "https_upgrades": {
        "policy": {
            "http_allowlist": "",
            "upgrades_enabled": ""
        }
    },
    "certificates": {
        "ca_certificates": "",
        "ca_certificates_with_constraints": "",
        "ca_distrusted_certificates": "",
        "ca_hint_certificates": "",
        "ca_platform_integration_enabled": ""
    },
    "temporary_setting": {
        "enterpise_badging": ""
    },
    "enterprise_logo": {
        "url": {
            "for_browser": "",
            "for_profile": ""
        }
    },
    "enterprise_label": {
        "custom_value": {
            "for_browser": "",
            "for_profile": ""
        }
    },
    "enterprise": {
        "profile_badging": {
            "toolbar_settings": ""
        }
    },
    "web_audio_output_buffering_enabled": "",
    "worker": {
        "service_worker_to_control_srcdoc_iframe_enabled": "",
        "shared_worker_blob_url_fix_enabled": "",
        "service_worker_auto_preload_enabled": ""
    },
    "managed_local_network_access_restrictions_enabled": "",
    "managed_local_network_access_restrictions_temporary_opt_out": "",
    "preloading": {
        "prefetch_with_service_worker_enabled": ""
    },
    "toast": {
        "non_milestone_update_toast_version": ""
    }
}