Chrome 工具 flags 列表, 摘自 Chrome Flags for Tooling:
--proxy-bypass-list忽略的 server host
--use-fake-device-for-media-stream: Use fake device for Media Stream to replace camera and microphone
--use-file-for-fake-video-capture=<path-to-file>: Use file for fake video capture (.y4m or .mjpeg) Needs
--disable-features=ScriptStreaming: V8 script streaming
--disable-notifications: Disables the Web Notification and the Push APIs.
--disable-popup-blocking: Disable popup blocking.
--block-new-web-contentsis the strict version of this.
--disable-prompt-on-repost: Reloading a page that came from a POST normally prompts the user.
--disable-renderer-backgrounding: This disables non-foreground tabs from getting a lower process priority This doesn't (on its own) affect timers or painting behavior. karma-chrome-launcher#123
--js-flags=--random-seed=1157259157: Initialize V8's RNG with a fixed seed.
--disable-device-discovery-notifications: Avoid messages like "New printer on your network"
--enable-automation: Disable a few things considered not appropriate for automation. (Original design doc, though renamed here) codesearch. Note that some projects have chosen to avoid using this flag: web-platform-tests/wpt/#6348
- disables bubble notification about running development/unpacked extensions
- disables the password saving UI (which covers the usecase of the removed
- disables infobar animations
- disables auto-reloading on network errors (source)
- means the default browser check prompt isn't shown
- avoids showing these 3 infobars: ShowBadFlagsPrompt, GoogleApiKeysInfoBarDelegate, ObsoleteSystemInfoBarDelegate
- adds this infobar:
--enable-logging=stderr: Logging behavior slightly more appropriate for a server-type process.
--log-level=0: 0 means INFO and higher.
--password-store=basic: Avoid potential instability of using Gnome Keyring or KDE wallet. chromium/linux/password_storage.md https://crbug.com/571003
--remote-debugging-pipe: more secure than using protocol over a websocket
--silent-debugger-extension-api: Does not show an infobar when a Chrome extension attaches to a page using
chrome.debuggerpage. Required to attach to extension background pages.
--test-type: Basically the 2014 version of
- It avoids creating application stubs in ~/Applications on mac.
- It makes exit codes slightly more correct
- windows navigation jumplists arent updated https://crbug.com/389375
- doesn't start some chrome StartPageService
- disables initializing chromecast service
- "Component extensions with background pages are not enabled during tests because they generate a lot of background behavior that can interfere."
- when quitting the browser, it disables additional checks that may stop that quitting process. (like unsaved form modifications or unhandled profile notifications..)
--use-mock-keychain: Use mock keychain on Mac to prevent blocking permissions dialogs. https://crbug.com/865247
--disable-background-networking: Disable various background network services, including extension updating,safe browsing service, upgrade detector, translate, UMA
--disable-breakpad: Disable crashdump collection (reporting is already disabled in Chromium)
--disable-component-update: Don't update the browser 'components' listed at chrome://components/
--disable-domain-reliability: Disables Domain Reliability Monitoring, which tracks whether the browser has difficulty contacting Google-owned sites and uploads reports to Google.
--disable-sync: Disable syncing to a Google account
--enable-crash-reporter-for-testing: Used for turning on Breakpad crash reporting in a debug environment where crash reporting is typically compiled but disabled.
--metrics-recording-only: Disable reporting to UMA, but allows for collection
--deterministic-mode: An experimental meta flag. This sets the below indented flags which put the browser into a mode where rendering (border radius, etc) is deterministic and begin frames should be issued over DevTools Protocol. codesearch
--disable-features=PaintHolding: Don't defer paint commits (normally used to avoid flash of unstyled content)
--disable-skia-runtime-opts: Do not use runtime-detected high-end CPU optimizations in Skia.
--in-process-gpu: Saves some memory by moving GPU process into a browser process thread
--use-gl="swiftshader": 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.
--block-new-web-contents: All pop-ups and calls to window.open will fail.
--force-color-profile=srgb: Force all monitors to be treated as though they have the specified color profile.
--new-window: Launches URL in new browser window.
--disable-features=site-per-process: Disables OOPIF. https://www.chromium.org/Home/chromium-security/site-isolation
--process-per-tab: Doesn't do anything. Use --single-process instead.
--single-process: Runs the renderer and plugins in the same process as the browser.
--disable-dev-shm-usage: Often used in Lambda, Cloud Functions scenarios. (pptr issue, crbug)
--no-sandbox: Sometimes used with headless, though not recommended.
--disable-gpu: Sometimes used with headless.
--disable-add-to-shelf: Removed June 2017
--disable-background-downloads: Removed Oct 2014.
Translatein Sept 2020.
--disable-infobars: Removed April 2014
--disable-save-password-bubble: Removed May 2016
--disable-translate: Removed April 2017 Used to disable built-in Google Translate service.
--ignore-autoplay-restrictions: Removed December 2017 Can use
--safebrowsing-disable-auto-update: Removed Nov 2017
- chrome-launcher's flags
- Chromedriver's flags
- Puppeteer's flags
- WebpageTest's flags
- Catapult's flags
- Karma's flags
- The canonical list of Chrome command-line switches on peter.sh (maintained by the Chromium team)
FYI: (Probably) all flags are defined in files matching the pattern of
Chromium and Blink use feature flags to disable/enable many features at runtime. Chromium has ~400 features that can be toggled with
--disable-features. Indepdently, Blink has many features that can be toggled with commandline switches: