CodeFodder

a code notepad

Chrome/Chromium startup flags

Recently I discovered the chrome://flags page, and there was much rejoicing, of course, there's even more things you can do at startup than there are on the chrome://flags. I decide to compile a complete list from chrome_switches.cc and base_switches.cc. You can browse the full source at http://src.chromium.org/viewvc - and you can find lots of info at http://chromium.org.

Update: I've just found Peter Beverloo's list here http://peter.sh/experiments/chromium-command-line-switches/ which has even more. However I know for sure all functioning switches aren't listed in chrome_switches.cc because I use --disable-web-security every day.

Chrome/Chromium switches.

--action-box

Enables or disables the "action box" UI in the toolbar.

--allow-cross-origin-auth-prompt

Allows third-party content included on a page to prompt for a HTTP basic auth username/password pair.

--allow-file-access

On ChromeOS, file:access is disabled except for certain whitelisted directories. This switch re-enables file:for testing.

--allow-http-background-page

Allows non-https URL for background_page for hosted apps.

--allow-nacl-socket-api

Allows the browser to load extensions that lack a modern manifest when that would otherwise be forbidden.

--allow-outdated-plugins

Don't block outdated plugins.

--allow-running-insecure-content

By default, an https page cannot run JavaScript, CSS or plug-ins from http URLs. This provides an override to get the old insecure behavior.

--allow-scripting-gallery

Allows injecting extensions and user scripts on the extensions gallery site. Normally prevented for security reasons, but can be useful for automation testing of the gallery.

--always-authorize-plugins

Prevents Chrome from requiring authorization to run certain widely installed but less commonly used plug-ins.

--app-id

Specifies that the extension-app with the specified id should be launched according to its configuration.

--app

Specifies that the associated value should be launched in "application" mode.

--apps-devtool

Flag to enable apps_devtool app.

--app-window-size

Specifies the initial size for application windows launched with --app. --app-window-size=w,h

--app-notify-channel-server-url

A URL for the server which assigns channel ids for server pushed app notifications.

--apps-checkout-url

Overrides the apps checkout URL, which is used to determine when to expose some private APIs.

--apps-gallery-download-url

The URL that the webstore APIs download extensions from. Note: the URL must contain one %s (ie. for a replacable string) for the extension ID.

--apps-gallery-url

A setting to cause extension/app installs from the webstore skip the normal confirmation dialog. A value of 'accept' means to always act as if the dialog was accepted, and 'cancel' means to always act as if the dialog was cancelled.

--apps-gallery-update-url

The update url used by gallery/webstore extensions.

--app-mode-oauth-token

Value of OAuth2 refresh token for --force-app-mode.

--apps-new-install-bubble

Whether to always use the new app install bubble when installing an app.

--apps-no-throb

Disable throbber for extension apps.

--auth-schemes

Whitelist of servers that Negotiate will generate delegated Kerberos tickets for.

--auth-server-whitelist

Whitelist of servers which NTLM and Negotiate can automatically authenticate with using the default credentials of the currently logged in user.

--auto-launch-at-startup

A flag that is used to tell Chrome that it was launched automatically at computer startup and not by some user action.

--autofill-service-url

Flag used to tell Chrome the base url of the Autofill service.

--automation-channel

The value of this switch tells the app to listen for and broadcast automation-related messages on IPC channel with the given ID.

--check-for-update-interval

Causes the automation provider to reinitialize its IPC channel instead of shutting down when a client disconnects.

--chrome-frame-shutdown-delay

Checks the cloud print connector policy, informing the service process if the policy is set to disallow the connector, then quits.

--chrome-version

Tells chrome to load the specified version of chrome.dll on Windows. If this version cannot be loaded, Chrome will exit.

--cipher-suite-blacklist

Comma-separated list of SSL cipher suites to disable.

--clear-token-service

Clears the token service before using it. This allows simulating the expiration of credentials during testing.

--cloud-print-delete-file

Used with kCloudPrintFile. Tells Chrome to delete the file when finished displaying the print dialog.

--cloud-print-file

Tells chrome to display the cloud print dialog and upload the specified file for printing.

--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-job-title

Used with kCloudPrintFile to specify a title for the resulting print job.

--cloud-print-proxy-id

The unique id to be used for this cloud print proxy instance.

--cloud-print-service

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 (see enable-cloud-print).

--component-updater-debug

Comma-separated options to troubleshoot the component updater. Only valid for the browser process.

--conflicting-modules-check

Causes the browser process to inspect loaded and registered DLLs for known conflicts and warn the user.

--new-content-settings

Toggles a new version of the content settings dialog in options.

--country

