Chrome features

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

Name Description Enabled by default
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.
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)
kCookieDeprecationFacilitatedTestingLabels
Kill switch for Cookie Deprecation labels, also gated on
kCookieDeprecationFacilitatedTesting.
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.
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.
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.
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.
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).
kPartitionedPopinsHeaderPolicyBypass
Partitioned Popins must have a Popin-Policy in their top-frame HTTP Response
that permits the opener origin. This feature disables that check for purposes
of testing only, this must never be enabled by default in any context.
See https://explainers-by-googlers.github.io/partitioned-popins/
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.
kPrivateNetworkAccessForWorkers
Enables Private Network Access checks for all types of web workers.

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

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

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

Does nothing if kPrivateNetworkAccessForWorkers is disabled.

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

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

Does nothing if kPrivateNetworkAccessForNavigations is disabled.

If both this and kPrivateNetworkAccessForNavigations are enabled, then PNA
preflight requests for navigations are not required to succeed. If
one fails, a warning is simply displayed in DevTools.
kPrivateNetworkAccessRespectPreflightResults
Requires that CORS preflight requests succeed before sending private network
requests. This flag implies kPrivateNetworkAccessSendPreflights.
See: https://wicg.github.io/private-network-access/#cors-preflight
kPrivateNetworkAccessSendPreflights
Enables sending CORS preflight requests ahead of private network requests.
See: https://wicg.github.io/private-network-access/#cors-preflight
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.
kRenderDocumentCompositorReuse
Reuse compositor instances with RenderDocument
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.
kAdAuctionSignals
kAvoidTrustedParamsCopies
kAsyncTouchMovesImmediatelyAfterScroll
The delay for creating the Android spare renderer in
kBlockMidiByDefault
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.
Since the function is called during loading, a delay is introduced to avoid
kComputePressureRateObfuscationMitigation
kCrashReportingAPIMoreContextData
kOverrideCrashReportingEndpoint
The timeout for the created spare renderer after each navigation on Android.
The created renderer will be destroyed after the timeout.
A negative value indicates that no timeout will be set for the spare
kLowerHighResolutionTimerThreshold
kAllowDatapipeDrainedAsBytesConsumerInBFCache
kAllowDevToolsMainThreadDebuggerForMultipleMainFrames
kAllowURNsInIframes
Kill the spare renderer when the browser goes to the background to free
resources.
kDisplayWarningDeprecateURNIframesUseFencedFrames
kAudioWorkletThreadRealtimePriority
kAudioWorkletThreadPool
kAutofillEnableSyntheticSelectMetricsLogging
kAutofillFixFieldsAssociatedWithNestedFormsByParser
kAutofillSendUnidentifiedKeyAfterFill
kAutoSpeculationRules
Set a time limit for the page to enter the cache. Disabling this prevents
kBFCacheOpenBroadcastChannel
"BackForwardCacheMemoryControls" is checked before "BackForwardCache". It
kBFCacheWithSharedWorker
"BackForwardCacheMemoryControls" is checked before "BackForwardCache". It
means the low memory devices will activate neither the control group nor the
experimental group of the BackForwardCache field trial.
kBackForwardCacheDWCOnJavaScriptExecution
BackForwardCacheMemoryControls is enabled only on Android to disable
kBackgroundResourceFetch
kBakedGamutMapping
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
kBackgroundTracingPerformanceMark
kBoostImageSetLoadingTaskPriority
kBoostFontLoadingTaskPriority
Broker file operations on disk cache in the Network Service.
kBoostVideoLoadingTaskPriority
Broker file operations on disk cache in the Network Service.
This is no-op if the network service is hosted in the browser process.
kBoostRenderBlockingStyleLoadingTaskPriority
kBoostNonRenderBlockingStyleLoadingTaskPriority
kBrowsingTopicsBypassIPIsPubliclyRoutableCheck
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
kBrowsingTopicsDocumentAPI
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
kBrowsingTopicsParameters
kCacheStorageCodeCacheHintHeader
kCanvas2DHibernation
Enables HW decode acceleration for WebRTC.
kCanvas2DHibernationReleaseTransferMemory
kCanvas2DHibernationNoSmallCanvas
kCaptureJSExecutionLocation
kCheckHTMLParserBudgetLessOften
Enables a discard operation on WebContents to free associated resources.
Eliminates the need to destroy the WebContents object to free its resources.
kClearSiteDataPrefetchPrerenderCache
When this feature is enabled, partial storage cleanup will be
kClientHintsDPR_DEPRECATED
kClientHintsDeviceMemory_DEPRECATED
kClientHintsResourceWidth_DEPRECATED
kClientHintsViewportWidth_DEPRECATED
Enables javaless renderers.
kCompressParkableStrings
kLessAggressiveParkableString
kCombineNewWindowIPCs
kConsumeCodeCacheOffThread
kContentCaptureConstantStreaming
Enables RPs to enhance autofill with federated accounts fetched by the FedCM
API.
kCreateImageBitmapOrientationNone
Enables the spec-compliant 'error' attribute in IdentityCredentialError while
kDeferRendererTasksAfterInput
kDelayAsyncScriptExecution
This is a kill switch for focusing the RenderWidgetHostViewAndroid on
ActionDown on every touch sequence if not focused already, please see
crbug.com/381820236. The root view, RWHVA, is always focused in Chrome,
kDelayLayerTreeViewDeletionOnLocalSwap
kDevToolsImprovedNetworkError
kDirectCompositorThreadIpc
kDisableArrayBufferSizeLimitsForTesting
kDiscardInputEventsToRecentlyMovedFrames
kDropInputEventsWhilePaintHolding
kEnableDevtoolsDeepLinkViaExtensibilityApi
kEstablishGpuChannelAsync
kEnableLazyLoadImageForInvisiblePage
kEnforceNoopenerOnBlobURLNavigation
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
kEventTimingIgnorePresentationTimeFromUnexpectedFrameSource
kExpandCompositedCullRect
kFadeInScrollbarWhenMouseWheelMayBegin
kFencedFrames
If enabled, the feature parameter allows all the prerender hosts for
DSE search results to be reused.
kFencedFramesCrossOriginEventReporting
kFencedFramesAutomaticBeaconCredentials
Enables Private Network Access checks for all types of web workers.
kFencedFramesCrossOriginAutomaticBeaconData
Enables Private Network Access checks for all types of web workers.

This affects initial worker script fetches, fetches initiated by workers
themselves, and service worker update fetches.
kFencedFramesLocalUnpartitionedDataAccess
Enables Private Network Access checks for all types of web workers.

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

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

- kBlockInsecurePrivateNetworkRequests
kFencedFramesReportEventHeaderChanges
Enables Private Network Access checks for all types of web workers.

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

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

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

Does nothing if kPrivateNetworkAccessForWorkers is disabled.
kExemptUrlFromNetworkRevocationForTesting
kFetchDestinationJsonCssModules
Enables Private Network Access checks for navigations.

The exact checks run are the same as for document subresources, and depend on
kFileHandlingIcons
kFileSystemUrlNavigation
kFileSystemUrlNavigationForChromeAppsOnly
Enables Private Network Access checks in warning mode for navigations.
kFilteringScrollPrediction
Enables Private Network Access checks in warning mode for navigations.

Does nothing if kPrivateNetworkAccessForNavigations is disabled.

If both this and kPrivateNetworkAccessForNavigations are enabled, then PNA
kFledge
When enabled, ProcessSelectionDeferringConditions will be run. This allows
kFledgeBiddingAndAuctionServer
kFledgeOriginScopedKeys
kFledgeConsiderKAnonymity
When enabled, queues navigations instead of cancelling the previous
navigation if the previous navigation is already waiting for commit.
kFledgeEnforceKAnonymity
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.
kFledgeLimitSelectableBuyerAndSellerReportingIds
kFledgeMaxGroupLifetimeFeature
When a Web application is video-capturing a tab, it can use the Region
Capture API to crop the resulting video.
kFledgeEnableSampleDebugReportOnCookieSetting
RenderDocument:

