## There are many command line flags which can be used with Chromium. Some change behavior or features, others are for debugging or experimenting. This page lists the available switches including their conditions and descriptions.
--/prefetch:1[1] ## /prefetch:# arguments to use when launching various process types. It has been observed that when file reads are consistent for 3 process launches with the same /prefetch:# argument, the Windows prefetcher starts issuing reads in batch at process launch. Because reads depend on the process type, the prefetcher wouldn't be able to observe consistent reads if no /prefetch:# arguments were used. Note that the browser process has no /prefetch:# argument; as such all other processes must have one in order to avoid polluting its profile. Note: # must always be in [1, 8]; otherwise it is ignored by the Windows prefetcher. ##
--/prefetch:5[1] ## /prefetch:# arguments for the browser process launched in background mode and for the watcher process. Use profiles 5, 6 and 7 as documented on kPrefetchArgument\* in content\_switches.cc. ##
--/prefetch:8[1] ## Prefetch arguments are used by the Windows prefetcher to disambiguate different execution modes (i.e. process types) of the same executable image so that different types of processes don't trample each others' prefetch behavior. Legal values are integers in the range [1, 8]. We reserve 8 to mean "whatever", and this will ultimately lead to processes with /prefetch:8 having inconsistent behavior thus disabling prefetch in practice. TODO(rockot): Make it possible for embedders to override this argument on a per-service basis. ##
--accept-resource-provider ## Flag indicating that a resource provider must be set up to provide cast receiver with resources. Apps cannot start until provided resources. This flag implies --alsa-check-close-timeout=0. ##
--additional-trust-token-key-commitments ## Manually sets additional Trust Tokens key commitments in the network service to the given value, which should be a JSON dictionary satisfying the requirements of TrustTokenKeyCommitmentParser::ParseMultipleIssuers. These keys are available in addition to keys provided by the most recent call to TrustTokenKeyCommitments::Set. For issuers with keys provided through both the command line and TrustTokenKeyCommitments::Set, the keys provided through the command line take precedence. This is because someone testing manually might want to pass additional keys via the command line to a real Chrome release with the component updater enabled, and it would be surprising if the manually-passed keys were overwritten some time after startup when the component updater runs. ##
--agc-startup-min-volume ## Override the default minimum starting volume of the Automatic Gain Control algorithm in WebRTC used with audio tracks from getUserMedia. The valid range is 12-255. Values outside that range will be clamped to the lowest or highest valid value inside WebRTC. TODO(tommi): Remove this switch when crbug.com/555577 is fixed. ##
--allow-failed-policy-fetch-for-test ## If this flag is passed, failed policy fetches will not cause profile initialization to fail. This is useful for tests because it means that tests don't have to mock out the policy infrastructure. ##
--allow-file-access-from-files ## By default, <file://> URIs cannot read other <file://> URIs. This is an override for developers who need the old behavior for testing. ##
--allow-no-sandbox-job ## Enables the sandboxed processes to run without a job object assigned to them. This flag is required to allow Chrome to run in RemoteApps or Citrix. This flag can reduce the security of the sandboxed processes and allow them to do certain API calls like shut down Windows or access the clipboard. Also we lose the chance to kill some processes until the outer job that owns them finishes. ##
--allow-pre-commit-input ## Allows processing of input before a frame has been committed. TODO(schenney): crbug.com/987626. Used by headless. Look for a way not involving a command line switch. ##
--allow-profiles-outside-user-dir ## Allows profiles to be created outside of the user data dir. TODO(https://crbug.com/1060366): Various places in Chrome assume that all profiles are within the user data dir. Some tests need to violate that assumption. The switch should be removed after this workaround is no longer needed. ##
--allow-ra-in-dev-mode ## Allows remote attestation (RA) in dev mode for testing purpose. Usually RA is disabled in dev mode because it will always fail. However, there are cases in testing where we do want to go through the permission flow even in dev mode. This can be enabled by this flag. ##
--allow-sync-xhr-in-page-dimissal ## Allow a page to send synchronus XHR during its unloading. TODO(https://crbug.com/1003101): Remove this in Chrome 88. ##
--allow-third-party-modules[1] ## Allows third party modules to inject by disabling the BINARY\_SIGNATURE mitigation policy on Win10+. Also has other effects in ELF. ##
--alsa-amp-device-name ## Name of the device the amp mixer should be opened on. If this flag is not specified it will default to the same device as kAlsaVolumeDeviceName. ##
--alsa-amp-element-name ## Name of the simple mixer control element that the ALSA-based media library should use to toggle powersave mode on the system. ##
--alsa-check-close-timeout ## Time in ms to wait before closing the PCM handle when no more mixer inputs remain. Assumed to be 0 if --accept-resource-provider is present. ##
--alsa-enable-upsampling ## Flag that enables resampling audio with sample rate below 32kHz up to 48kHz. Should be set to true for internal audio products. ##
--alsa-fixed-output-sample-rate ## Optional flag to set a fixed sample rate for the alsa device. Deprecated: Use --audio-output-sample-rate instead. ##
--alsa-mute-device-name ## Name of the device the mute mixer should be opened on. If this flag is not specified it will default to the same device as kAlsaVolumeDeviceName. ##
--alsa-output-buffer-size ## Size of the ALSA output buffer in frames. This directly sets the latency of the output device. Latency can be calculated by multiplying the sample rate by the output buffer size. ##
--alsa-output-period-size ## Size of the ALSA output period in frames. The period of an ALSA output device determines how many frames elapse between hardware interrupts. ##
--alsa-volume-device-name ## Name of the device the volume control mixer should be opened on. Will use the same device as kAlsaOutputDevice and fall back to "default" if kAlsaOutputDevice is not supplied. ##
--android-fonts-path ## Uses the android SkFontManager on linux. The specified directory should include the configuration xml file with the name "fonts.xml". This is used in blimp to emulate android fonts on linux. ##
--animation-duration-scale ## Scale factor to apply to every animation duration. Must be >= 0.0. This will only apply to LinearAnimation and its subclasses. ##
--app-auto-launched ## Specifies whether an app launched in kiosk mode was auto launched with zero delay. Used in order to properly restore auto-launched state during session restore flow. ##
--app-cache-force-enabled ## Allows app cache to be forced on, even when gated by an origin trial. TODO(enne): remove this once app cache has been removed. ##
--app-launch-url-for-shortcuts-menu-item ## Overrides the launch url of an app with the specified url. This is used along with kAppId to launch a given app with the url corresponding to an item in the app's shortcuts menu. ##
--arc-availability ## Signals ARC support status on this device. This can take one of the following three values. - none: ARC is not installed on this device. (default) - installed: ARC is installed on this device, but not officially supported. Users can enable ARC only when Finch experiment is turned on. - officially-supported: ARC is installed and supported on this device. So users can enable ARC via settings etc. ##
--arc-disable-locale-sync ## Flag that disables ARC locale sync with Android container. Used in autotest to prevent conditions when certain apps, including Play Store may get restarted. Restarting Play Store may cause random test failures. Enabling this flag would also forces ARC container to use 'en-US' as a locale and 'en-US,en' as preferred languages. ##
--arc-disable-play-auto-install ## Flag that disables ARC Play Auto Install flow that installs set of predefined apps silently. Used in autotests to resolve racy conditions. ##
--arc-disable-system-default-apps ## Used for development of Android app that are included into ARC++ as system default apps in order to be able to install them via adb. ##
--arc-enable-native-bridge-64bit-support-experiment ## Flag to enables an experiment to allow users to turn on 64-bit support in native bridge on systems that have such support available but not yet enabled by default. ##
--arc-packages-cache-mode ## Used in autotest to specifies how to handle packages cache. Can be copy - copy resulting packages.xml to the temporary directory. skip-copy - skip initial packages cache setup and copy resulting packages.xml to the temporary directory. ##
--arc-play-store-auto-update ## Used in autotest to forces Play Store auto-update state. Can be on - auto-update is forced on. off - auto-update is forced off. ##
--arc-scale ## Set the scale for ARC apps. This is in DPI. e.g. 280 DPI is ~ 1.75 device scale factor. See <https://source.android.com/compatibility/android-cdd#3_7_runtime_compatibility> for list of supported DPI values. ##
--arc-start-mode ## Defines how to start ARC. This can take one of the following values: - always-start automatically start with Play Store UI support. - always-start-with-no-play-store automatically start without Play Store UI. If it is not set, then ARC is started in default mode. ##
--arc-transition-migration-required ## If this flag is present then the device had ARC M available and gets ARC N when updating. TODO(pmarko): Remove this when we assess that it's not necessary anymore: crbug.com/761348. ##
--ash-disable-touch-exploration-mode ## Disable the Touch Exploration Mode. Touch Exploration Mode will no longer be turned on automatically when spoken feedback is enabled when this flag is set. ##
--ash-enable-v1-app-back-button ## Enables Backbutton on frame for v1 apps. TODO(oshima): Remove this once the feature is launched. crbug.com/749713. ##
--ash-host-window-bounds ## Sets a window size, optional position, and optional scale factor. "1024x768" creates a window of size 1024x768. "100+200-1024x768" positions the window at 100,200. "1024x768\*2" sets the scale factor to 2 for a high DPI display. "800,0+800-800x800" for two displays at 800x800 resolution. "800,0+800-800x800,0+1600-800x800" for three displays at 800x800 resolution. ##
--ash-power-button-position ## Power button position includes the power button's physical display side and the percentage for power button center position to the display's width/height in landscape\_primary screen orientation. The value is a JSON object containing a "position" property with the value "left", "right", "top", or "bottom". For "left" and "right", a "y" property specifies the button's center position as a fraction of the display's height (in [0.0, 1.0]) relative to the top of the display. For "top" and "bottom", an "x" property gives the position as a fraction of the display's width relative to the left side of the display. ##
--ash-side-volume-button-position ## The physical position info of the side volume button while in landscape primary screen orientation. The value is a JSON object containing a "region" property with the value "keyboard", "screen" and a "side" property with the value "left", "right", "top", "bottom". ##
--audio-output-channels ## Number of audio output channels. This will be used to send audio buffer with specific number of channels to ALSA and generate loopback audio. Default value is 2. ##
--audio-output-sample-rate ## Specify fixed sample rate for audio output stream. If this flag is not specified the StreamMixer will choose sample rate based on the sample rate of the media stream. ##
--audio-service-quit-timeout-ms ## Set a timeout (in milliseconds) for the audio service to quit if there are no client connections to it. If the value is negative the service never quits. ##
--aue-reached-for-update-required-test ## If this switch is passed, the device policy DeviceMinimumVersion assumes that the device has reached Auto Update Expiration. This is useful for testing the policy behaviour on the DUT. ##
--aura-legacy-power-button ## (Most) Chrome OS hardware reports ACPI power button releases correctly. Standard hardware reports releases immediately after presses. If set, we lock the screen or shutdown the system immediately in response to a press instead of displaying an interactive animation. ##
--auto-open-devtools-for-tabs ## This flag makes Chrome auto-open DevTools window for each tab. It is intended to be used by developers and automation to not require user interaction for opening DevTools. ##
--auto-select-desktop-capture-source ## This flag makes Chrome auto-select the provided choice when an extension asks permission to start desktop capture. Should only be used for tests. For instance, --auto-select-desktop-capture-source="Entire screen" will automatically select sharing the entire screen in English locales. The switch value only needs to be substring of the capture source name, i.e. "display" would match "Built-in display" and "External display", whichever comes first. ##
--autofill-api-key ## Sets the API key that will be used when calling Autofill API instead of using Chrome's baked key by default. You can use this to test new versions of the API that are not linked to the Chrome baked key yet. ##
--autofill-assistant-auth ## Disables authentication when set to false. This is only useful during development, as prod instances require authentication. ##
--autofill-metadata-upload-encoding ## The randomized encoding type to use when sending metadata uploads. The value of the parameter must be one of the valid integer values of the AutofillRandomizedValue\_EncodingType enum. ##
--autofill-upload-throttling-period-in-days ## The number of days after which to reset the registry of autofill events for which an upload has been sent. ##
--blink-settings ## Set blink settings. Format is <name>[=<value],<name>[=<value>],... The names are declared in Settings.json5. For boolean type, use "true", "false", or omit '=<value>' part to set to true. For enum type, use the int value of the enum value. Applied after other command line flags and prefs. ##
--bottom-gesture-start-height ## The number of pixels up from the bottom of the screen to consider as a valid origin for a bottom swipe gesture. If set, overrides the value of both the above system-gesture-start-height flag and the default value in cast\_system\_gesture\_handler.cc. ##
--browser-test ## Tells whether the code is running browser tests (this changes the startup URL used by the content shell and also disables features that can make tests flaky [like monitoring of memory pressure]). ##
--bypass-app-banner-engagement-checks ## This flag causes the user engagement checks for showing app banners to be bypassed. It is intended to be used by developers who wish to test that their sites otherwise meet the criteria needed to show app banners. ##
--cast-initial-screen-width ## Used to pass initial screen resolution to GPU process. This allows us to set screen size correctly (so no need to resize when first window is created). ##
--cellular-first ## If this flag is set, it indicates that this device is a "Cellular First" device. Cellular First devices use cellular telephone data networks as their primary means of connecting to the internet. Setting this flag has two consequences: 1. Cellular data roaming will be enabled by default. 2. UpdateEngine will be instructed to allow auto-updating over cellular data connections. ##
--ChromeOSMemoryPressureHandling ## The memory pressure thresholds selection which is used to decide whether and when a memory pressure event needs to get fired. ##
--cleaning-timeout ## Set the timeout for the cleaning phase, in minutes. 0 disables the timeout entirely. WARNING: this switch is used by internal test systems. Be careful when making changes. ##
--cleanup-id ## Identifier used to group all reports generated during the same run of the cleaner, including runs before and after a reboot. The id is generated by the first cleaner process for a run, and propagated to spawned or scheduled cleaner processes. A new id will be generated in the first process for a subsequent cleanup, so cleanups from the same user cannot be tracked over time. ##
--clear-key-cdm-path-for-testing ## Specifies the path to the Clear Key CDM for testing, which is necessary to support External Clear Key key system when library CDM is enabled. Note that External Clear Key key system support is also controlled by feature kExternalClearKeyForTesting. ##
--cloud-print-file-type ## Specifies the mime type to be used when uploading data from the file referenced by cloud-print-file. Defaults to "application/pdf" if unspecified. ##
--cloud-print-print-ticket ## Used with kCloudPrintFile to specify a JSON print ticket for the resulting print job. Defaults to null if unspecified. ##
--cloud-print-url ## The URL of the cloud print service to use, overrides any value stored in preferences, and the default. Only used if the cloud print service has been enabled. Used for testing. ##
--cloud-print-xmpp-endpoint ## The XMPP endpoint the cloud print service will use. Only used if the cloud print service has been enabled. Used for testing. ##
--compensate-for-unstable-pinch-zoom ## Enable compensation for unstable pinch zoom. Some touch screens display significant amount of wobble when moving a finger in a straight line. This makes two finger scroll trigger an oscillating pinch zoom. See crbug.com/394380 for details. ##
--crash-loop-before[5] ## A time\_t. Passed by session\_manager into the Chrome user session, indicating that if Chrome crashes before the indicated time, session\_manager will consider this to be a crash-loop situation and log the user out. Chrome mostly just passes this to crash\_reporter if it crashes. ##
--crash-on-failure ## When specified to "enable-leak-detection" command-line option, causes the leak detector to cause immediate crash when found leak. ##
--crash-on-hang-threads ## Comma-separated list of BrowserThreads that cause browser process to crash if the given browser thread is not responsive. UI/IO are the BrowserThreads that are supported. For example: --crash-on-hang-threads=UI:18,IO:18 --> Crash the browser if UI or IO is not responsive for 18 seconds while the other browser thread is responsive. ##
--crash-server-url ## Server url to upload crash data to. Default is "<https://clients2.google.com/cr/report>" for prod devices. Default is "<https://clients2.google.com/cr/staging_report>" for non prod. ##
--crashpad-handler ## A process type (switches::kProcessType) that indicates chrome.exe or setup.exe is being launched as crashpad\_handler. This is only used on Windows. We bundle the handler into chrome.exe on Windows because there is high probability of a "new" .exe being blocked or interfered with by application firewalls, AV software, etc. On other platforms, crashpad\_handler is a standalone executable. ##
--create-browser-on-startup-for-tests ## Some platforms like ChromeOS default to empty desktop. Browser tests may need to add this switch so that at least one browser instance is created on startup. TODO(nkostylev): Investigate if this switch could be removed. (<http://crbug.com/148675>) ##
--custom-devtools-frontend ## Specifies the http:// endpoint which will be used to serve devtools://devtools/custom/<path> Or a <file://> URL to specify a custom file path to load from for devtools://devtools/bundled/<path> ##
--data-reduction-proxy-client-config ## Uses the encoded ClientConfig instead of fetching one from the config server. This value is always used, regardless of error or expiration. The value should be a base64 encoded binary protobuf. ##
--data-reduction-proxy-experiment ## The name of a Data Reduction Proxy experiment to run. These experiments are defined by the proxy server. Use --force-fieldtrials for Data Reduction Proxy field trials. ##
--data-reduction-proxy-http-proxies ## The semicolon-separated list of proxy server URIs to override the list of HTTP proxies returned by the Data Saver API. It is illegal to use |kDataReductionProxy| or |kDataReductionProxyFallback| switch in conjunction with |kDataReductionProxyHttpProxies|. If the URI omits a scheme, then the proxy server scheme defaults to HTTP, and if the port is omitted then the default port for that scheme is used. E.g. "<http://foo.net:80>", "<http://foo.net>", "foo.net:80", and "foo.net" are all equivalent. ##
--data-reduction-proxy-secure-proxy-check-url ## Sets a secure proxy check URL to test before committing to using the Data Reduction Proxy. Note this check does not go through the Data Reduction Proxy. ##
--default-background-color ## The background color to be used if the page doesn't specify one. Provided as RGBA integer value in hex, e.g. 'ff0000ff' for red or '00000000' for transparent. ##
--default-wallpaper-is-oem ## Indicates that the wallpaper images specified by kAshDefaultWallpaper{Large,Small} are OEM-specific (i.e. they are not downloadable from Google). ##
--desktop-window-1080p ## When present, desktop cast\_shell will create 1080p window (provided display resolution is high enough). Otherwise, cast\_shell defaults to 720p. ##
--deterministic-mode ## A meta flag. This sets a number of flags which put the browser into deterministic mode where begin frames should be issued over DevToolsProtocol (experimental). ##
--device-management-url ## Specifies the URL at which to communicate with the device management backend to fetch configuration policies and perform other device tasks. ##
--disable-3d-apis ## Disables client-visible 3D APIs, in particular WebGL and Pepper 3D. This is controlled by policy and is kept separate from the other enable/disable switches to avoid accidentally regressing the policy support for controlling access to these APIs. ##
--disable-app-list-dismiss-on-blur ## If set, the app list will not be dismissed when it loses focus. This is useful when testing the app list or a custom launcher page. It can still be dismissed via the other methods (like the Esc key). ##
--disable-arc-cpu-restriction ## Prevents any CPU restrictions being set on the ARC container. Only meant to be used by tests as some tests may time out if the ARC container is throttled. ##
--disable-auto-wpt-origin-isolation ## Disables the automatic origin isolation of web platform test domains. We normally origin-isolate them for better test coverage, but tests of opt-in origin isolation need to disable this. ##
--disable-background-networking ## Disable several subsystems which run network requests in the background. This is for use when doing network performance testing to avoid noise in the measurements. ##
--disable-backing-store-limit ## Disable limits on the number of backing stores. Can prevent blinking for users with many windows/tabs and lots of memory. ##
--disable-blink-features ## Disable one or more Blink runtime-enabled features. Use names from runtime\_enabled\_features.json5, separated by commas. Applied after kEnableBlinkFeatures, and after other flags that change these features. ##
--disable-checker-imaging ## Disabled defering all image decodes to the image decode service, ignoring DecodingMode preferences specified on PaintImage. ##
--disable-client-side-phishing-detection ## Disables the client-side phishing detection feature. Note that even if client-side phishing detection is enabled, it will only be active if the user has opted in to UMA stats and SafeBrowsing is enabled in the preferences. ##
--disable-component-extensions-with-background-pages ## Disable default component extensions with background pages - useful for performance tests where these pages may interfere with perf results. ##
--disable-dev-shm-usage[13] ## The /dev/shm partition is too small in certain VM environments, causing Chrome to fail or crash (see <http://crbug.com/715363>). Use this flag to work-around this issue (a temporary directory will always be used to create anonymous shared memory files). ##
--disable-es3-gl-context-for-testing ## Disables use of ES3 backend at a lower level, for testing purposes. This isn't guaranteed to work everywhere, so it's test-only. ##
--disable-extensions-file-access-check ## Disable checking for user opt-in for extensions that want to inject script into file URLs (ie, always allow it). This is used during automated testing. ##
--disable-font-subpixel-positioning ## Force disables font subpixel positioning. This affects the character glyph sharpness, kerning, hinting and layout. ##
--disable-frame-rate-limit ## Disables begin frame limiting in both cc scheduler and display scheduler. Also implies --disable-gpu-vsync (see //ui/gl/gl\_switches.h). ##
--disable-gl-drawing-for-tests ## Disables GL drawing operations which produce pixel output. With this the GL output will not be correct but tests will run faster. ##
--disable-hang-monitor ## Suppresses hang monitor dialogs in renderer processes. This may allow slow unload handlers on a page to prevent the tab from closing, but the Task Manager can be used to terminate the offending process in this case. ##
--disable-headless-mode ## Disables the shell from beginning in headless mode. Tests will then attempt to use the hardware GPU for rendering. This is only followed when kRunWebTests is set. ##
--disable-image-animation-resync ## Disallow image animations to be reset to the beginning to avoid skipping many frames. Only effective if compositor image animations are enabled. ##
--disable-ipc-flooding-protection ## Disables the IPC flooding protection. It is activated by default. Some javascript functions can be used to flood the browser process with IPC. This protection limits the rate at which they can be used. ##
--disable-kill-after-bad-ipc ## Don't kill a child process when it sends a bad IPC message. Apart from testing, it is a bad idea from a security perspective to enable this switch. ##
--disable-low-res-tiling ## When using CPU rasterizing disable low resolution tiling. This uses less power, particularly during animations, but more white may be seen during fast scrolling especially on slower devices. ##
--disable-main-frame-before-activation ## Disables sending the next BeginMainFrame before the previous commit activates. Overrides the kEnableMainFrameBeforeActivation flag. ##
--disable-mojo-renderer ## Rather than use the renderer hosted remotely in the media service, fall back to the default renderer within content\_renderer. Does not change the behavior of the media service. ##
--disable-new-content-rendering-timeout ## Disables clearing the rendering output of a renderer when it didn't commit new output for a while after a top-frame navigation. ##
--disable-offer-store-unmasked-wallet-cards ## Force hiding the local save checkbox in the autofill dialog box for getting the full credit card number for a wallet card. The card will never be stored locally. ##
--disable-prompt-on-repost ## Normally when the user attempts to navigate to a page that was the result of a post we prompt to make sure they want to. This switch may be used to disable that check. This switch is used during automated testing. ##
--disable-resource-scheduler ## Whether the ResourceScheduler is disabled. Note this is only useful for C++ Headless embedders who need to implement their own resource scheduling. ##
--disable-signin-frame-client-certs ## Disables client certificate authentication on the sign-in frame on the Chrome OS sign-in profile. TODO(https://crbug.com/844022): Remove this flag when reaching endpoints that request client certs does not hang anymore when there is no system token yet. ##
--disable-site-isolation-for-policy[7] ## Just like kDisableSiteIsolation, but doesn't show the "stability and security will suffer" butter bar warning. ##
--disable-site-isolation-trials ## Disables site isolation. Note that the opt-in (to site-per-process, isolate-origins, etc.) via enterprise policy and/or cmdline takes precedence over the kDisableSiteIsolation switch (i.e. the opt-in takes effect despite potential presence of kDisableSiteIsolation switch). Note that for historic reasons the name of the switch misleadingly mentions "trials", but the switch also disables the default site isolation that ships on desktop since M67. The name of the switch is preserved for backcompatibility of chrome://flags. ##
--disable-skia-runtime-opts ## Do not use runtime-detected high-end CPU optimizations in Skia. This is useful for forcing a baseline code path for e.g. web tests. ##
--disable-software-compositing-fallback ## For tests, to disable falling back to software compositing if the GPU Process has crashed, and reached the GPU Process crash limit. ##
--disable-sync-types ## Disables syncing one or more sync data types that are on by default. See sync/base/model\_type.h for possible types. Types should be comma separated, and follow the naming convention for string representation of model types, e.g.: --disable-synctypes='Typed URLs, Bookmarks, Autofill Profiles' ##
--disable-timeouts-for-profiling[7] ## Disable timeouts that may cause the browser to die when running slowly. This is useful if running with profiling (such as debug malloc). ##
--disable-video-capture-use-gpu-memory-buffer ## This is for the same feature controlled by kVideoCaptureUseGpuMemoryBuffer. kVideoCaptureUseGpuMemoryBuffer is settled by chromeos overlays. This flag is necessary to overwrite the settings via chrome:// flag. The behavior of chrome://flag#zero-copy-video-capture is as follows; Default : Respect chromeos overlays settings. Enabled : Force to enable kVideoCaptureUseGpuMemoryBuffer. Disabled : Force to disable kVideoCaptureUseGpuMemoryBuffer. ##
--disable-vulkan-fallback-to-gl-for-testing ## Disables falling back to GL based hardware rendering if initializing Vulkan fails. This is to allow tests to catch regressions in Vulkan. ##
--disable-vulkan-surface ## Disables VK\_KHR\_surface extension. Instead of using swapchain, bitblt will be used for present render result on screen. ##
--disable-webrtc-encryption ## Disables encryption of RTP Media for WebRTC. When Chrome embeds Content, it ignores this switch on its stable and beta channels. ##
--disable-yuv-image-decoding ## Disable YUV image decoding for those formats and cases where it's supported. Has no effect unless GPU rasterization is enabled. ##
--disable-zero-browsers-open-for-tests ## Some tests seem to require the application to close when the last browser window is closed. Thus, we need a switch to force this behavior for ChromeOS Aura, disable "zero window mode". TODO(pkotwicz): Investigate if this bug can be removed. (<http://crbug.com/119175>) ##
--disallow-non-exact-resource-reuse ## Disable re-use of non-exact resources to fulfill ResourcePool requests. Intended only for use in layout or pixel tests to reduce noise. ##
--dmg-device[6] ## When switches::kProcessType is switches::kRelauncherProcess, if this switch is also present, the relauncher process will unmount and eject a mounted disk image and move its disk image file to the trash. The argument's value must be a BSD device name of the form "diskN" or "diskNsM". ##
--dom-automation ## Specifies if the |DOMAutomationController| needs to be bound in the renderer. This binding happens on per-frame basis and hence can potentially be a performance bottleneck. One should only enable it when automating dom based tests. ##
--dont-require-litepage-redirect-infobar ## Do not require the user notification InfoBar to be shown before triggering a Lite Page Redirect preview. ##
--dump-blink-runtime-call-stats ## Logs Runtime Call Stats for Blink. --single-process also needs to be used along with this for the stats to be logged. ##
--dump-browser-histograms ## Requests that a running browser process dump its collected histograms to a given file. The file is overwritten if it exists. ##
--dump-raw-logs ## Dump the raw logs to a file with the same base name as the executable. The dumped file is a raw protobuf and has a "pb" extension. WARNING: this switch is used by internal test systems. Be careful when making changes. ##
--enable-angle-features ## ANGLE features are defined per-backend in third\_party/angle/include/platform Enables specified comma separated ANGLE features if found. ##
--enable-blink-features ## Enable one or more Blink runtime-enabled features. Use names from runtime\_enabled\_features.json5, separated by commas. Applied before kDisableBlinkFeatures, and after other flags that change these features. ##
--enable-blink-test-features ## Enables blink runtime enabled features with status:"test" or status:"experimental", which are enabled when running web tests. ##
--enable-caret-browsing ## Enable native caret browsing, in which a moveable cursor is placed on a web page, allowing a user to select and navigate through non-editable text using just a keyboard. See <https://crbug.com/977390> for links to i2i. ##
--enable-cloud-print-proxy ## This applies only when the process type is "service". Enables the Cloud Print Proxy component within the service process. ##
--enable-crash-reporter-for-testing[14] ## Used for turning on Breakpad crash reporting in a debug environment where crash reporting is typically compiled but disabled. ##
--enable-defer-all-script-without-optimization-hints ## Allows defer script preview on all https pages even if optimization hints are missing for that webpage. ##
--enable-exclusive-audio[1] ## Use exclusive mode audio streaming for Windows Vista and higher. Leads to lower latencies for audio streams which uses the AudioParameters::AUDIO\_PCM\_LOW\_LATENCY audio path. See <http://msdn.microsoft.com/en-us/library/windows/desktop/dd370844.aspx> for details. ##
--enable-experimental-accessibility-labels-debugging ## Enables support for visually debugging the accessibility labels feature, which provides images descriptions for screen reader users. ##
--enable-experimental-accessibility-language-detection ## Enables language detection on in-page text content which is then exposed to assistive technology such as screen readers. ##
--enable-experimental-accessibility-language-detection-dynamic ## Enables language detection for dynamic content which is then exposed to assistive technology such as screen readers. ##
--enable-experimental-cookie-features ## Flag that turns on a group of experimental/newly added cookie-related features together, as a convenience for e.g. testing, to avoid having to set multiple switches individually which may be error-prone (not to mention tedious). There is not a corresponding switch to disable all these features, because that is discouraged, and for testing purposes you'd need to switch them off individually to identify the problematic feature anyway. At present this turns on: net::features::kCookiesWithoutSameSiteMustBeSecure net::features::kSameSiteByDefaultCookies net::features::kSameSiteDefaultChecksMethodRigorously It will soon also turn on: content\_settings::kImprovedCookieControls content\_settings::kImprovedCookieControlsForThirdPartyCookieBlocking net::features::kSchemefulSameSite ##
--enable-gpu-rasterization ## Allow heuristics to determine when a layer tile should be drawn with the Skia GPU backend. Only valid with GPU accelerated compositing. ##
--enable-hardware-overlays ## Enable compositing individual elements via hardware overlays when permitted by device. Setting the flag to "single-fullscreen" will try to promote a single fullscreen overlay and use it as main framebuffer where possible. ##
--enable-hosted-app-quit-notification[6] ## Shows a notification when quitting Chrome with hosted apps running. Default behavior is to also quit all hosted apps. ##
--enable-leak-detection ## Enables the leak detection of loading webpages. This allows us to check whether or not reloading a webpage releases web-related objects correctly. ##
--enable-low-res-tiling ## When using CPU rasterizing generate low resolution tiling. Low res tiles may be displayed during fast scrolls especially on slower devices. ##
--enable-network-information-downlink-max ## Enables the type, downlinkMax attributes of the NetInfo API. Also, enables triggering of change attribute of the NetInfo API when there is a change in the connection type. ##
--enable-offer-store-unmasked-wallet-cards ## Force showing the local save checkbox in the autofill dialog box for getting the full credit card number for a wallet card. ##
--enable-oop-rasterization ## Turns on out of process raster for the renderer whenever gpu raster would have been used. Enables the chromium\_raster\_transport extension. ##
--enable-potentially-annoying-security-features ## Enables a number of potentially annoying security features (strict mixed content mode, powerful feature restrictions, etc.) ##
--enable-precise-memory-info ## Make the values returned to window.performance.memory more granular and more up to date in shared worker. Without this flag, the memory information is still available, but it is bucketized and updated less frequently. This flag also applys to workers. ##
--enable-profile-shortcut-manager[1] ## Force-enables the profile shortcut manager. This is needed for tests since they use a custom-user-data-dir which disables this. ##
--enable-reached-code-profiler[7] ## Enables the reached code profiler that samples all threads in all processes to determine which functions are almost never executed. ##
--enable-service-binary-launcher ## If true the ServiceProcessLauncher is used to launch services. This allows for service binaries to be loaded rather than using the utility process. This is only useful for tests. ##
--enable-speech-dispatcher[17] ## Allows sending text-to-speech requests to speech-dispatcher, a common Linux speech service. Because it's buggy, the user must explicitly enable it so that visiting a random webpage can't cause instability. ##
--enable-stats-collection-bindings ## Specifies if the |StatsCollectionController| needs to be bound in the renderer. This binding happens on per-frame basis and hence can potentially be a performance bottleneck. One should only enable it when running a test that needs to access the provided statistics. ##
--enable-strict-powerful-feature-restrictions ## Blocks insecure usage of a number of powerful features (device orientation, for example) that we haven't yet deprecated for the web at large. ##
--enable-thread-instruction-count[10] ## Controls whether or not retired instruction counts are surfaced for threads in trace events on Linux. This flag requires the BPF sandbox to be disabled. ##
--enable-touchview ## If the flag is present, it indicates 1) the device has accelerometer and 2) the device is a convertible device or a tablet device (thus is capable of entering tablet mode). If this flag is not set, then the device is not capable of entering tablet mode. For example, Samus has accelerometer, but is not a covertible or tablet, thus doesn't have this flag set, thus can't enter tablet mode. ##
--enable-viewport ## Enables the use of the @viewport CSS rule, which allows pages to control aspects of their own layout. This also turns on touch-screen pinch gestures. ##
--enable-web-auth-deprecated-mojo-testing-api ## Enable the WebAuthn Mojo Testing API. This is a way to interact with the virtual authenticator environment through a mojo interface and is supported only to run web-platform-tests on content shell. Removal of this deprecated API is blocked on crbug.com/937369. ##
--enable-webrtc-srtp-aes-gcm ## Enables negotiation of GCM cipher suites from RFC 7714 for SRTP in WebRTC. See <https://tools.ietf.org/html/rfc7714> for further information. ##
--enable-webrtc-srtp-encrypted-headers ## Enables negotiation of encrypted header extensions from RFC 6904 for SRTP in WebRTC. See <https://tools.ietf.org/html/rfc6904> for further information. TODO(https://crbug.com/954201): Remove this. ##
--enforce-webrtc-ip-permission-check ## Enforce IP Permission check. TODO(guoweis): Remove this once the feature is not under finch and becomes the default. ##
--ensure-forced-color-profile ## Crash the browser at startup if the display's color profile does not match the forced color profile. This is necessary on Mac because Chrome's pixel output is always subject to the color conversion performed by the operating system. On all other platforms, this is a no-op. ##
--enterprise-enrollment-initial-modulus ## Power of the power-of-2 initial modulus that will be used by the auto-enrollment client. E.g. "4" means the modulus will be 2^4 = 16. ##
--export-tagged-pdf ## If enabled, generate a tagged (accessible) file when printing to PDF. The plan is for this to go away once tagged PDFs become the default. See <https://crbug.com/607777> ##
--expose-internals-for-testing ## Exposes the window.internals object to JavaScript for interactive development and debugging of web tests that rely on it. ##
--extensions-not-webstore ## Specifies a comma-separated list of extension ids that should be forced to be treated as not from the webstore when doing install verification. ##
--extensions-on-chrome-urls ## Enables extensions running scripts on chrome:// URLs. Extensions still need to explicitly request access to chrome:// URLs in the manifest. ##
--fake-drivefs-launcher-chroot-path ## An absolute path to the chroot hosting the DriveFS to use. This is only used when running on Linux, i.e. when IsRunningOnChromeOS() returns false. ##
--fake-drivefs-launcher-socket-path ## A relative path to socket to communicat with the fake DriveFS launcher within the chroot specified by kFakeDriveFsLauncherChrootPath. This is only used when running on Linux, i.e. when IsRunningOnChromeOS() returns false. ##
--fake-variations-channel ## Fakes the channel of the browser for purposes of Variations filtering. This is to be used for testing only. Possible values are "stable", "beta", "dev" and "canary". This works for official builds as well. ##
--field-trial-handle ## Handle to the shared memory segment containing field trial state that is to be shared between processes. The argument to this switch is the handle id (pointer on Windows) as a string, followed by a comma, then the size of the shared memory segment as a string. ##
--file-url-path-alias ## Define an alias root directory which is replaced with the replacement string in file URLs. The format is "/alias=/replacement", which would turn <file:///alias/some/path.html> into <file:///replacement/some/path.html>. ##
--finch-seed-expiration-age ## The length of time in seconds that an app's copy of the variations seed should be considered fresh. If an app's seed is older than this, a new seed will be requested from WebView's IVariationsSeedServer. ##
--finch-seed-ignore-pending-download ## Forces WebView's service to always schedule a new variations seed download job, even if one is already pending. ##
--finch-seed-min-download-period ## The minimum amount of time in seconds that WebView's service will wait between two variations seed downloads from the variations server. ##
--finch-seed-min-update-period ## The minimum amount of time in seconds that the embedded WebView implementation will wait between two requests to WebView's service for a new variations seed. ##
--fingerprint-sensor-location ## Fingerprint sensor location indicates the physical sensor's location. The value is a string with possible values: "power-button-top-left", "keyboard-bottom-left", keyboard-bottom-right", "keyboard-top-right". ##
--flag-switches-begin ## These two flags are added around the switches about:flags adds to the command line. This is useful to see which switches were added by about:flags on about:version. They don't have any effect. ##
--font-cache-shared-handle[1] ## DirectWrite FontCache is shared by browser to renderers using shared memory. This switch allows us to pass the shared memory handle to the renderer. ##
--font-render-hinting ## Sets font render hinting when running headless, affects Skia rendering and whether glyph subpixel positioning is enabled. Possible values: none|slight|medium|full|max. Default: full. ##
--force-cert-verifier-builtin ## Forces Chrome to use CertVerifyProcBuiltin for verification of server certificates, ignoring the status of net::features::kCertVerifierBuiltinFeature. ##
--force-color-profile ## Force all monitors to be treated as though they have the specified color profile. Accepted values are "srgb" and "generic-rgb" (currently used by Mac layout tests) and "color-spin-gamma24" (used by layout tests). ##
--force-devtools-available ## Forces developer tools availability, no matter what values the enterprise policies DeveloperToolsDisabled and DeveloperToolsAvailability are set to. ##
--force-disable-variation-ids ## Forces to remove Chrome Variation Ids from being sent in X-Client-Data header, specified as a 64-bit encoded list of numeric experiment ids. Ids prefixed with the character "t" will be treated as Trigger Variation Ids. ##
--force-empty-corb-allowlist ## Whether |extensions\_features::kBypassCorbAllowlistParamName| should always be empty (i.e. ignoring hardcoded allowlist and the field trial param). This switch is useful for manually verifying if an extension would continue to work fine after removing it from the allowlist. ##
--force-fieldtrial-params ## This option can be used to force parameters of field trials when testing changes locally. The argument is a param list of (key, value) pairs prefixed by an associated (trial, group) pair. You specify the param list for multiple (trial, group) pairs with a comma separator. Example: "Trial1.Group1:k1/v1/k2/v2,Trial2.Group2:k3/v3/k4/v4" Trial names, groups names, parameter names, and value should all be URL escaped for all non-alphanumeric characters. ##
--force-fieldtrials ## This option can be used to force field trials when testing changes locally. The argument is a list of name and value pairs, separated by slashes. If a trial name is prefixed with an asterisk, that trial will start activated. For example, the following argument defines two trials, with the second one activated: "GoogleNow/Enable/\*MaterialDesignNTP/Default/" This option can also be used by the browser process to send the list of trials to a non-browser process, using the same format. See FieldTrialList::CreateTrialsFromString() in field\_trial.h for details. ##
--force-first-run ## Displays the First Run experience when the browser is started, regardless of whether or not it's actually the First Run (this overrides kNoFirstRun). ##
--force-happiness-tracking-system ## Force enables the Happiness Tracking System for the device. This ignores user profile check and time limits and shows the notification every time for any type of user. Should be used only for testing. ##
--force-high-contrast ## Forces high-contrast mode in native UI drawing, regardless of system settings. Note that this has limited effect on Windows: only Aura colors will be switched to high contrast, not other system colors. ##
--force-legacy-default-referrer-policy ## Pins the default referrer policy to the pre-M80 value of no-referrer-when-downgrade. TODO(crbug.com/1016541): After M82, remove when the corresponding enterprise policy has been deleted. ##
--force-login-manager-in-tests ## Usually in browser tests the usual login manager bringup is skipped so that tests can change how it's brought up. This flag disables that. ##
--force-media-resolution-height ## When present overrides the screen resolution used by CanDisplayType API, instead of using the values obtained from avsettings. ##
--force-overlay-fullscreen-video ## Forces use of hardware overlay for fullscreen video playback. Useful for testing the Android overlay fullscreen functionality on other platforms. ##
--force-presentation-receiver-for-testing ## This forces pages to be loaded as presentation receivers. Useful for testing behavior specific to presentation receivers. Spec: <https://www.w3.org/TR/presentation-api/#interface-presentationreceiver> ##
--force-protected-video-output-buffers[16] ## Forces protected memory for all output video buffers generated by FuchsiaVideoDecoder, including unencrypted streams. Ignored unless --enable-protected-video-buffers is also specified. ##
--force-raster-color-profile ## Force rastering to take place in the specified color profile. Accepted values are the same as for the kForceDisplayColorProfile case above. ##
--force-renderer-accessibility ## Force renderer accessibility to be on instead of enabling it on demand when a screen reader is detected. The disable-renderer-accessibility switch overrides this if present. ##
--force-tablet-power-button ## If set, tablet-like power button behavior (i.e. tapping the button turns the screen off) is used even if the device is in laptop mode. ##
--force-text-direction ## Force the text rendering to a specific direction. Valid values are "ltr" (left-to-right) and "rtl" (right-to-left). Only tested meaningfully with RTL. ##
--force-variation-ids ## Forces additional Chrome Variation Ids that will be sent in X-Client-Data header, specified as a 64-bit encoded list of numeric experiment ids. Ids prefixed with the character "t" will be treated as Trigger Variation Ids. ##
--force-webrtc-ip-handling-policy ## Override WebRTC IP handling policy to mimic the behavior when WebRTC IP handling policy is specified in Preferences. ##
--force-webxr-runtime ## Forcibly enable and select the specified runtime for webxr. Note that this provides an alternative means of enabling a runtime, and will also functionally disable all other runtimes. ##
--gamepad-polling-interval ## Overrides the gamepad polling interval. Decreasing the interval improves input latency of buttons and axes but may negatively affect performance due to more CPU time spent in the input polling thread. ##
--generate-accessibility-test-expectations ## For development / testing only. When running content\_browsertests, saves output of failing accessibility tests to their expectations files in content/test/data/accessibility/, overwriting existing file content. ##
--google-doodle-url ## Overrides the URL used to fetch the current Google Doodle. Example: <https://www.google.com/async/ddljson> Testing? Try: <https://www.gstatic.com/chrome/ntp/doodle_test/ddljson_android0.json><https://www.gstatic.com/chrome/ntp/doodle_test/ddljson_android1.json><https://www.gstatic.com/chrome/ntp/doodle_test/ddljson_android2.json><https://www.gstatic.com/chrome/ntp/doodle_test/ddljson_android3.json><https://www.gstatic.com/chrome/ntp/doodle_test/ddljson_android4.json> ##
--gpu-driver-bug-list-test-group ## Enable an extra set of GPU driver bug list entries with the specified test\_group ID. Note the default test group (group 0) is still active. ##
--gpu-no-context-lost ## Inform Chrome that a GPU context will not be lost in power saving mode, screen saving mode, etc. Note that this flag does not ensure that a GPU context will never be lost in any situations, say, a GPU reset. ##
--gpu-rasterization-msaa-sample-count ## The number of multisample antialiasing samples for GPU rasterization. Requires MSAA support on GPU to have an effect. 0 disables MSAA. ##
--has-chromeos-keyboard ## If set, the system is a Chromebook with a "standard Chrome OS keyboard", which generally means one with a Search key in the standard Caps Lock location above the Left Shift key. It should be unset for Chromebooks with both Search and Caps Lock keys (e.g. stout) and for devices like Chromeboxes that only use external keyboards. ##
--hermes-fake ## Enables Hermes fake behavior. By default, no carrier profiles are setup. If a value of "on" is passed for this switch, then hermes fakes are initialized with a single installed carrier profile. Fake cellular service corresponding to carrier profiles are also setup in Shill. ##
--hide-icons[1] ## Makes Windows happy by allowing it to show "Enable access to this program" checkbox in Add/Remove Programs->Set Program Access and Defaults. This only shows an error box because the only way to hide Chrome is by uninstalling it. ##
--highlight-all-webviews ## Highlight the contents (including web contents) of all WebViews with a yellow tint. This is useful for identifying WebViews in an Android application. ##
--highlight-non-lcd-text-layers ## Highlights layers that can't use lcd text. Layers containing no text won't be highlighted. See DebugColors::NonLCDTextHighlightColor() for the colors. ##
--homepage ## Specifies which page will be displayed in newly-opened tabs. We need this for testing purposes so that the UI tests don't depend on what comes up for <http://google.com>. ##
--ignore-certificate-errors-spki-list ## A set of public key hashes for which to ignore certificate-related errors. If the certificate chain presented by the server does not validate, and one or more certificates have public key hashes that match a key from this list, the error is ignored. The switch value must a be a comma-separated list of Base64-encoded SHA-256 SPKI Fingerprints (RFC 7469, Section 2.4). This switch has no effect unless --user-data-dir (as defined by the content embedder) is also present. ##
--ignore-google-port-numbers ## When set, this will ignore the PortPermission passed in the google\_util.h methods and ignore the port numbers. This makes it easier to run tests for features that use these methods (directly or indirectly) with the EmbeddedTestServer, which is more representative of production. ##
--ignore-urlfetcher-cert-requests ## Causes net::URLFetchers to ignore requests for SSL client certificates, causing them to attempt an unauthenticated SSL/TLS session. This is intended for use when testing various service URLs (eg: kPromoServerURL, kSbURLPrefix, kSyncServiceURL, etc). ##
--ignore-user-profile-mapping-for-tests ## If true, profile selection in UserManager will always return active user's profile. TODO(nkostlyev): <http://crbug.com/364604> - Get rid of this switch after we turn on multi-profile feature on ChromeOS. ##
--init-done-notifier ## The handle of an event to signal when the initialization of the main process is complete (including loading all DLL's). This is used by the integration test to check that forbidden modules aren't loaded outside the sandbox. If this is set, the main process will signal the event and then wait for the integration test to signal it as well before continuing. Ignored in official builds. ##
--install-autogenerated-theme ## Installs an autogenerated theme based on the given RGB value. The format is "r,g,b", where r, g, b are a numeric values from 0 to 255. ##
--install-supervised-user-whitelists ## A list of whitelists to install for a supervised user, for testing. The list is of the following form: <id>[:<name>],[<id>[:<name>],...] ##
--ipc-dump-directory[18] ## Dumps IPC messages sent from renderer processes to the browser process to the given directory. Used primarily to gather samples for IPC fuzzing. ##
--isolate-origins ## Require dedicated processes for a set of origins, specified as a comma-separated list. For example: --isolate-origins=https://www.foo.com,https://www.bar.com ##
--kernelnext-restrict-vms ## If set, the Chrome settings will not expose the option to enable crostini unless the enable-experimental-kernel-vm-support flag is set in chrome://flags ##
--lacros-chrome-additional-args ## If this switch is set, then ash-chrome will pass additional arguments when launching lacros-chrome. The string '####' is used as a delimiter. Example: --lacros-chrome-additional-args="--foo=5####--bar=/tmp/dir name". Will result in two arguments passed to lacros-chrome: --foo=5 --bar=/tmp/dir name ##
--lacros-chrome-path ## If this switch is set, then ash-chrome will exec the lacros-chrome binary from the indicated path rather than from component updater. Note that the path should be to a directory that contains a binary named 'chrome'. ##
--last-launched-app ## Pass the app id information to the renderer process, to be used for logging. last-launched-app should be the app that just launched and is spawning the renderer. ##
--lite-video-default-downlink-bandwidth-kbps ## The default downlink bandwidth estimate used for throttling media requests. Only used when forcing LiteVideos to be allowed. ##
--lite-video-force-override-decision ## Overrides all the LiteVideo decision logic to allow it on every navigation. This causes LiteVideos to ignore the hints, user blocklist, and network condition. ##
--load-signin-profile-test-extension[5] ## Path to the unpacked test extension to load into the signin profile. The ID extension loaded must match kTestSigninProfileExtensionId. ##
--local-sync-backend-dir ## Specifies the local sync backend directory. The name is chosen to mimic user-data-dir etc. This flag only matters if the enable-local-sync-backend flag is present. ##
--log-best-effort-tasks ## Logs information about all tasks posted with TaskPriority::BEST\_EFFORT. Use this to diagnose issues that are thought to be caused by TaskPriority::BEST\_EFFORT execution fences. Note: Tasks posted to a non-BEST\_EFFORT UpdateableSequencedTaskRunner whose priority is later lowered to BEST\_EFFORT are not logged. ##
--log-net-log ## Enables saving net log events to a file. If a value is given, it used as the path the the file, otherwise the file is named netlog.json and placed in the user data directory. ##
--login-profile ## Specifies the profile to use once a chromeos user is logged in. This parameter is ignored if user goes through login screen since user\_id hash defines which profile directory to use. In case of browser restart within active session this parameter is used to pass user\_id hash for primary user. ##
--main-frame-resizes-are-orientation-changes ## Resizes of the main frame are caused by changing between landscape and portrait mode (i.e. Android) so the page should be rescaled to fit. ##
--managed-user-id ## Sets the supervised user ID for any loaded or newly created profile to the given value. Pass an empty string to mark the profile as non-supervised. Used for testing. ##
--max-gum-fps ## Override the maximum framerate as can be specified in calls to getUserMedia. This flag expects a value. Example: --max-gum-fps=17.5 ##
--mem-pressure-system-reserved-kb ## Some platforms typically have very little 'free' memory, but plenty is available in buffers+cached. For such platforms, configure this amount as the portion of buffers+cached memory that should be treated as unavailable. If this switch is not used, a simple pressure heuristic based purely on free memory will be used. ##
--metrics-client-id[6] ## This is how the metrics client ID is passed from the browser process to its children. With Crashpad, the metrics client ID is distinct from the crash client ID. ##
--metrics-recording-only ## Enables the recording of metrics reports but disables reporting. In contrast to kForceEnableMetricsReporting, this executes all the code that a normal client would use for reporting, except the report is dropped rather than sent to the server. This is useful for finding issues in the metrics code during UI and performance tests. ##
--metrics-upload-interval ## Override the standard time interval between each metrics report upload for UMA and UKM. It is useful to set to a short interval for debugging. Unit in seconds. (The default is 1800 seconds on desktop). ##
--mixer-source-audio-ready-threshold-ms ## Specify the start threshold frames for audio output when using our mixer. This is mostly used to override the default value to a larger value, for platforms that can't handle the default start threshold without running into audio underruns. ##
--mixer-source-input-queue-ms ## Specify the buffer size for audio output when using our mixer. This is mostly used to override the default value to a larger value, for platforms that can't handle an audio buffer so small without running into audio underruns. ##
--mojo-core-library-path ## Initializes Mojo Core from a shared library at the specified path, rather than using the version of Mojo Core embedded within the Content executable. ##
--monitoring-destination-id ## Allows setting a different destination ID for connection-monitoring GCM messages. Useful when running against a non-prod management server. ##
--mse-audio-buffer-size-limit-mb ## Allows explicitly specifying MSE audio/video buffer sizes as megabytes. Default values are 150M for video and 12M for audio. ##
--nacl-dangerous-no-sandbox-nonsfi ## Disable sandbox even for non SFI mode. This is particularly unsafe as non SFI NaCl heavily relies on the seccomp sandbox. ##
--nacl-debug-mask ## Uses NaCl manifest URL to choose whether NaCl program will be debugged by debug stub. Switch value format: [!]pattern1,pattern2,...,patternN. Each pattern uses the same syntax as patterns in Chrome extension manifest. The only difference is that \* scheme matches all schemes instead of matching only http and https. If the value doesn't start with !, a program will be debugged if manifest URL matches any pattern. If the value starts with !, a program will be debugged if manifest URL does not match any pattern. ##
--native-messaging-connect-extension ## Requests a native messaging connection be established between the extension with ID specified by this switch and the native messaging host named by the kNativeMessagingConnectHost switch. ##
--native-messaging-connect-host ## Requests a native messaging connection be established between the native messaging host named by this switch and the extension with ID specified by kNativeMessagingConnectExtension. ##
--native-messaging-connect-id ## If set when kNativeMessagingConnectHost and kNativeMessagingConnectExtension are specified, is reflected to the native messaging host as a command line parameter. ##
--need-arc-migration-policy-check ## If present, the device needs to check the policy to see if the migration to ext4 for ARC is allowed. It should be present only on devices that have been initially issued with ecrypfs encryption and have ARC (N+) available. For the devices in other categories this flag must be missing. ##
--net-log-capture-mode ## Sets the granularity of events to capture in the network log. The mode can be set to one of the following values: "Default" "IncludeSensitive" "Everything" See the enums of the corresponding name in net\_log\_capture\_mode.h for a description of their meanings. ##
--network-quiet-timeout ## Sets the timeout seconds of the network-quiet timers in IdlenessDetector. Used by embedders who want to change the timeout time in order to run web contents on various embedded devices and changeable network bandwidths in different regions. For example, it's useful when using FirstMeaningfulPaint signal to dismiss a splash screen. ##
--no-default-browser-check ## Disables the default browser check. Useful for UI/browser tests where we want to avoid having the default browser info-bar displayed. ##
--no-delay-for-dx12-vulkan-info-collection ## Start the non-sandboxed GPU process for DX12 and Vulkan info collection immediately after the browser starts. The default is to delay for 120 seconds. ##
--no-experiments ## Disables all experiments set on about:flags. Does not disable about:flags itself. Useful if an experiment makes chrome crash at startup: One can start chrome with --no-experiments, disable the problematic lab at about:flags and then restart chrome without this switch again. ##
--no-first-run ## Skip First Run tasks, whether or not it's actually the First Run. Overridden by kForceFirstRun. This does not drop the First Run sentinel and thus doesn't prevent first run from occuring the next time chrome is launched without this flag. ##
--no-managed-user-acknowledgment-check ## Disables checking whether we received an acknowledgment when registering a supervised user. Also disables the timeout during registration that waits for the ack. Useful when debugging against a server that does not support notifications. ##
--no-network-profile-warning[1] ## Whether or not the browser should warn if the profile is on a network share. This flag is only relevant for Windows currently. ##
--no-report-upload ## Prevent the logging service from uploading logs and reports. WARNING: this switch is used by internal test systems. Be careful when making changes. ##
--no-sandbox ## Disables the sandbox for all process types that are normally sandboxed. Meant to be used as a browser-level switch for testing purposes only. ##
--no-service-autorun ## Disables the service process from adding itself as an autorun process. This does not delete existing autorun registrations, it just prevents the service from registering a new one. ##
--no-startup-window ## Does not automatically open a browser window on startup (used when launching Chrome for the purpose of hosting background apps). ##
--no-zygote ## Disables the use of a zygote process for forking child processes. Instead, child processes will be forked and exec'd directly. Note that --no-sandbox should also be used together with this flag because the sandbox needs the zygote to work. ##
--no-zygote-sandbox[10] ## Instructs the zygote to launch without a sandbox. Processes forked from this type of zygote will apply their own custom sandboxes later. ##
--note-taking-app-ids ## An optional comma-separated list of IDs of apps that can be used to take notes. If unset, a hardcoded list is used instead. ##
--notification-inline-reply[1] ## Used in combination with kNotificationLaunchId to specify the inline reply entered in the toast in the Windows Action Center. ##
--notification-launch-id[1] ## Used for launching Chrome when a toast displayed in the Windows Action Center has been activated. Should contain the launch ID encoded by Chrome. ##
--on-the-fly-mhtml-hash-computation ## Calculate the hash of an MHTML file as it is being saved. The browser process will write the serialized MHTML contents to a file and calculate its hash as it is streamed back from the renderer via a Mojo data pipe. ##
--oobe-force-show-screen ## Forces OOBE/login to force show a comma-separated list of screens from chromeos::kScreenNames in oobe\_screen.cc. Supported screens are: user-image ##
--oobe-force-tablet-first-run ## Indicates that the first user run flow (sequence of OOBE screens after the first user login) should show tablet mode centric screens, even if the device is not in tablet mode. ##
--optimization-guide-fetch-hints-override ## Overrides scheduling and time delays for fetching hints and causes a hints fetch immediately on start up using the provided comma separate lists of hosts. ##
--optimization-guide-fetch-hints-override-timer ## Overrides the hints fetch scheduling and delay, causing a hints fetch immediately on start up using the TopHostProvider. This is meant for testing. ##
--optimization-guide-fetch-models-and-features-override ## Overrides scheduling and time delays for fetching prediction models and host model features. This causes a prediction model and host model features fetch immediately on start up. ##
--optimization-guide-service-get-models-url ## Overrides the Optimization Guide Service URL that the PredictionModelFetcher will request remote models and host features from. ##
--optimization\_guide\_hints\_override ## Overrides the Hints Protobuf that would come from the component updater. If the value of this switch is invalid, regular hint processing is used. The value of this switch should be a base64 encoding of a binary Configuration message, found in optimization\_guide's hints.proto. Providing a valid value to this switch causes Chrome startup to block on hints parsing. ##
--origin-trial-disabled-features ## Contains a list of feature names for which origin trial experiments should be disabled. Names should be separated by "|" characters. ##
--origin-trial-disabled-tokens ## Contains a list of token signatures for which origin trial experiments should be disabled. Tokens should be separated by "|" characters. ##
--override-enabled-cdm-interface-version ## Overrides the default enabled library CDM interface version(s) with the one specified with this switch, which will be the only version enabled. For example, on a build where CDM 8, CDM 9 and CDM 10 are all supported (implemented), but only CDM 8 and CDM 9 are enabled by default: --override-enabled-cdm-interface-version=8 : Only CDM 8 is enabled --override-enabled-cdm-interface-version=9 : Only CDM 9 is enabled --override-enabled-cdm-interface-version=10 : Only CDM 10 is enabled --override-enabled-cdm-interface-version=11 : No CDM interface is enabled This can be used for local testing and debugging. It can also be used to enable an experimental CDM interface (which is always disabled by default) for testing while it's still in development. ##
--override-hardware-secure-codecs-for-testing ## Overrides hardware secure codecs support for testing. If specified, real platform hardware secure codecs check will be skipped. Codecs are separated by comma. Valid codecs are "vp8", "vp9" and "avc1". For example: --override-hardware-secure-codecs-for-testing=vp8,vp9 --override-hardware-secure-codecs-for-testing=avc1 CENC encryption scheme is assumed to be supported for the specified codecs. If no valid codecs specified, no hardware secure codecs are supported. This can be used to disable hardware secure codecs support: --override-hardware-secure-codecs-for-testing ##
--override-https-image-compression-infobar ## Override the one-time InfoBar to not needed to be shown before triggering https image compression for the page load. ##
--override-plugin-power-saver-for-testing ## Override the behavior of plugin throttling for testing. By default the throttler is only enabled for a hard-coded list of plugins. Set the value to 'always' to always throttle every plugin instance. Set the value to 'never' to disable throttling. ##
--passive-listeners-default ## Override the default value for the 'passive' field in javascript addEventListener calls. Values are defined as: 'documentonlytrue' to set the default be true only for document level nodes. 'true' to set the default to be true on all nodes (when not specified). 'forcealltrue' to force the value on all nodes. ##
--password-store ## Specifies which encryption storage backend to use. Possible values are kwallet, kwallet5, gnome, gnome-keyring, gnome-libsecret, basic. Any other value will lead to Chrome detecting the best backend automatically. TODO(crbug.com/571003): Once PasswordStore no longer uses the Keyring or KWallet for storing passwords, rename this flag to stop referencing passwords. Do not rename it sooner, though; developers and testers might rely on it keeping large amounts of testing passwords out of their Keyrings or KWallets. ##
--pen-devices[10] ## Tells chrome to interpret events from these devices as pen events. Only available with XInput 2 (i.e. X server 1.8 or above). The id's of the devices can be retrieved from 'xinput list'. ##
--perf-test-print-uma-means ## Show the mean value of histograms that native performance tests are monitoring. Note that this is only applicable for PerformanceTest subclasses. ##
--perfetto-output-file ## If supplied, will enable Perfetto startup tracing and stream the output to the given file. On Android, if no file is provided, automatically generate a file to write the output to. TODO(oysteine): Remove once Perfetto starts early enough after process startup to be able to replace the legacy startup tracing. ##
--permission-request-api-scope ## Development flag for permission request API. This flag is needed until the API is finalized. TODO(bauerb): Remove when this flag is not needed anymore. ##
--permission-request-api-url ## Development flag for permission request API. This flag is needed until the API is finalized. TODO(bauerb): Remove when this flag is not needed anymore. ##
--post-reboot-override-cmd ## Indicates that this is a post-reboot run that should fetch its switches from an external registry key. Important note: When this switch is present in the command line, all other switches are ignored except for kCleanupIdSwitch, which is used to read post-reboot switches from the correct registry location. ##
--ppapi-flash-version ## Report the given version for the PPAPI (Pepper) Flash. The version should be numbers separated by '.'s (e.g., "12.3.456.78"). If not specified, it defaults to "10.2.999.999". ##
--ppapi-plugin-launcher ## Specifies a command that should be used to launch the ppapi plugin process. Useful for running the plugin process through purify or quantify. Ex: --ppapi-plugin-launcher="path\to\purify /Run=yes" ##
--ppapi-startup-dialog ## Causes the PPAPI sub process to display a dialog on launch. Be sure to use --no-sandbox as well or the sandbox won't allow the dialog to display. ##
--process-per-site ## Enable the "Process Per Site" process model for all domains. This mode consolidates same-site pages so that they share a single process. More details here: - <https://www.chromium.org/developers/design-documents/process-models> - The class comment in site\_instance.h, listing the supported process models. IMPORTANT: This isn't to be confused with --site-per-process (which is about isolation, not consolidation). You probably want the other one. ##
--process-per-tab ## Runs each set of script-connected tabs (i.e., a BrowsingInstance) in its own renderer process. We default to using a renderer process for each site instance (i.e., group of pages from the same registered domain with script connections to each other). TODO(creis): This flag is currently a no-op. We should refactor it to avoid "unnecessary" process swaps for cross-site navigations but still swap when needed for security (e.g., isolated origins). ##
--profile-requires-policy ## If set to "true", the profile requires policy during restart (policy load must succeed, otherwise session restart should fail). ##
--profiling-at-start ## Starts the sampling based profiler for the browser process at startup. This will only work if chrome has been built with the gn arg enable\_profiling = true. The output will go to the value of kProfilingFile. ##
--profiling-file ## Specifies a location for profiling output. This will only work if chrome has been built with the gyp variable profiling=1 or gn arg enable\_profiling=true. {pid} if present will be replaced by the pid of the process. {count} if present will be incremented each time a profile is generated for this process. The default is chrome-profile-{pid} for the browser and test-profile-{pid} for tests. ##
--profiling-flush ## Controls whether profile data is periodically flushed to a file. Normally the data gets written on exit but cases exist where chromium doesn't exit cleanly (especially when using single-process). A time in seconds can be specified. ##
--proxy-bypass-list ## Specifies a list of hosts for whom we bypass proxy settings and use direct connections. Ignored unless --proxy-server is also specified. This is a comma-separated list of bypass rules. See: "net/proxy\_resolution/proxy\_bypass\_rules.h" for the format of these rules. ##
--public-accounts-saml-acl-url ## SAML assertion consumer URL, used to detect when Gaia-less SAML flows end (e.g. for SAML managed guest sessions) TODO(984021): Remove when URL is sent by DMServer. ##
--pull-to-refresh ## Enables or disables pull-to-refresh gesture in response to vertical overscroll. Set the value to '0' to disable the feature, set to '1' to enable it for both touchpad and touchscreen, and set to '2' to enable it only for touchscreen. Defaults to disabled. ##
--purge-model-and-features-store ## Purges the store containing prediction medels and host model features on startup, so that it's guaranteed to be using fresh data. ##
--purge-optimization-guide-store ## Purges the store containing fetched and component hints on startup, so that it's guaranteed to be using fresh data. ##
--pwa-launcher-version[1] ## Specifies the version of the Progressive-Web-App launcher that launched Chrome, used to determine whether to update all launchers. NOTE: changing this switch requires adding legacy handling for the previous method, as older PWA launchers still using this switch will rely on Chrome to update them to use the new method. ##
--register-font-files[1] ## Registers additional font files on Windows (for fonts outside the usual %WINDIR%\Fonts location). Multiple files can be used by separating them with a semicolon (;). ##
--register-max-dark-suspend-delay ## Makes Chrome register the maximum dark suspend delay possible on Chrome OS i.e. give the device the maximum amount of time to do its work in dark resume as is allowed by the power manager. ##
--regulatory-label-dir ## The name of the per-model directory which contains per-region subdirectories with regulatory label files for this model. The per-model directories (if there are any) are located under "/usr/share/chromeos-assets/regulatory\_labels/". ##
--remote-debugging-address ## Use the given address instead of the default loopback for accepting remote debugging connections. Should be used together with --remote-debugging-port. Note that the remote debugging protocol does not perform any authentication, so exposing it too widely can be a security risk. ##
--remote-debugging-pipe ## Enables remote debug over stdio pipes [in=3, out=4]. Optionally, specifies the format for the protocol messages, can be either "JSON" (the default) or "CBOR". ##
--remote-debugging-targets ## Porvides a list of addresses to discover DevTools remote debugging targets. The format is <host>:<port>,...,<host>:port. ##
--renderer-cmd-prefix ## The contents of this flag are prepended to the renderer command line. Useful values might be "valgrind" or "xterm -e gdb --args". ##
--renderer-process-limit ## Overrides the default/calculated limit to the number of renderer processes. Very high values for this setting can lead to high memory/resource usage or instability. ##
--renderer-startup-dialog ## Causes the renderer process to display a dialog on launch. Passing this flag also adds sandbox::policy::kNoSandbox on Windows non-official builds, since that's needed to show a dialog. ##
--require-audio-hardware-for-testing ## When running tests on a system without the required hardware or libraries, this flag will cause the tests to fail. Otherwise, they silently succeed. ##
--restore-last-session ## Indicates the last session should be restored on startup. This overrides the preferences value. Note that this does not force automatic session restore following a crash, so as to prevent a crash loop. This switch is used to implement support for OS-specific "continue where you left off" functionality on OS X and Windows. ##
--run-all-compositor-stages-before-draw ## Effectively disables pipelining of compositor frame production stages by waiting for each stage to finish before completing a frame. ##
--run-manual ## Manual tests only run when --run-manual is specified. This allows writing tests that don't run automatically but are still in the same test binary. This is useful so that a team that wants to run a few tests doesn't have to add a new binary that must be compiled on all builds. ##
--safe-mode ## The switch added by session\_manager daemon when chrome crashes 3 times or more within the first 60 seconds on start. See BrowserJob::ExportArgv in platform2/login\_manager/browser\_job.cc. ##
--safebrowsing-manual-download-blacklist ## List of comma-separated sha256 hashes of executable files which the download-protection service should treat as "dangerous." For a file to show a warning, it also must be considered a dangerous filetype and not be whitelisted otherwise (by signature or URL) and must be on a supported OS. Hashes are in hex. This is used for manual testing when looking for ways to by-pass download protection. ##
--sandbox-mojo-pipe-token ## Mojo pipe token generated in the broker process and passed to the sandbox process to bind with the EngineCommands IPC interface. ##
--save-page-as-mhtml ## Disable saving pages as HTML-only, disable saving pages as HTML Complete (with a directory of sub-resources). Enable only saving pages as MHTML. See <http://crbug.com/120416> for how to remove this switch. ##
--scan-locations ## Used to limit trace locations that will be scanned. Trace locations should be specified as integers, separated by commas. For example: --scan-locations=1,2,3,5 ##
--scanning-timeout ## Set the timeout for the scanning phase, in minutes. 0 disables the timeout entirely. WARNING: this switch is used by internal test systems. Be careful when making changes. ##
--secondary-display-layout ## Specifies the layout mode and offsets for the secondary display for testing. The format is "<t|r|b|l>,<offset>" where t=TOP, r=RIGHT, b=BOTTOM and L=LEFT. For example, 'r,-100' means the secondary display is positioned on the right with -100 offset. (above than primary) ##
--service-name ## Indicates the name of the service to run. Useful for debugging, or if a service executable is built to support being run as a number of potential different services. ##
--service-request-attachment-name ## The name of the |mojo::PendingReceiver<service\_manager::mojom::Service>| message pipe handle that is attached to the incoming Mojo invitation received by the service. ##
--shader-disk-cache-size-kb ## Allows explicitly specifying the shader disk cache size for embedded devices. Default value is 6MB. On Android, 2MB is default and 128KB for low-end devices. ##
--shared-files ## Describes the file descriptors passed to a child process in the following list format: <file\_id>:<descriptor\_id>,<file\_id>:<descriptor\_id>,... where <file\_id> is an ID string from the manifest of the service being launched and <descriptor\_id> is the numeric identifier of the descriptor for the child process can use to retrieve the file descriptor from the global descriptor table. ##
--shill-stub ## Overrides Shill stub behavior. By default, ethernet, wifi and vpn are enabled, and transitions occur instantaneously. Multiple options can be comma separated (no spaces). Note: all options are in the format 'foo=x'. Values are case sensitive and based on Shill names in service\_constants.h. See FakeShillManagerClient::SetInitialNetworkState for implementation. Examples: 'clear=1' - Clears all default configurations 'wifi=on' - A wifi network is initially connected ('1' also works) 'wifi=off' - Wifi networks are all initially disconnected ('0' also works) 'wifi=disabled' - Wifi is initially disabled 'wifi=none' - Wifi is unavailable 'wifi=portal' - Wifi connection will be in Portal state 'cellular=1' - Cellular is initially connected 'cellular=LTE' - Cellular is initially connected, technology is LTE 'interactive=3' - Interactive mode, connect/scan/etc requests take 3 secs ##
--show-aggregated-damage ## Adds a DebugBorderDrawQuad to the top of the root RenderPass showing the damage rect after surface aggregation. Note that when enabled this feature sets the entire output rect as damaged after adding the quad to highlight the real damage rect, which could hide damage rect problems. ##
--show-auth-dialog-dev-overlay ## If true, the debug view overlay will be shown for the in-session authentication dialog. This enables development of the dialog. TODO(yichenli): Remove this after the feature is released. ##
--show-dc-layer-debug-borders ## Show debug borders for DC layers - red for overlays and blue for underlays. The debug borders are offset from the layer rect by a few pixels for clarity. ##
--show-fps-counter ## Draws a heads-up-display showing Frames Per Second as well as GPU memory usage. If you also use --enable-logging=stderr --vmodule="head\*=1" then FPS will also be output to the console log. ##
--show-oobe-dev-overlay ## Enables OOBE UI Debugger for ease of navigation between screens during manual testing. Limited to ChromeOS-on-linux and test images only. ##
--show-overdraw-feedback ## Visualize overdraw by color-coding elements based on if they have other elements drawn underneath. This is good for showing where the UI might be doing more rendering work than necessary. The colors are hinting at the amount of overdraw on your screen for each pixel, as follows: True color: No overdraw. Blue: Overdrawn once. Green: Overdrawn twice. Pink: Overdrawn three times. Red: Overdrawn four or more times. ##
--silent-debugger-extension-api ## Does not show an infobar when an extension attaches to a page using chrome.debugger page. Required to attach to extension background pages. ##
--simulate-update-hresult ## Simulates a specific HRESULT error code returned by the update check. If the switch value is not specified (as hex) then it defaults to E\_FAIL. ##
--site-per-process ## Enforces a one-site-per-process security policy: \* Each renderer process, for its whole lifetime, is dedicated to rendering pages for just one site. \* Thus, pages from different sites are never in the same process. \* A renderer process's access rights are restricted based on its site. \* All cross-site navigations force process swaps. \* <iframe>s are rendered out-of-process whenever the src= is cross-site. More details here: - <https://www.chromium.org/developers/design-documents/site-isolation> - <https://www.chromium.org/developers/design-documents/process-models> - The class comment in site\_instance.h, listing the supported process models. IMPORTANT: this isn't to be confused with --process-per-site (which is about process consolidation, not isolation). You probably want this one. ##
--skia-font-cache-limit-mb ## Specifies the max number of bytes that should be used by the skia font cache. If the cache needs to allocate more, skia will purge previous entries. ##
--skia-resource-cache-limit-mb ## Specifies the max number of bytes that should be used by the skia resource cache. The previous entries are purged from the cache when the memory useage exceeds this limit. ##
--slow-down-compositing-scale-factor ## Re-draw everything multiple times to simulate a much slower machine. Give a slow down factor to cause renderer to take that many times longer to complete, such as --slow-down-compositing-scale-factor=2. ##
--slow-down-raster-scale-factor ## Re-rasters everything multiple times to simulate a much slower machine. Give a scale factor to cause raster to take that many times longer to complete, such as --slow-down-raster-scale-factor=25. ##
--ssl-key-log-file ## Causes SSL key material to be logged to the specified file for debugging purposes. See <https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Key_Log_Format> for the format. ##
--stable-release-mode ## This makes us disable some web-platform runtime features so that we test content\_shell as if it was a stable release. It is only followed when kRunWebTest is set. For the features' level, see <http://dev.chromium.org/blink/runtime-enabled-features>. ##
--storage-pressure-notification-interval ## Interval, in minutes, used for storage pressure notification throttling. Useful for developers testing applications that might use non-trivial amounts of disk space. ##
--sync-short-initial-retry-override ## This flag causes sync to retry very quickly (see polling\_constants.h) the when it encounters an error, as the first step towards exponential backoff. ##
--sync-short-nudge-delay-for-test ## This flag significantly shortens the delay between nudge cycles. Its primary purpose is to speed up integration tests. The normal delay allows coalescing and prevention of server overload, so don't use this unless you're really sure that it's what you want. ##
--system-developer-mode ## Used by FakeDebugDaemonClient to specify that the system is running in dev mode when running in a Linux environment. The dev mode probing is done by session manager. ##
--system-gesture-start-height ## The number of pixels from the very top or bottom of the screen to consider as a valid origin for the top or bottom swipe gesture. Overrides the default value in cast\_system\_gesture\_handler.cc. ##
--system-gesture-start-width ## The number of pixels from the very left or right of the screen to consider as a valid origin for the left or right swipe gesture. Overrides the default value in cast\_system\_gesture\_handler.cc. ##
--test-child-process ## When running certain tests that spawn child processes, this switch indicates to the test framework that the current process is a child process. ##
--test-do-not-initialize-icu ## When running certain tests that spawn child processes, this switch indicates to the test framework that the current process should not initialize ICU to avoid creating any scoped handles too early in startup. ##
--test-gl-lib ## Flag used for Linux tests: for desktop GL bindings, try to load this GL library first, but fall back to regular library if loading fails. ##
--testing ## Flag set during testing and stored as a crash key, to differentiate from crashes received from actual users. WARNING: this switch is used by internal test systems. Be careful when making changes. ##
--tether-host-scans-ignore-wired-connections ## Tells the Chromebook to scan for a tethering host even if there is already a wired connection. This allows end-to-end tests to be deployed over ethernet without that connection preventing scans and thereby blocking the testing of cases with no preexisting connection. Should be used only for testing. ##
--third-party-doodle-url ## Overrides the Doodle URL to use for third-party search engines. Testing? Try: <https://www.gstatic.com/chrome/ntp/doodle_test/third_party_simple.json><https://www.gstatic.com/chrome/ntp/doodle_test/third_party_animated.json> ##
--touch-devices[10] ## Tells chrome to interpret events from these devices as touch events. Only available with XInput 2 (i.e. X server 1.8 or above). The id's of the devices can be retrieved from 'xinput list'. ##
--touch-selection-strategy ## Controls how text selection granularity changes when touch text selection handles are dragged. Should be "character" or "direction". If not specified, the platform default is used. ##
--touchscreen-usable-while-screen-off ## Chromebases' touchscreens can be used to wake from suspend, unlike the touchscreens on other Chrome OS devices. If set, the touchscreen is kept enabled while the screen is off so that it can be used to turn the screen back on after it has been turned off for inactivity but before the system has suspended. ##
--trace-config-file ## Causes TRACE\_EVENT flags to be recorded from startup. This flag will be ignored if --trace-startup or --trace-shutdown is provided. ##
--trace-startup ## Causes TRACE\_EVENT flags to be recorded from startup. Optionally, can specify the specific trace categories to include (e.g. --trace-startup=base,net) otherwise, all events are recorded. Setting this flag results in the first call to BeginTracing() to receive all trace events since startup. In Chrome, you may find --trace-startup-file and --trace-startup-duration to control the auto-saving of the trace (not supported in the base-only TraceLog component). ##
--trace-startup-duration ## Sets the time in seconds until startup tracing ends. If omitted a default of 5 seconds is used. Has no effect without --trace-startup, or if --startup-trace-file=none was supplied. ##
--trace-startup-enable-privacy-filtering ## If the perfetto tracing backend is used, this enables privacy filtering in the TraceEvent data sources for the startup tracing session. ##
--trace-startup-file ## If supplied, sets the file which startup tracing will be stored into, if omitted the default will be used "chrometrace.log" in the current directory. Has no effect unless --trace-startup is also supplied. Example: --trace-startup --trace-startup-file=/tmp/trace\_event.log As a special case, can be set to 'none' - this disables automatically saving the result to a file and the first manually recorded trace will then receive all events since startup. ##
--trace-startup-owner ## Specifies the coordinator of the startup tracing session. If the legacy tracing backend is used instead of perfetto, providing this flag is not necessary. Valid values: 'controller', 'devtools', or 'system'. Defaults to 'controller'. If 'controller' is specified, the session is controlled and stopped via the TracingController (e.g. to implement the timeout). If 'devtools' is specified, the startup tracing session will be owned by DevTools and thus can be controlled (i.e. stopped) via the DevTools Tracing domain on the first session connected to the browser endpoint. If 'system' is specified, the system Perfetto service should already be tracing on a supported platform (currently only Android). Session is stopped through the normal methods for stopping system traces. ##
--try-supported-channel-layouts[1] ## Instead of always using the hardware channel layout, check if a driver supports the source channel layout. Avoids outputting empty channels and permits drivers to enable stereo to multichannel expansion. Kept behind a flag since some drivers lie about supported layouts and hang when used. See <http://crbug.com/259165> for more details. ##
--type ## Indicates the type of process to run. This may be "service-manager", "service-runner", or any other arbitrary value supported by the embedder. ##
--unsafely-allow-protected-media-identifier-for-domain ## For automated testing of protected content, this switch allows specific domains (e.g. example.com) to skip asking the user for permission to share the protected media identifier. In this context, domain does not include the port number. User's content settings will not be affected by enabling this switch. Reference: <http://crbug.com/718608> Example: --unsafely-allow-protected-media-identifier-for-domain=a.com,b.ca ##
--unsafely-treat-insecure-origin-as-secure ## Treat given (insecure) origins as secure origins. Multiple origins can be supplied as a comma-separated list. For the definition of secure contexts, see <https://w3c.github.io/webappsec-secure-contexts/> and <https://www.w3.org/TR/powerful-features/#is-origin-trustworthy> Example: --unsafely-treat-insecure-origin-as-secure=http://a.test,http://b.test ##
--use-adapter-luid ## Initialize the GPU process using the adapter with the specified LUID. This is only used on Windows, as LUID is a Windows specific structure. ##
--use-angle ## Select which ANGLE backend to use. Options are: default: Attempts several ANGLE renderers until one successfully initializes, varying ES support by platform. d3d9: Legacy D3D9 renderer, ES2 only. d3d11: D3D11 renderer, ES2 and ES3. warp: D3D11 renderer using software rasterization, ES2 and ES3. gl: Desktop GL renderer, ES2 and ES3. gles: GLES renderer, ES2 and ES3. ##
--use-cmd-decoder ## Use the Pass-through command decoder, skipping all validation and state tracking. Switch lives in ui/gl because it affects the GL binding initialization on platforms that would otherwise not default to using EGL bindings. ##
--use-fake-codec-for-peer-connection ## Replaces the existing codecs supported in peer connection with a single fake codec entry that create a fake video encoder and decoder. ##
--use-fake-device-for-media-stream ## Use fake device for Media Stream to replace actual camera and microphone. For the list of allowed parameters, see FakeVideoCaptureDeviceFactory::ParseFakeDevicesConfigFromOptionsString(). ##
--use-fake-mjpeg-decode-accelerator ## Use a fake device for accelerated decoding of MJPEG. This allows, for example, testing of the communication to the GPU service without requiring actual accelerator hardware to be present. ##
--use-fake-ui-for-media-stream ## Bypass the media stream infobar by selecting the default device for media streams (e.g. WebRTC). Works with --use-fake-device-for-media-stream. ##
--use-file-for-fake-audio-capture ## Play a .wav file as the microphone. Note that for WebRTC calls we'll treat the bits as if they came from the microphone, which means you should disable audio processing (lest your audio file will play back distorted). The input file is converted to suit Chrome's audio buses if necessary, so most sane .wav files should work. You can pass either <path> to play the file looping or <path>%noloop to stop after playing the file to completion. ##
--use-file-for-fake-video-capture ## Use an .y4m file to play as the webcam. See the comments in media/capture/video/file\_video\_capture\_device.h for more details. ##
--use-gl ## Select which implementation of GL the GPU process should use. Options are: desktop: whatever desktop OpenGL the user has installed (Linux and Mac default). egl: whatever EGL / GLES2 the user has installed (Windows default - actually ANGLE). swiftshader: The SwiftShader software renderer. ##
--use-gpu-high-thread-priority-for-perf-tests ## Increases the priority (to REALTIME\_AUDIO) of gpu process and compositor thread. This is only to be used for perf tests on macOS for more reliable values. ##
--use-system-default-printer[21] ## Uses the system default printer as the initially selected destination in print preview, instead of the most recently used destination. ##
--use-vulkan ## Enable Vulkan support and select Vulkan implementation, must also have ENABLE\_VULKAN defined. This only initializes Vulkan, the flag --enable-features=Vulkan must also be used to select Vulkan for compositing and rasterization. ##
--utility-cmd-prefix ## The contents of this flag are prepended to the utility process command line. Useful values might be "valgrind" or "xterm -e gdb --args". ##
--utility-sub-type ## This switch indicates the type of a utility process. It is not used by Chrome but is added to the command line for debugging and profiling purposes. ##
--variations-insecure-server-url ## Specifies a custom URL for the server to use as an insecure fallback when requests to |kVariationsServerURL| fail. Requests to this URL will be encrypted. ##
--variations-override-country ## Allows overriding the country used for evaluating variations. This is similar to the "Override Variations Country" entry on chrome://translate-internals, but is exposed as a command-line flag to allow testing First Run scenarios. Additionally, unlike chrome://translate-internals, the value isn't persisted across sessions. ##
--variations-server-url ## Specifies a custom URL for the server which reports variation data to the client. Specifying this switch enables the Variations service on unofficial builds. See variations\_service.cc. ##
--video-underflow-threshold-ms ## Allows clients to override the threshold for when the media renderer will declare the underflow state for the video stream when audio is present. TODO(dalecurtis): Remove once experiments for <http://crbug.com/470940> finish. ##
--virtual-time-budget ## If set the system waits the specified number of virtual milliseconds before deeming the page to be ready. For determinism virtual time does not advance while there are pending network fetches (i.e no timers will fire). Once all network fetches have completed, timers fire and if the system runs out of virtual time is fastforwarded so the next timer fires immediatley, until the specified virtual time budget is exhausted. ##
--vmodule ## Gives the per-module maximal V-logging levels to override the value given by --v. E.g. "my\_module=2,foo\*=3" would change the logging level for all code in source files "my\_module.\*" and "foo\*.\*" ("-inl" suffixes are also disregarded for this matching). Any pattern containing a forward or backward slash will be tested against the whole pathname and not just the module. E.g., "\*/foo/bar/\*=2" would change the logging level for all code in source files under a "foo/bar" directory. ##
--wait-for-debugger-children ## Will add kWaitForDebugger to every child processes. If a value is passed, it will be used as a filter to determine if the child process should have the kWaitForDebugger flag passed on or not. ##
--wait-for-initial-policy-fetch-for-test ## Used to tell the policy infrastructure to not let profile initialization complete until policy is manually set by a test. This is used to provide backward compatibility with a few tests that incorrectly use the synchronously-initialized login profile to run their tests - do not add new uses of this flag. ##
--webrtc-event-log-proactive-pruning-delta ## Sets the delay (in seconds) between proactive prunings of remote-bound WebRTC event logs which are pending upload. All positive values are legal. All negative values are illegal, and ignored. If set to 0, the meaning is "no proactive pruning". ##
--webrtc-event-log-upload-no-suppression ## Normally, remote-bound WebRTC event logs are uploaded only when no peer connections are active. With this flag, the upload is never suppressed. ##
--webrtc-event-logging ## Enable capture and local storage of WebRTC event logs without visiting chrome://webrtc-internals. This is useful for automated testing. It accepts the path to which the local logs would be stored. Disabling is not possible without restarting the browser and relaunching without this flag. ##
--webrtc-max-cpu-consumption-percentage ## Configure the maximum CPU time percentage of a single core that can be consumed for desktop capturing. Default is 50. Set 100 to disable the throttling of the capture. ##
--webrtc-stun-probe-trial ## Renderer process parameter for WebRTC Stun probe trial to determine the interval. Please see SetupStunProbeTrial in chrome\_browser\_field\_trials\_desktop.cc for more detail. ##
--webview-safebrowsing-block-all-resources ## Enables SafeBrowsing and causes WebView to treat all resources as malicious. Use care: this will block all resources from loading. ##
--winhttp-proxy-resolver ## Uses WinHTTP to fetch and evaluate PAC scripts. Otherwise the default is to use Chromium's network stack to fetch, and V8 to evaluate. ##
--with-cleanup-mode-logs ## Identify that the elevated cleaner process is allowed to collect logs. This shouldn't be set if |kExecutionModeSwitch| is not ExecutionMode::kCleaner. ##