The Country we should use. This is normally obtained from the operating system during first run and cached in the preferences afterwards. This is a string value, the 2 letter code from ISO 3166-1.

--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,DB,FILE,CACHE are the list of BrowserThreads that are supported.

For example:

--crash-on-hang-threads=UI:3:18,IO:3:18 --> Crash the browser if UI or IO is not responsive for 18 seconds and the number of browser threads that are responding is less than or equal to 3.

--debug-enable-frame-toggle

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.

--debug-packed-apps

Adds debugging entries such as Inspect Element to context menus of packed apps.

--debug-print

Enables support to debug printing subsystem.

--device-management-url

Specifies the URL at which to fetch configuration policy from the device management backend. Specifying this switch turns on managed policy from the device management backend.

--diagnostics

Triggers a plethora of diagnostic modes.

--disable-async-dns

Disables the experimental asynchronous DNS client.

--disable-background-mode

Disables CNAME lookup of the host when generating the Kerberos SPN for a Negotiate challenge. See HttpAuthHandlerNegotiate::CreateSPN for more background.

--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-bundled-ppapi-flash

Disables the bundled PPAPI version of Flash.

--disable-component-update

Disables the bookmark autocomplete provider (BookmarkProvider).

--disable-crl-sets

Disables establishing certificate revocation information by downloading a set of CRLs rather than performing on-line checks.

--disable-custom-jumplist

Disables the custom JumpList on Windows 7.

--disable-default-apps

Disables installation of default apps on first run. This is used during automated testing.

--disable-dhcp-wpad

Disables retrieval of PAC URLs from DHCP as per the WPAD standard.

--disable-extensions

Disable extensions.

--disable-instant-extended-api

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-ipv6

Disables improved SafeBrowsing download protection.

--disable-ip-pooling

Disables IP Pooling within the networks stack (SPDY only). When a connection is needed for a domain which shares an IP with an existing connection, attempt to use the existing connection.

--disable-ntp-other-sessions-menu

Disables the menu on the NTP for accessing sessions from other devices.

--disable-popup-blocking

Disable pop-up blocking.

--disable-preconnect

Disable speculative TCP/IP preconnection.

--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-restore-session-state

Prevents the URLs of BackgroundContents from being remembered and re-launched when the browser restarts.

--disable-sync

Disables throttling prints initiated by scripts.

--disable-sync-app-settings

Disables syncing of app settings.

--disable-sync-apps

Disables syncing of apps.

--disable-sync-app-notifications

Disable syncing app notifications.

--disable-sync-autofill

Disables syncing of autofill.

--disable-sync-autofill-profile

Disables syncing of autofill Profile.

--disable-sync-bookmarks

Disables syncing of bookmarks.

--disable-sync-dictionary

Disables syncing of dictionary.

--disable-sync-extension-settings

Disables syncing extension settings.

--disable-sync-extensions

Disables syncing of extensions.

--disable-sync-passwords

Disables syncing of history delete directives.

--disable-sync-preferences

Disables syncing of preferences.

--disable-sync-search-engines

Disable syncing custom search engines.

--disable-sync-tabs

Disables syncing browser sessions. Will override kEnableSyncTabs.

--disable-sync-themes

Disables syncing of themes.

--disable-sync-typed-urls

Disables syncing browser typed urls.

--disable-translate

Allows disabling of translate from the command line to assist with automated browser testing (e.g. Selenium/WebDriver). Normal browser users should disable translate with the preference.

--disable-tls-channel-id

Disables TLS Channel ID extension.

--disable-web-resources

Disables the backend service for web resources.

--disable-web-security

Don't enforce the same-origin policy. (Used by people testing their sites.)

--disable-web-sockets

Disable Web Sockets support.

--disable-webaudio

Disable web audio API

--disable-webgl

Disable WebGL support.

--disk-cache-dir

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".

--disk-cache-size

Forces the maximum disk space to be used by the disk cache, in bytes.

--dns-log-details

Undocumented, but self explanatory. Log DNS details.

--dns-prefetch-disable

Disables prefetching of DNS information.

--dump-histograms-on-exit

Dump any accumualted histograms to the log when browser terminates (requires logging to be enabled to really do anything). Used by developers and test scripts.

--enable-async-dns

Enables the experimental asynchronous DNS client.

--enable-auth-negotiate-port

Enables the inclusion of non-standard ports when generating the Kerberos SPN in response to a Negotiate challenge. See HttpAuthHandlerNegotiate::CreateSPN for more background.

--enable-autologin

Enables the pre- and auto-login features. When a user signs in to sync, the browser's cookie jar is pre-filled with GAIA cookies. When the user visits a GAIA login page, an info bar can help the user login.