Currently, a RenderFrameHost represents neither a frame nor a document, but a
kFledgeSampleDebugReports
RenderDocument:

Currently, a RenderFrameHost represents neither a frame nor a document, but a
frame in a given process. A new one is created after a different-process
navigation. The goal of RenderDocument is to get a new one for each document
instead.
kFledgeEnforcePermissionPolicyContributeOnEvent
Specifies the scaling factor for kProcessPerSiteUpToMainFrameThreshold
kFledgeDisableLocalAdsAuctions
Specifies the scaling factor for kProcessPerSiteUpToMainFrameThreshold
feature. This factor will be multiplied to the calculated size of a top
level frame in the process and ensure there is more than that enough
space in the process. For example if the expected size of a top level frame
kFledgeLimitSelectableBuyerAndSellerReportingIdsFetchedFromKAnon
kFledgeTruncateSelectableBuyerAndSellerReportingIdsToKAnonLimit
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.
kForceHighPerformanceGPUForWebGL
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.
kForceOffTextAutosizing
crbug.com/374606637: When this is enabled, race-network-and-fetch-hander will
prioritize the response processing for the network request over the
kForceWebContentsDarkMode
kFrameMetadataObserver
Trial to disable synchronous draw for synchronous compositor (ie Android
kFrequencyCappingForLargeStickyAdDetection
kFrequencyCappingForOverlayPopupDetection
kGMSCoreEmoji
When enabled, puts non-isolated sites in separate SiteInstances in a default
SiteInstanceGroup (per BrowsingInstance), rather than sharing a default
SiteInstance.
kGetDisplayMediaIgnoreAudioPermissionFailures
Controls whether to isolate sites of documents that specify an eligible
kIgnoreInputWhileHidden
kImageLoadingPrioritizationFix
kIndexedDBCompressValuesWithSnappy
kInputPredictorTypeChoice
kInputScenarioPriorityBoost
kIntensiveWakeUpThrottling
kInteractiveDetectorIgnoreFcp
kIsolateSandboxedIframes
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).
kKeepAliveInBrowserMigration
When the context menu is triggered, the browser allows motion in a small
region around the initial touch location menu to allow for finger jittering.
This param holds the movement threshold in DIPs to consider drag an
intentional drag, which will dismiss the current context menu and prevent new
kLimitLayerMergeDistance
kLCPCriticalPathPredictor
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
kLCPScriptObserver
kLCPTimingPredictorPrerender2
kLCPPAutoPreconnectLcpOrigin
Controls whether the WebUSB API is enabled:
kLCPPDeferUnusedPreload
When enabled, will no longer cache java side AccessibilityNodeInfo objects.
kLCPPFontURLPredictor
kLCPPInitiatorOrigin
kLCPPLazyLoadImagePreload
kPreloadSystemFonts
kLCPPMultipleKey
kLCPPPrefetchSubresource
namespace features
kLCPPPrefetchSubresourceAsync
namespace features
kHttpDiskCachePrewarming
namespace features
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
kPreloadingEagerHeuristics
namespace features
kPreloadingHeuristicsMLModel
namespace features
kPreloadingViewportHeuristics
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
kSafelistPaytoToRegisterProtocolHandler
namespace features
kPausePagesPerBrowsingContextGroup
namespace features
kShowHudDisplayForPausedPages
namespace features
kScriptStreaming
namespace features
kScriptStreamingForNonHTTP
namespace features
kSecPurposePrefetchHeaderNoStatePrefetch
namespace features
kSecPurposePrefetchHeaderRelPrefetch
namespace features
kSendCnameAliasesToSubresourceFilterFromRenderer
namespace features
kServiceWorkerUpdateDelay
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
kThreadedBodyLoader
namespace features
kThreadedPreloadScanner
namespace features
kThrottleInstallingServiceWorker
namespace features
kThrottleUnimportantFrameTimers
namespace features
kTimedHTMLParserBudget
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
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
 An OT feature name is required to satisfy implied_by build checks.
 The feature reuses AIPromptAPIMultimodalInput, but any origin trial
 features in the implied_by list will enable this feature as well.