--enable-benchmarking

Enables the benchmarking extensions.

--enable-cloud-print-proxy

This applies only when the process type is "service". Enables the Cloud Print Proxy component within the service process.

--enable-contacts

Enables fetching the user's contacts from Google and showing them in the Chrome OS apps list.

--enable-crxless-web-apps

Enables web developers to create apps for Chrome without using crx packages.

--enable-desktop-guest-mode

Enables desktop guest mode.

--enable-devtools-experiments

If true devtools experimental settings are enabled.

--enable-interactive-autocomplete

Enables an interactive autocomplete UI and a way to invoke this UI from WebKit by enabling HTMLFormElement#requestAutocomplete (and associated autocomplete events and logic).

--easy-off-store-extension-install

Enables extensions to be easily installed from sites other than the web store. Without this flag, they can still be installed, but must be manually dragged onto chrome://extensions/.

--enable-extension-activity-ui

Enables extension APIs that are in development.

--extensions-in-action-box

Enables or disables showing extensions in the action box.

--enable-file-cookies

By default, cookies are not allowed on file://. They are needed for testing, for example page cycler and layout tests.

--enable-google-now-integration

Enables Google Now integration.

--enable-instant-extended-api

Enable Instant extended API.

--enable-ipv6

Enables IPv6 support, even if probes suggest that it may not be fully supported. Some probes may require internet connections, and this flag will allow support independent of application testing. This flag overrides --disable-ipv6 which appears elswhere in this file.

--enable-ipc-fuzzing

Enables the IPC fuzzer for reliability testing

--enable-ip-pooling

Enables IP Pooling within the networks stack (SPDY only). When a connection is needed for a domain which shares an IP with an existing connection, attempt to use the existing connection.

--enable-managed-users

Enables support for user profiles that are managed by another user and can have restrictions applied.

--enable-memory-info

Allows reporting memory info (JS heap size) to page.

--enable-memory-internals-ui

Enables metrics recording and reporting in the browser startup sequence, as if this was an official Chrome build where the user allowed metrics reporting. This is used for testing only.

--enable-nacl

Runs the Native Client inside the renderer process and enables GPU plugin (internally adds lEnableGpuPlugin to the command line).

--enable-nacl-debug

Enables debugging via RSP over a socket.

--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.

--enable-nacl-exception-handling

Enables hardware exception handling via debugger process.

--enable-native-messaging

Enables the native messaging extensions API.

--enable-net-benchmarking

Enables the network-related benchmarking extensions.

--enable-new-autofill-ui

Enables the new Autofill UI, which is part of the browser process rather than part of the renderer process.

--enable-npn

Enables NPN and SPDY. In case server supports SPDY, browser will use SPDY.

--enable-npn-http

Enables NPN with HTTP. It means NPN is enabled but SPDY won't be used. HTTP is still used for all requests.

--enable-panels

Enables panels (always on-top docked pop-up windows).

--enable-panel-stacking

Enables panel stacking support.

--enable-password-generation

Enables password generation when we detect that the user is going through account creation.

--enable-pnacl

Enables the installation and usage of Portable Native Client.

--enable-profiling

Enables tracking of tasks in profiler for viewing via about:profiler. To predominantly disable tracking (profiling), use the command line switch: --enable-profiling=0 Some tracking will still take place at startup, but it will be turned off during chrome_browser_main.

--enable-query-extraction

Enables query extraction in the omnibox.

--enable-quic

Enables support for the QUIC protocol. This is a temporary testing flag.

--enable-sdch

Enables content settings based on host and plug-in in the user preferences.

--enable-spdy3

Enable SPDY/3. This is a temporary testing flag.

--enable-spdy-credential-frames

Enable SPDY CREDENTIAL frame support. This is a temporary testing flag.

--enable-spelling-auto-correct

Enables auto correction for misspelled words.

--enable-stacked-tab-strip

Enables the stacked tabstrip.

--enable-suggestions-ntp

Enables experimental suggestions pane in New Tab page.

--enable-tab-groups-context-menu

Enables synced notifications.

--enable-watchdog

Enables Alternate-Protocol when the port is user controlled (> 1024).

--enable-websocket-over-spdy

Uses WebSocket over SPDY.

--explicitly-allowed-ports

Explicitly allows additional ports using a comma-separated list of port numbers.

--event-page-idle-time

The time in seconds that an extension event page can be idle before it is shut down.

--event-page-unloading-time

The time in seconds that an extension event page has between being notified of its impending unload and that unload happening.

--extension-process

Marks a renderer as extension process.

--extensions-update-frequency

Frequency in seconds for Extensions auto-update.