AIPromptAPIStructuredOutput
 Gates access to the responseConstraint enhancement for "AIPromptAPI".
 This feature alone does not expose any "AIPromptAPI" feature access.
AIProofreadingAPI
AIRewriterAPI
AIRewriterAPIForWorkers
AISummarizationAPI
AISummarizationAPIForWorkers
AIWriterAPI
AIWriterAPIForWorkers
AlignZoomToCenter
AllowContentInitiatedDataUrlNavigations
AllowCopyingEmptyLastTableCell
 Fix for https://crbug.com/41238177.
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
AppTitle
AriaActions
AriaNotify
AriaNotifyV2
AriaRowColIndexText
AsymmetricWordBoundaryFix
 Fix Asymmetric word navigation behavior on Windows when punctuation follows whitespace
 See https://crbug.com/40252703
AsyncSetCookie
 When enabled, perform async IPCs from CookieJar::SetCookie to the
 network service.
AttributionReporting
AudioContextOnError
AudioContextPlayoutStats
 AudioContext.playoutStats interface.
 https://chromestatus.com/feature/5172818344148992
AudioContextSetSinkId
AudioOutputDevices
AudioVideoTracks
AuthenticatorPasswordsOnlyImmediateRequests
AutoDarkMode
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
BackForwardTransitions
 Used to enable Blink side of features flags for Default Nav Transition.
BackgroundFetch
BackgroundPageFreezeOptOut
 A developer opt-out for background page freezing.
BarcodeDetector
BidiCaretAffinity
BlinkExtensionChromeOS
BlinkExtensionChromeOSKiosk
BlinkExtensionWebView
BlinkExtensionWebViewMediaIntegrity
BlinkLifecycleScriptForbidden
BlinkRuntimeCallStats
BlobBytes
 https://chromestatus.com/feature/4830298126417920
BlockCanvasReadback
 No status because this blink runtime feature doesn't work by itself.
 It's controlled by the corresponding Chromium feature,
 fingerprinting_protection_interventions::features::kBlockCanvasReadback
 through modified_runtime_features and setting its status in the browser
 process.
BlockingFocusWithoutUserActivation
BorderRadiusCorrectionCoverageFactor
 https://chromestatus.com/feature/5176753681203200
BoundaryEventDispatchTracksNodeRemoval
 crbug.com/1147998: Mouse and Pointer boundary event dispatch (i.e. dispatch
 of enter, leave, over, out events) tracks DOM node removal to fix event
 pairing on ancestor nodes.
BrowserInitiatedAutomaticPictureInPicture
BrowserVerifiedUserActivationKeyboard
BrowserVerifiedUserActivationMouse
BufferedBytesConsumerLimitSize
BuiltInAIAPI
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.
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
CanvasInterventionsTest
 This flag exists only for testing and should not be changed to stable.
 Used for canvas noising tests.
CanvasTextCacheLimit
 crbug.com/389726691.
CanvasTextMemoryPressure
 crbug.com/389726691.
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.
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
CollectWidthAndHeightAsStylesForNestedSvg
ColorSpaceRec2100Linear
 Enable the rec2100-linear color space in CSS and PredefinedColorSpace.
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
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
ContainerTypeNoLayoutContainment
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.
CookieDeprecationFacilitatedTesting
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).
CSSAnchorSimplifiedFragmentation
 An anchor-positioned element should stay within its containing block,
 and not "escape" beyond the fragmentation context root and use the
 bounding box of the fragmented anchor with fragmentation applied.
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
 Need a feature entry
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
CSSCornerShape
 https://drafts.csswg.org/css-borders-4/#corner-shaping
CSSCornersShorthand
 https://drafts.csswg.org/css-borders-4/#corner-shaping
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
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
CSSLogicalCombinationPseudo
 Allows pseudo-element selectors within logical combination pseudo-
 classes, e.g. :is(div::before).

 https://crbug.com/444386484
CSSMarkerNestedPseudoElement
CSSMasonryLayout
CSSMediaProgressNotation
 https://drafts.csswg.org/css-values-5/#progress
 media-progress()
CSSMixins
CSSNestedPseudoElements
CSSOverscrollGestures
 https://chromestatus.com/feature/5261280285949952
CSSPaintAPIArguments
CSSParserIgnoreCharsetForURLs
 Ignore the stylesheet encoding when parsing URLs, always using UTF-8.
 See crbug.com/1485525.
CSSPositionStickyStaticScrollPosition
CSSPreferredTextScale
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
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
CSSScrollStart
 https://drafts.csswg.org/css-scroll-snap-2#scroll-start
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
CSSSignRelatedFunctions
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
CSSTextAutoSpace
 crbug.com/1463890: CSS text-autospace property
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
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.
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
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
EmojiMonochromeRendering
 See: crbug.com/420857717
EmphasisMarkShapeCache
EnforceAnonymityExposure
EnterInOpenShadowRoots
 See: crbug.com/40771555
EventPseudoTargetProperty
 event.pseudoTarget property to represent pseudo-elements in events. Returns CSSPseudoElement or null.
EventTargetStringIdentifierUsesQuotes
EventTimingInteractionCount
EventTimingTargetSelector
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
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
FontSystemFallbackNotoCjk
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
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
HrefTranslate
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.
HTMLCommandActionToggleInterest
 Adds support for command=toggle-interest, for use by the command
 invokers API, targeting an interest invoker (with interestfor). This is
 a sub-feature of the HTMLInterestForAttribute feature.
 https://open-ui.org/components/interest-invokers.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
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
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
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
LimitThirdPartyCookies
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
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.
MeasureMemory
MediaCapabilitiesEncodingInfo
MediaCapabilitiesSpatialAudio
MediaCapture
MediaCaptureBackgroundBlur
MediaCaptureCameraControls
MediaCaptureConfigurationChange
MediaCaptureVoiceIsolation
MediaControlsExpandGesture
MediaControlsOverlayPlayButton
MediaElementVolumeGreaterThanOne
MediaEngagementBypassAutoplayPolicies
 Set to reflect the kMediaEngagementBypassAutoplayPolicies feature.
MediaLatencyHint
MediaPlaybackWhileNotVisiblePermissionPolicy
MediaQueryNavigationControls
MediaSession
MediaSessionChapterInformation
MediaSessionEnterPictureInPicture
MediaSourceExperimental
MediaSourceExtensionsForWebCodecs
MediaSourceNewAbortAndDuration
MediaStreamTrackTransfer
MediaStreamTrackWebSpeech
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
 Experimental support for Multicast in Direct Sockets API.
 https://github.com/explainers-by-googlers/multicast-in-direct-sockets
MulticolColumnWrapping
NavigateEventCanTransition
NavigateEventCommitBehavior
NavigateEventPopstateLimitations
NavigateEventSourceElement
NavigationId
NavigationTransitionDestination
NavigatorContentUtils
NestedRubyMinMaxFix
 crbug.com/437612643
NestedViewTransition
NetInfoConstantType
NetInfoDownlinkMax
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.
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
PaintUnderInvalidationChecking
Parakeet
 PARAKEET ad serving runtime flag/JS API.
PartialCompletionNotAllowedInMoveParagraphs
PartitionedPopins
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
PerformanceNavigateSystemEntropy
PerformanceNavigationTimingConfidence
PeriodicBackgroundSync
PerMethodCanMakePaymentQuota
PermissionElement
 Tracking bug for the implementation: https://crbug.com/1462930
PermissionElementIcon
 Tracking bug for the implementation: crbug.com/352249547
 This flag adds having the option to show an icon in the Permission
 element, if developers want to.
 The flag will enable us to land the feature over multiple CLs, and will
 be enabled after the feature has been fully implemented.
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
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.
ReduceDeviceMemory
 If enabled, the amount of RAM reported through the Navigator
 interface will be hard-coded to 8gb.