--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". Note that this only applies if the browser's reported channel is UNKNOWN.

--flag-switches-begin / --flag-switches-end

These two flags are added around the switches chrome:flags adds to the command line. This is useful to see which switches were added by chrome:flags on chrome:version. They don't have any effect.

--feedback-server

Alternative feedback server to use when submitting user feedback

--file-descriptor-limit

The file descriptor limit is set to the value of this switch, subject to the OS hard limits. Useful for testing that file descriptor exhaustion is handled gracefully.

--force-app-mode

Forces application mode. This hides certain system UI elements and forces the app to be installed if it hasn't been already.

--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-load-cloud-policy

Tries to load cloud policy for every signed in user, regardless of whether they are a dasher user or not. Used to allow any GAIA account to be used for testing the cloud policy framework.

--gaia-profile-info

Enables using GAIA information to populate profile name and icon.

--google-search-domain-check-url

Specifies an alternate URL to use for retrieving the search domain for Google. Useful for testing.

--gssapi-library-name

Specifies a custom name for the GSSAPI library to load.

--help / --h

These flags show the man page on Linux. They are equivalent to each other.

--hide-icons

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.

--disable-full-history-sync

Disables full history sync.

--enable-full-history-sync

Enables full history sync (not just typed URLs) for signed-in users.

--enable-grouped-history

Enables grouping websites by domain and filtering them by period.

--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.

--host-rules

Comma-separated list of rules that control how hostnames are mapped.

For example:

  • MAP * 127.0.0.1 → Forces all hostnames to be mapped to 127.0.0.1
  • MAP *.google.com proxy → Forces all google.com subdomains to be resolved to proxy.
  • MAP test.com [::1]:77 → Forces test.com to resolve to IPv6 loopback. Will also force the port of the resulting socket address to be 77.
  • MAP * baz, EXCLUDE www.google.com → Remaps everything to baz, except for www.google.com.

These mappings apply to the endpoint host in a net::URLRequest (the TCP connect and host resolver in a direct connection, and the CONNECT in an http proxy connection, and the endpoint host in a SOCKS proxy connection).

--host-resolver-parallelism

The maximum number of concurrent host resolve requests (i.e. DNS) to allow (not counting backup attempts which would also consume threads). --host-resolver-retry-attempts must be set to zero for this to be exact.

--host-resolver-retry-attempts

The maximum number of retry attempts to resolve the host. Set this to zero to disable host resolver retry attempts.

--hsts-hosts

Takes the JSON-formatted HSTS specification and loads it as if it were a preloaded HSTS entry. Takes precedence over both website-specified rules and built-in rules. The JSON format is the same as that persisted in <profile_dir>/Default/TransportSecurity

--import

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, kInstantURL, kSbURLPrefix,kSyncServiceURL, kWalletServiceUrl, etc.)

--import-from-file

Performs bookmark importing from an HTML file. The value associated with this setting encodes the file path. It may be used jointly with kImport.

--incognito

Causes the browser to launch directly in incognito mode.

--install-from-webstore

Causes Chrome to attempt to get metadata from the webstore for the app/extension ID given, and then prompt the user to download and install it.

--instant-process

Marks a renderer as an Instant process.

--instant-url

URL to use for instant. If specified this overrides the url from the TemplateURL.

--keep-alive-for-test

Used for testing - keeps browser alive after last browser window closes.

--kiosk

Enable Kiosk mode.

--kiosk-printing

Print automatically in kiosk mode. 'kKioskMode' must be set as well.

--limited-install-from-webstore

Causes Chrome to attempt to get metadata from the webstore for the given item, and then prompt the user to download and install it.

--load-and-launch-app

Loads an app from the specified directory and launches it.

--load-component-extension

Comma-separated list of directories with component extensions to load.

--disable-cloud-policy-on-signin

If present, disables the loading and application of cloud policy for signed-in users.

--load-extension

Loads an extension from the specified directory.

--load-opencryptoki

Loads the opencryptoki library into NSS at startup. This is only needed temporarily for developers who need to work on WiFi/VPN certificate code.

--log-net-log

Enables displaying net log events on the command line, or writing the events to a separate file if a file name is given.

--uninstall-extension

Uninstalls an extension with the specified extension id.

--managed

Starts the browser in managed mode.

--make-default-browser

Makes Chrome default browser

--media-cache-size

Forces the maximum disk space to be used by the media cache, in bytes.

--memory-profile

Enables dynamic loading of the Memory Profiler DLL, which will trace all memory allocations during the run.

--message-loop-histogrammer

Enables histograming of tasks served by MessageLoop. See about:histograms/Loop for results, which show frequency of messages on each thread, including APC count, object signalling count, etc.