ReduceHardwareConcurrency
 If enabled, the number of CPU cores reported through the Navigator
 interface will be hard-coded to 8.
ReduceScreenSize
 If enabled, the screen sizes reported through the Screen interface
 will be limited to the size of the viewport unless Window Management
 permission has been granted.
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
ResponsiveIframes
RestrictGamepadAccess
RestrictOwnAudio
RestrictTabFocusForHiddenSVGElements
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.
SanitizeIDNEmailFormInput
 This flag is for fixing validation error
 for valid email address using IDN.
 This may ship in M142, and this flag can be
 removed in M144 pending no issues.
 See https://issues.chromium.org/issues/429490608
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
ScriptedSpeechRecognition
 WebSpeech API with both speech recognition and synthesis functionality
 is not fully enabled on all platforms.
ScriptedSpeechSynthesis
ScriptRunIteratorCombiningMarkAlways
 crbug.com/378692756
ScriptRunIteratorCombiningMarks
ScriptTools
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.
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
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.
SelectionHandleWithBottomClipped
 Killswitch M141.
SelectionRemoveRangeNotFoundError
 https://issues.chromium.org/issues/40502558
SelectionSetBaseAndExtentNonNullNode
 https://issues.chromium.org/issues/40502558
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
SharedAutofill
SharedStorageAPI
SharedStorageWebLocks
SharedWorker
SharedWorkerExtendedLifetime
 If enabled, SharedWorker supports extendedLifetime
 https://github.com/whatwg/html/issues/10997
SideRelativeBackgroundPosition
SignatureBasedInlineIntegrity
SignatureBasedIntegrity
SkipAd
SkipCallbacksWhenDevToolsNotOpen
 If enabled, only call ResourceLoadObserver callbacks if the DevTools
 panel is open.
SkipOofItemForBreakCandidate
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
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.
SoftNavigationDetectionAdvancedPaintAttribution
SoftNavigationDetectionPrePaintBasedAttribution
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
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
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
TextDecorationOmitCurrentColor
 crbug.com/435186193
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
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.
TimerThrottlingForBackgroundTabs
TimestampBasedCLSTracking
TimeZoneChangeEvent
TopicsAPI
TopicsDocumentAPI
TopicsImgAPI
 This feature allows calling the Topics API via an image
 attribute.
TopLevelTpcd
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.
Tpcd
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
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
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
ViewTransitionAnimationDelayInherit
ViewTransitionAsyncFinished
ViewTransitionInheritAnimationProperties
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
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.
WebGPUTextureComponentSwizzle
 https://chromestatus.com/feature/5110223547269120
WebHID
WebHIDOnServiceWorkers
 It is only enabled in extension environment for now.
WebIdentityDigitalCredentials
WebIdentityDigitalCredentialsCreation
WebIDLBigIntUsesToBigInt
 Kill switch for making BigInt handling in WebIDL use ToBigInt.
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
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
XMLSerializerConsistentDefaultNsDeclMatching
XSLT
 A feature flag that controls whether XSLT is supported by the browser.
 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
passwordEchoEnabledfalse
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
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
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": "",
        "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": ""
        }
    },
    "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": "",
    "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": ""
    },
    "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_dict": "",
        "custom_background_dict2": "",
        "custom_background_local_to_device": "",
        "custom_background_local_to_device_id": "",
        "custom_background_inspiration": "",
        "promo_blocklist": "",
        "promo_visible": "",
        "wallpaper_search_history": ""
    },
    "NewTabPage": {
        "CustomizeChromeButtonOpenCount": "",
        "DisabledModules": "",
        "CustomizeChromeHiddenModules": "",
        "HiddenModules": "",
        "MicrosoftFilesModuleLastDismissedTime": "",
        "MicrosoftFilesModuleRetryAfterTime": "",
        "ModulesOrder": "",
        "ModulesVisible": "",
        "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": ""
        },
        "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": ""
    },
    "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": ""
    }
}