--metrics-recording-only

Enables the recording of metrics reports but disables reporting. In contrast to kDisableMetrics, 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.

--multi-profiles

Enables multiprofile Chrome.

--nacl-gdb

Native Client GDB debugger for loader. It needs switches calculated at run time in order to work correctly. That's why NaClLoadCmdPrefix flag can't be used.

--nacl-gdb-script

GDB script to pass to the nacl-gdb debugger at startup.

--nacl-loader-cmd-prefix

On POSIX only: the contents of this flag are prepended to the nacl-loader command line. Useful values might be valgrind or xterm -e gdb --args.

--native-messaging-hosts

List of native messaging hosts outside of the default location. Used for tests. The value must be comma-separate lists of key-value pairs separated equal sign. E.g. host1=/path/to/host1/manifest.json,host2=/path/host2.json.

--net-log-level

Sets the base logging level for the net log. Log 0 logs the most data. Intended primarily for use with --log-net-log.

--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-displaying-insecure-content

By default, an https page can load images, fonts or frames from an http page. This switch overrides this to block this lesser mixed-content problem.

--no-events

Don't record/playback events when using record & playback.

--no-experiments

Disables all experiments set on chrome:flags. Does not disable chrome:flags itself. Useful if an experiment makes chrome crash at startup: One can start chrome with --no-experiments, disable the problematic lab at chrome: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.

Also drops the First Run beacon so that First Run will not occur in subsequent runs as well.

--no-js-randomness

Support a separate switch that enables the v8 playback extension. The extension causes javascript calls to Date.now() and Math.random() to return consistent values, such that subsequent loads of the same page will result in consistent js-generated data and XHR requests. Pages may still be able to generate inconsistent data from plugins.

--no-managed

Starts the browser outside of managed mode.

--no-network-profile-warning

Whether or not the browser should warn if the profile is on a network share. This flag is only relevant for Windows currently.

--no-pings

Don't send hyperlink auditing pings

--no-proxy-server

Don't use a proxy server, always make direct connections. Overrides any other proxy server flags that are passed.

--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).

--num-pac-threads

Specifies the maximum number of threads to use for running the Proxy Autoconfig (PAC) script.

--new-window

When the option to block third-party cookies is enabled, only block third-party cookies from being set.

--organic

Simulates an organic Chrome install.

--origin-port-to-force-quic-on

Force use of QUIC for requests over the specified port.

--pack-extension

Packages an extension to a .crx installable file from a given directory.

--pack-extension-key

Optional PEM private key to use in signing packaged .crx.

--parent-profile

Specifies the path to the user data folder for the parent profile.

--performance-monitor-gathering

Launches PerformanceMonitor at startup, which will gather statistics about Chrome's CPU and memory usage, page load times, startup times, and network usage, and will also store information about events which may be of interest, such as extension-related occurrences and crashes. Optionally, this may be run with an integer value representing the interval between the timed metric gatherings, measured in seconds (if invalid or not provided, the default interval is used).

--perform-crash-analysis

Enable the post crash analyzer which uploads detailed crash information in situations where a crash is determined to be particularly interesting.

--playback-mode

Read previously recorded data from the cache. Only cached data is read. See kRecordMode.

--pnacl-dir

Overrides the path to the location that PNaCl is installed.

--ppapi-flash-in-process

Forces the PPAPI version of Flash (if it's being used) to run in the renderer process rather than in a separate plugin process.

--ppapi-flash-path

Use the PPAPI (Pepper) Flash found at the given path.

--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.

--prerender-from-omnibox

Triggers prerendering of pages from suggestions in the omnibox. Only has an effect when Instant is either disabled or restricted to search, and when prerender is enabled.

--prerender

These are the values the kPrerenderFromOmnibox switch may have, as in --prerender-from-omnibox=auto.

  • auto Allow field trial selection.
  • disabled No prerendering.
  • enabled Guaranteed prerendering.

Controls speculative prerendering of pages, and content prefetching. Both are dispatched from elements.

--print-raster

These are the values the kPrerenderMode switch may have, as in --prerender=auto.

  • auto Allow field trial selection in both prerender and prefetch.
  • disabled No prerendering or prefetching.
  • enabled Both prerendering and prefetching.
  • prefetch_only No prerendering, but enables prefetching.

Enable conversion from vector to raster for any page.

--product-version

Outputs the product version information and quit. Used as an internal api to detect the installed version of Chrome on Linux.

--profile-directory

Selects directory of profile to associate with the first browser launched.

--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 gyp variable profiling=1. 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. {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}.

--profiling-output-file

Specifies a path for the output of task-level profiling which can be loaded and viewed in about:profiler.

--profiling-flush

Controls whether profile data is periodically flushed to a file. Normally the data gets written on exit but cases exist where chrome doesn't exit cleanly (especially when using single-process). A time in seconds can be specified.

--promo-server-url

Specifies a custom URL for fetching NTP promo data.

--prompt-for-external-extensions

Should we prompt the user before allowing external extensions to install? Default is yes.

--proxy-auto-detect

Forces proxy auto-detection.

--proxy-bypass-list

Specifies a list of hosts for whom we bypass proxy settings and use direct connections. Ignored if --proxy-auto-detect or --no-proxy-server are also specified. This is a comma-separated list of bypass rules. See: net/proxy/proxy_bypass_rules.h for the format of these rules.

--proxy-pac-url

Uses the pac script at the given URL

--proxy-server

Uses a specified proxy server, overrides system settings. This switch only affects HTTP and HTTPS requests.

--purge-memory-button

Adds a Purge memory"button to the Task Manager, which tries to dump as much memory as possible. This is mostly useful for testing how well the MemoryPurger functionality works.

NOTE: This is only implemented for Views.

--record-stats

Capture resource consumption information through page cycling and output the data to the specified file.

--record-mode

Chrome supports a playback and record mode. Record mode saves everything to the cache. Playback mode reads data exclusively from the cache. This allows us to record a session into the cache and then replay it at will. See also kPlaybackMode.

--remote-debugging-frontend

Uses custom front-end URL for the remote debugging.

--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.

--renderer-print-preview

Enables print preview in the renderer. This flag is generated internally by Chrome and does nothing when directly passed to the browser.

--reset-local-passphrase

Forces a reset of the local passphrase of the managed user account, and the managed user settings dialog is shown where a new passphrase can be set.

--reset-variation-state

Forces a reset of the one-time-randomized FieldTrials on this client, also known as the Chrome Variations state.

--restore-last-session

Indicates the last session should be restored on startup. This overrides the preferences value and is primarily intended for testing. The value of this switch is the number of tabs to wait until loaded before 'load completed' is sent to the ui_test.

--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.

--safebrowsing-url-prefix

URL prefix used by safebrowsing to fetch hash, download data and report malware.

--safebrowsing-disable-auto-update

If present, safebrowsing only performs update when SafeBrowsingProtocolManager::ForceScheduleNextUpdate() is explicitly called. This is used for testing only.

--script-badges

Disables safebrowsing feature that checks download url and downloads content's hash to make sure the content are not malicious.

--script-bubble

Enable or diable the script bubble icon in the URL bar that tells you how many extensions are running scripts on a page.

--search-in-omnibox-hint

Enables the showing of an info-bar instructing user they can search directly from the omnibox.

--set-token

Sets a token in the token service, for testing.

--show-app-list

If true the app list will be shown.

--show-autofill-type-predictions

Annotates forms with Autofill field type predictions.

--show-icons

Makes component extensions appear in chrome://settings/extensions.

--show-launcher-alignment-menu

If true the alignment of the launcher can be changed.

--sideload-wipeout

Enables or disables sideload wipeout extension effort.

--silent-dump-on-dcheck

Changes the DCHECKS to dump memory and continue instead of displaying error dialog. This is valid only in Release mode when --enable-dcheck is specified.

--silent-launch

Causes Chrome to launch without opening any windows by default. Useful if one wishes to use Chrome as an ash server.

--simulate-upgrade

Simulates an update being available.

--simulate-critical-update

Simulates a critical update being available.

--simulate-outdated

Simulates that current version is outdated.

--socket-reuse-policy

Socket reuse policy. The value should be of type enum ClientSocketReusePolicy.

--spdy-proxy-auth-origin

Origin for which SpdyProxy authentication is supported.

--disabled

Speculative resource prefetching.

--learning

Speculative resource prefetching will only learn about resources that need to be prefetched but will not prefetch them.

--enabled

Speculative resource prefetching is enabled.

--ssl-version-max

Specifies the maximum SSL/TLS version (ssl3, tls1, tls1.1, or tls1.2).

--ssl-version-min

Specifies the minimum SSL/TLS version (ssl3, tls1, tls1.1, or tls1.2).

--start-maximized

Starts the browser maximized, regardless of any previous settings.

--suggestion-ntp-filter-width

Controls the width of time-of-day filters on the 'suggested' ntp page, in minutes.

--suggestion-ntp-gaussian-filter

Enables a normal distribution dropoff to the relevancy of visits with respect to the time of day.

--suggestion-ntp-linear-filter

Enables a linear dropoff to the relevancy of visits with respect to the time of day.

--sync-invalidate-xmpp-login

Allows insecure XMPP connections for sync (for testing).

--sync-keystore-encryption

Enable support for keystore key based encryption.

--sync-notification-method

Defines the sync notification method, not documented, but I assume either ntp or xmpp - you'll have to look this one up though.

--sync-notification-host-port

Overrides the default host:port used for sync notifications.

--sync-url

Overrides the default server used for profile sync.

--sync-tab-favicons

Enables syncing of favicons as part of tab sync.

--sync-throw-unrecoverable-error

Makes the sync code to throw an unrecoverable error after initialization. Useful for testing unrecoverable error scenarios.

--sync-try-ssltcp-first-for-xmpp

Tries to connect to XMPP using SSLTCP first (for testing).

--enable-tab-browser-dragging

Enables tab dragging to create a real browser.

--enable-tab-capture

Enables tab capture.

--test-name

Passes the name of the current running automated test to Chrome.

--test-nacl-sandbox

Runs the security test for the NaCl loader sandbox.

--test-type

Type of the current test harness ("browser" or "ui").

--testing-channel

Tells the app to listen for and broadcast testing-related messages on IPC channel with the given ID.

--track-active-visit-time

Enables tracking the amount of non-idle time spent viewing pages.

--trusted-spdy-proxy

Disables same-origin check on HTTP resources pushed via a SPDY proxy. The value is the host:port of the trusted proxy.

--try-chrome-again

Experimental. Shows a dialog asking the user to try chrome. This flag is to be used only by the upgrade process.

--uninstall

Runs un-installation steps that were done by chrome first-run.

--use-spdy

Uses Spdy for the transport protocol instead of HTTP. This is a temporary testing flag.

--use-spelling-suggestions

Disables use of the spelling web service and only provides suggestions. This will only work if asynchronous spell checking is not disabled.

--max-spdy-sessions-per-domain

Sets the maximum SPDY sessions per domain.

--max-spdy-concurrent-streams

Sets the maximum concurrent streams over a SPDY session.

--user-data-dir

Specifies the user data directory, which is where the browser will look for all of its state.

--use-client-login-signin-flow

Uses the ClientLogin signin flow instead of the web-based signin flow.

--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.

--version

Prints version information and quits.

--viewer-connection

Requests that Chrome connect to a remote viewer process using an IPC channel of the given name.

--visit-urls

Cycle through a series of URLs listed in the specified file.

--wallet-secure-service-url

Secure service URL for Online Wallet service. Used as the base url to escrow credit card numbers.

--wallet-service-url

Service URL for Online Wallet service. Used as the base url for Online Wallet API calls.

--whitelisted-extension-id

Enable the "native services" feature of web-intents.

--window-position

Specify the initial window position: --window-position=x,y

--window-size

Specify the initial window size: --window-size=w,h

--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.

When plugin installation is enabled

--plugins-metadata-server-url

Specifies a custom URL for fetching plug-ins metadata. Used for testing.

Android specific switches

--enable-spdy-proxy-auth

Enable SPDY proxy.

--enable-translate

Pops the translate infobar if possible.

--tablet-ui

Uses the tablet specific UI components when available.

Chrome OS switches

For use when running Chrome/Chromium on ChromeOS.

--ash-webui-init

When wallpaper boot animation is not disabled this switch is used to override OOBE/sign in WebUI init type. Possible values: parallel|postpone. Default: parallel.

--enable-carrier-switching

Enables switching between different cellular carriers from the UI.

--disable-boot-animation

Disables wallpaper boot animation (except of OOBE case).

--disable-drive

Disables Chrome Captive Portal detector, which initiates Captive Portal detection for new active networks.

--enable-drive-prefetch

Enables file prefetching in Google Drive Client for Chrome OS.

--disable-login-animations

Avoid doing expensive animations upon login.

--disable-oobe-animation

Avoid doing animations upon oobe.

--enable-app-mode

Enable Kiosk app mode for ChromeOS.

--enable-background-loader

Enables component extension that initializes background pages of certain hosted applications.

--enable-drive-metadata-prefetch

Enables Chrome Captive Portal detector, which initiates Captive Portal detection for new active networks.

--enable-touchpad-three-finger-click

Enables touchpad three-finger-click as middle button.

--enable-touchpad-three-finger-swipe

Enables touchpad three-finger swipe.

--enable-kiosk-mode

Enable Kiosk mode for ChromeOS.

--disable-local-accounts

Disable policy-configured local accounts.

--enable-request-tablet-site

Enables request of tablet site (via user agent override).

--enable-static-ip-config

Enables static ip configuration. This flag should be removed when it's on by default.

--first-boot

Passed to Chrome on first boot. Not passed on restart after sign out.

--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.

--has-chromeos-keyboard

If true, the Chromebook has a Chrome OS keyboard. Don't use the flag for Chromeboxes.

--has-chromeos-diamond-key

If true, the Chromebook has a keyboard with a diamond key.

--kiosk-mode-screensaver-path

Path for the screensaver used in Kiosk mode

--login-manager

Enables Chrome-as-a-login-manager behavior.

--login-screen

Allows to override the first login screen. The value should be the name of the first login screen to show

--login-screen-size

Controls the initial login screen size. Pass width,height.

--login-profile

Specifies the profile to use once a chromeos user is logged in.

--login-user

Specifies the user which is already logged in.

--login-password

Specifies a password to be used to login (along with login-user).

--enable-natural-scroll-default

Enables natural scroll by default.

--no-discard-tabs

Disables tab discard in low memory conditions, a feature which silently closes inactive tabs to free memory and to attempt to avoid the kernel's out-of-memory process killer.

--bwsi

Indicates that the browser is in "browse without sign-in" (Guest session) mode. Should completely disable extensions, sync and bookmarks.

--echo-ext-path

Enables overriding the path for the default echo component extension. Useful for testing.

--stub-cros-settings

Indicates that a stub implementation of CrosSettings that stores settings in memory without signing should be used, treating current user as the owner. This option is for testing the chromeos build of chrome on the desktop only.

--auth-ext-path

Enables overriding the path for the default authentication extension.

--file-manager-packaged

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.

--oobe-skip-postlogin

Skips all other OOBE pages after user login. In NDebug mode

Posix specific switches

For running on any *nix, ie. Linux, Solaris, OS X, etc.

--enable-crash-reporter

A flag, generated internally by Chrome for renderer and other helper process command lines on Linux and Mac. It tells the helper process to enable crash dumping and reporting, because helpers cannot access the profile or other files needed to make this decision.

--password-store

Used for turning on Breakpad crash reporting in a debug environment where crash reporting is typically compiled but disabled.

OS X specific switches

Mac only stuff...

--enable-expose-for-tabs

Enables the tabs expose feature

--keychain-reauthorize

Performs Keychain reauthorization from the command line on behalf of a special Keychain reauthorization stub executable. Used during auto-update.

--relauncher

A process type (switches::kProcessType) that relaunches the browser. See chrome/browser/mac/relauncher.h.

--use-mock-keychain

Uses mock keychain for testing purposes, which prevents blocking dialogs from causing timeouts.

Windows specific switches

--force-immersive

Enables media transfer protocol device media support for mediaGalleries extension API.

--force-desktop

For the DelegateExecute verb handler to launch Chrome in desktop mode on Windows 8 and higher. Used when relaunching metro Chrome.

--overlapped-reads

Allows for disabling the overlapped I/O for TCP reads. Possible values are "on" or "off". The default is "on" which matches the existing behavior. "off" switches to use non-blocking reads and WSAEventSelect.

--relaunch-shortcut

Relaunches metro Chrome on Windows 8 and higher using a given shortcut.

--wait-for-mutex

Waits for the given handle to be signaled before relaunching metro Chrome on Windows 8 and higher.

NDebug switches

I don't know what NDebug is, so you'll have to look that up.

--filemgr-ext-path

Enables overriding the path of file manager extension.

--image-loader-ext-path

Enables overriding the path of image loader extension.

--dump-profile-graph

Dumps dependency information about our profile services into a dot file in the profile directory.

Print preview in the browser process.

Google Chrome builds only.

--disable-print-preview

Disables print preview (For testing, and for users who don't like us. :[ )

--enable-print-preview

Enables print preview (Force enable on Chromium, which normally does not have the PDF viewer required for print preview.)

Base switches

Although it's likely you'll never need these, I've added them for completeness, and Emacs just made short work of extracting them from the source code, so there you go...

--debug-on-start

If the program includes base/debug/debug_on_start_win.h, the process will (on Windows only) start the JIT system-registered debugger on itself and will wait for 60 seconds for the debugger to attach to itself. Then a break point will be hit.

--disable-breakpad

Disables the crash reporting.

--enable-dcheck

Enable DCHECKs in release mode.

--full-memory-crash-report

Generates full memory crash dump.

--noerrdialogs

Suppresses all error dialogs when present.

--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.

--v

Gives the default maximal active V-logging level; 0 is the default. Normally positive values are used for V-logging levels.

--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

Will wait for 60 seconds for a debugger to come to attach to the process.

blog comments powered by Disqus