command_line_args.cc 38 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412
  1. // Copyright (c) 2018 GitHub, Inc.
  2. // Use of this source code is governed by the MIT license that can be
  3. // found in the LICENSE file.
  4. #include <string>
  5. #include "atom/app/command_line_args.h"
  6. #include "base/strings/string_util.h"
  7. #include "base/strings/utf_string_conversions.h"
  8. #include "content/public/common/content_switches.h"
  9. namespace {
  10. bool IsUrlArg(const base::CommandLine::CharType* arg) {
  11. // the first character must be a letter for this to be a URL
  12. auto c = *arg;
  13. if (('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z')) {
  14. for (auto p = arg + 1; *p; ++p) {
  15. c = *p;
  16. // colon indicates that the argument starts with a URI scheme
  17. if (c == ':') {
  18. // it could also be a Windows filesystem path
  19. if (p == arg + 1)
  20. break;
  21. return true;
  22. }
  23. // white-space before a colon means it's not a URL
  24. if (c == ' ' || (0x9 <= c && c <= 0xD))
  25. break;
  26. }
  27. }
  28. return false;
  29. }
  30. const char* blacklist[] = {
  31. // node
  32. "inspect",
  33. "inspect-brk",
  34. // chromium switches:
  35. // find ./ -name "*switches.cc" \
  36. // | xargs grep -P --no-filename "\"\S+\";" \
  37. // | perl -pe 's|^.*?"(\S+)";| "$1",|' \
  38. // | sort | uniq
  39. "?",
  40. "0",
  41. "accept-resource-provider",
  42. "account-consistency",
  43. "adaboost",
  44. "aec-refined-adaptive-filter",
  45. "agc-startup-min-volume",
  46. "aggressive",
  47. "aggressive-cache-discard",
  48. "aggressive-tab-discard",
  49. "all",
  50. "allarticles",
  51. "allow-cross-origin-auth-prompt",
  52. "allow-external-pages",
  53. "allow-failed-policy-fetch-for-test",
  54. "allow-file-access-from-files",
  55. "allow-hidden-media-playback",
  56. "allow-http-background-page",
  57. "allow-http-screen-capture",
  58. "allow-insecure-localhost",
  59. "allow-legacy-extension-manifests",
  60. "allow-loopback-in-peer-connection",
  61. "allow-nacl-crxfs-api",
  62. "allow-nacl-file-handle-api",
  63. "allow-nacl-socket-api",
  64. "allow-no-sandbox-job",
  65. "allow-outdated-plugins",
  66. "allow-ra-in-dev-mode",
  67. "allow-running-insecure-content",
  68. "allow-sandbox-debugging",
  69. "allow-silent-push",
  70. "all-toolchains",
  71. "alsa-check-close-timeout",
  72. "alsa-enable-upsampling",
  73. "alsa-fixed-output-sample-rate",
  74. "alsa-input-device",
  75. "alsa-mute-device-name",
  76. "alsa-mute-element-name",
  77. "alsa-output-avail-min",
  78. "alsa-output-buffer-size",
  79. "alsa-output-device",
  80. "alsa-output-period-size",
  81. "alsa-output-start-threshold",
  82. "alsa-volume-device-name",
  83. "alsa-volume-element-name",
  84. "also-emit-success-logs",
  85. "alternative",
  86. "always-authorize-plugins",
  87. "always-on",
  88. "alwaystrue",
  89. "always-use-complex-text",
  90. "amd-switchable",
  91. "android-fonts-path",
  92. "android-stderr-port",
  93. "android-stdin-port",
  94. "android-stdout-port",
  95. "angle",
  96. "app",
  97. "app-auto-launched",
  98. "app-id",
  99. "apple",
  100. "app-mode-auth-code",
  101. "app-mode-oauth-token",
  102. "app-mode-oem-manifest",
  103. "apps-gallery-download-url",
  104. "apps-gallery-update-url",
  105. "apps-gallery-url",
  106. "app-shell-allow-roaming",
  107. "app-shell-host-window-size",
  108. "app-shell-preferred-network",
  109. "app-shell-refresh-token",
  110. "app-shell-user",
  111. "apps-keep-chrome-alive-in-tests",
  112. "arc-availability",
  113. "arc-available",
  114. "arc-start-mode",
  115. "arc-transition-migration-required",
  116. "args",
  117. "artifacts-dir",
  118. "ash-constrain-pointer-to-root",
  119. "ash-debug-shortcuts",
  120. "ash-dev-shortcuts",
  121. "ash-disable-smooth-screen-rotation",
  122. "ash-disable-tablet-autohide-titlebars",
  123. "ash-disable-touch-exploration-mode",
  124. "ash-enable-magnifier-key-scroller",
  125. "ash-enable-mirrored-screen",
  126. "ash-enable-night-light",
  127. "ash-enable-palette-on-all-displays",
  128. "ash-enable-scale-settings-tray",
  129. "ash-enable-software-mirroring",
  130. "ash-enable-unified-desktop",
  131. "ash-estimated-presentation-delay",
  132. "ash-hide-notifications-for-factory",
  133. "ash-host-window-bounds",
  134. "ash-shelf-color",
  135. "ash-shelf-color-scheme",
  136. "ash-touch-hud",
  137. "ash-webui-init",
  138. "attestation-server",
  139. "audio-buffer-size",
  140. "audio-output-channels",
  141. "aura-legacy-power-button",
  142. "auth-ext-path",
  143. "auth-server-whitelist",
  144. "auth-spnego-account-type",
  145. "auto",
  146. "auto-open-devtools-for-tabs",
  147. "autoplay-policy",
  148. "auto-select-desktop-capture-source",
  149. "blink-settings",
  150. "bootstrap",
  151. "browser",
  152. "browser-startup-dialog",
  153. "browser-subprocess-path",
  154. "browser-test",
  155. "bwsi",
  156. "bypass-app-banner-engagement-checks",
  157. "canvas-msaa-sample-count",
  158. "cast-initial-screen-height",
  159. "cast-initial-screen-width",
  160. "cc-layer-tree-test-long-timeout",
  161. "cc-layer-tree-test-no-timeout",
  162. "cc-rebaseline-pixeltests",
  163. "cellular-first",
  164. "cellular-only",
  165. "check-for-update-interval",
  166. "check-layout-test-sys-deps",
  167. "child-wallpaper-large",
  168. "child-wallpaper-small",
  169. "chrome-home-swipe-logic",
  170. "ChromeOSMemoryPressureHandling",
  171. "cipher-suite-blacklist",
  172. "clamshell",
  173. "class",
  174. "clear-token-service",
  175. "cloud-print-file",
  176. "cloud-print-file-type",
  177. "cloud-print-job-title",
  178. "cloud-print-print-ticket",
  179. "cloud-print-setup-proxy",
  180. "cloud-print-url",
  181. "cloud-print-xmpp-endpoint",
  182. "color",
  183. "compensate-for-unstable-pinch-zoom",
  184. "compile-shader-always-succeeds",
  185. "component-updater",
  186. "connectivity-check-url",
  187. "conservative",
  188. "content-image-texture-target",
  189. "content-shell-host-window-size",
  190. "controller",
  191. "crash-dumps-dir",
  192. "crash-on-failure",
  193. "crash-on-hang-threads",
  194. "crashpad-handler",
  195. "crash-server-url",
  196. "crash-test",
  197. "create-browser-on-startup-for-tests",
  198. "cros-gaia-api-v1",
  199. "crosh-command",
  200. "cros-region",
  201. "cros-regions-mode",
  202. "cryptauth-http-host",
  203. "custom-devtools-frontend",
  204. "custom-launcher-page",
  205. "custom_summary",
  206. "d3d11",
  207. "d3d9",
  208. "d3d-support",
  209. "daemon",
  210. "dark_muted",
  211. "dark_vibrant",
  212. "data-path",
  213. "data-reduction-proxy-config-url",
  214. "data-reduction-proxy-experiment",
  215. "data-reduction-proxy-http-proxies",
  216. "data-reduction-proxy-lo-fi",
  217. "data-reduction-proxy-pingback-url",
  218. "data-reduction-proxy-secure-proxy-check-url",
  219. "data-reduction-proxy-server-experiments-disabled",
  220. "dbus-stub",
  221. "debug-devtools",
  222. "debug-enable-frame-toggle",
  223. "debug-packed-apps",
  224. "debug-print",
  225. "default",
  226. "default-background-color",
  227. "default-tile-height",
  228. "default-tile-width",
  229. "default-wallpaper-is-oem",
  230. "default-wallpaper-large",
  231. "default-wallpaper-small",
  232. "demo",
  233. "derelict-detection-timeout",
  234. "derelict-idle-timeout",
  235. "desktop",
  236. "desktop-window-1080p",
  237. "deterministic-fetch",
  238. "device-management-url",
  239. "device-scale-factor",
  240. "devtools-flags",
  241. "diagnostics",
  242. "diagnostics-format",
  243. "diagnostics-recovery",
  244. "dice",
  245. "dice_fix_auth_errors",
  246. "disable",
  247. "disable-2d-canvas-clip-aa",
  248. "disable-2d-canvas-image-chromium",
  249. "disable-3d-apis",
  250. "disable-accelerated-2d-canvas",
  251. "disable-accelerated-jpeg-decoding",
  252. "disable-accelerated-mjpeg-decode",
  253. "disable-accelerated-video-decode",
  254. "disable-appcontainer",
  255. "disable-app-info-dialog-mac",
  256. "disable-app-list-dismiss-on-blur",
  257. "disable-app-window-cycling",
  258. "disable-arc-data-wipe",
  259. "disable-arc-opt-in-verification",
  260. "disable-audio-support-for-desktop-share",
  261. "disable-avfoundation-overlays",
  262. "disable-backgrounding-occluded-windows",
  263. "disable-background-networking",
  264. "disable-background-timer-throttling",
  265. "disable-backing-store-limit",
  266. "disable-blink-features",
  267. "disable-boot-animation",
  268. "disable-breakpad",
  269. "disable-browser-task-scheduler",
  270. "disable-bundled-ppapi-flash",
  271. "disable-canvas-aa",
  272. "disable-captive-portal-bypass-proxy",
  273. "disable-cast-streaming-hw-encoding",
  274. "disable-checker-imaging",
  275. "disable-clear-browsing-data-counters",
  276. "disable-client-side-phishing-detection",
  277. "disable-cloud-import",
  278. "disable-component-cloud-policy",
  279. "disable-component-extensions-with-background-pages",
  280. "disable-component-update",
  281. "disable-composited-antialiasing",
  282. "disable-contextual-search",
  283. "disabled",
  284. "disable-d3d11",
  285. "disable-databases",
  286. "disable-datasaver-prompt",
  287. "disable-default-apps",
  288. "disable-demo-mode",
  289. "disable-device-disabling",
  290. "disable-device-discovery-notifications",
  291. "disable-dinosaur-easter-egg",
  292. "disable-direct-composition",
  293. "disable-direct-composition-layers",
  294. "disable-directwrite-for-ui",
  295. "disable-display-list-2d-canvas",
  296. "disable-distance-field-text",
  297. "disabled-new-style-notification",
  298. "disable-domain-blocking-for-3d-apis",
  299. "disable-domain-reliability",
  300. "disable-drive-search-in-app-launcher",
  301. "disable-dwm-composition",
  302. "disable-encryption-migration",
  303. "disable-eol-notification",
  304. "disable-es3-apis",
  305. "disable-es3-gl-context",
  306. "disable-extensions",
  307. "disable-extensions-except",
  308. "disable-extensions-file-access-check",
  309. "disable-extensions-http-throttling",
  310. "disable-features",
  311. "disable-field-trial-config",
  312. "disable-file-manager-touch-mode",
  313. "disable-file-system",
  314. "disable-flash-3d",
  315. "disable-flash-stage3d",
  316. "disable-fullscreen-low-power-mode",
  317. "disable-fullscreen-tab-detaching",
  318. "disable-gaia-services",
  319. "disable-gesture-editing",
  320. "disable-gesture-requirement-for-presentation",
  321. "disable-gesture-typing",
  322. "disable-gl-drawing-for-tests",
  323. "disable-gl-error-limit",
  324. "disable-gl-extensions",
  325. "disable-glsl-translator",
  326. "disable-gpu",
  327. "disable-gpu-compositing",
  328. "disable-gpu-driver-bug-workarounds",
  329. "disable-gpu-early-init",
  330. "disable-gpu-memory-buffer-compositor-resources",
  331. "disable-gpu-memory-buffer-video-frames",
  332. "disable-gpu-process-crash-limit",
  333. "disable-gpu-program-cache",
  334. "disable-gpu-rasterization",
  335. "disable-gpu-sandbox",
  336. "disable-gpu-shader-disk-cache",
  337. "disable-gpu-vsync",
  338. "disable-gpu-watchdog",
  339. "disable-hang-monitor",
  340. "disable-hid-detection-on-oobe",
  341. "disable-histogram-customizer",
  342. "disable-hosted-app-shim-creation",
  343. "disable-hosted-apps-in-windows",
  344. "disable-infobars",
  345. "disable-in-process-stack-traces",
  346. "disable-input-ime-api",
  347. "disable-input-view",
  348. "disable-ios-password-suggestions",
  349. "disable-javascript-harmony-shipping",
  350. "disable-kill-after-bad-ipc",
  351. "disable-lcd-text",
  352. "disable-legacy-window",
  353. "disable-local-storage",
  354. "disable-lock-screen-apps",
  355. "disable-logging",
  356. "disable-logging-redirect",
  357. "disable-login-animations",
  358. "disable-login-screen-apps",
  359. "disable-low-end-device-mode",
  360. "disable-low-latency-dxva",
  361. "disable-low-res-tiling",
  362. "disable-machine-cert-request",
  363. "disable-mac-overlays",
  364. "disable-mac-views-native-app-windows",
  365. "disable-main-frame-before-activation",
  366. "disable-md-error-screen",
  367. "disable-md-oobe",
  368. "disable-media-session-api",
  369. "disable-media-suspend",
  370. "disable-merge-key-char-events",
  371. "disable-mojo-local-storage",
  372. "disable-mojo-renderer",
  373. "disable-mtp-write-support",
  374. "disable-multi-display-layout",
  375. "disable-namespace-sandbox",
  376. "disable-native-gpu-memory-buffers",
  377. "disable-network-portal-notification",
  378. "disable-new-korean-ime",
  379. "disable-new-virtual-keyboard-behavior",
  380. "disable-new-zip-unpacker",
  381. "disable-notifications",
  382. "disable-ntp-most-likely-favicons-from-server",
  383. "disable-ntp-popular-sites",
  384. "disable-nv12-dxgi-video",
  385. "disable-offer-store-unmasked-wallet-cards",
  386. "disable-offer-upload-credit-cards",
  387. "disable-office-editing-component-extension",
  388. "disable-offline-auto-reload",
  389. "disable-offline-auto-reload-visible-only",
  390. "disable-origin-trial-controlled-blink-features",
  391. "disable-overscroll-edge-effect",
  392. "disable-panel-fitting",
  393. "disable-partial-raster",
  394. "disable-password-generation",
  395. "disable-pepper-3d",
  396. "disable-pepper-3d-image-chromium",
  397. "disable-permission-action-reporting",
  398. "disable-permissions-api",
  399. "disable-per-user-timezone",
  400. "disable-physical-keyboard-autocorrect",
  401. "disable-pinch",
  402. "disable-pnacl-crash-throttling",
  403. "disable-popup-blocking",
  404. "disable-prefer-compositing-to-lcd-text",
  405. "disable-presentation-api",
  406. "disable-print-preview",
  407. "disable-prompt-on-repost",
  408. "disable-proximity-auth-bluetooth-low-energy-discovery",
  409. "disable-pull-to-refresh-effect",
  410. "disable-push-api-background-mode",
  411. "disable-reading-from-canvas",
  412. "disable-remote-core-animation",
  413. "disable-remote-fonts",
  414. "disable-remote-playback-api",
  415. "disable-renderer-accessibility",
  416. "disable-renderer-backgrounding",
  417. "disable-resize-lock",
  418. "disable-rgba-4444-textures",
  419. "disable-rollback-option",
  420. "disable-rtc-smoothness-algorithm",
  421. "disable-screen-orientation-lock",
  422. "disable-search-geolocation-disclosure",
  423. "disable-seccomp-filter-sandbox",
  424. "disable-setuid-sandbox",
  425. "disable-shader-name-hashing",
  426. "disable-shared-workers",
  427. "disable-signin-promo",
  428. "disable-signin-scoped-device-id",
  429. "disable-single-click-autofill",
  430. "disable-skia-runtime-opts",
  431. "disable-slimming-paint-invalidation",
  432. "disable-slim-navigation-manager",
  433. "disable-smooth-scrolling",
  434. "disable-software-rasterizer",
  435. "disable-speech-api",
  436. "disable-suggestions-ui",
  437. "disable-surface-references",
  438. "disable-sync",
  439. "disable-sync-app-list",
  440. "disable-sync-types",
  441. "disable-system-timezone-automatic-detection",
  442. "disable-tab-for-desktop-share",
  443. "disable-third-party-keyboard-workaround",
  444. "disable-threaded-animation",
  445. "disable-threaded-compositing",
  446. "disable-threaded-scrolling",
  447. "disable-timeouts-for-profiling",
  448. "disable-touch-adjustment",
  449. "disable-touch-drag-drop",
  450. "disable-translate-new-ux",
  451. "disable-usb-keyboard-detect",
  452. "disable-v8-idle-tasks",
  453. "disable-vaapi-accelerated-video-encode",
  454. "disable-virtual-keyboard-overscroll",
  455. "disable-voice-input",
  456. "disable-volume-adjust-sound",
  457. "disable-wake-on-wifi",
  458. "disable-webgl",
  459. "disable-webgl-image-chromium",
  460. "disable-web-notification-custom-layouts",
  461. "disable-webrtc-encryption",
  462. "disable-webrtc-hw-decoding",
  463. "disable-webrtc-hw-encoding",
  464. "disable-web-security",
  465. "disable-win32k-lockdown",
  466. "disable-xss-auditor",
  467. "disable-zero-browsers-open-for-tests",
  468. "disable-zero-copy",
  469. "disable-zero-copy-dxgi-video",
  470. "disallow-non-exact-resource-reuse",
  471. "disk-cache-dir",
  472. "disk-cache-size",
  473. "display",
  474. "dmg-device",
  475. "dns-log-details",
  476. "document-user-activation-required",
  477. "dom-automation",
  478. "dotfile",
  479. "draft",
  480. "draw-view-bounds-rects",
  481. "duck-flash",
  482. "dump-blink-runtime-call-stats",
  483. "dump-browser-histograms",
  484. "dump-dom",
  485. "eafe-path",
  486. "eafe-url",
  487. "easy-unlock-app-path",
  488. "edge-touch-filtering",
  489. "egl",
  490. "elevate",
  491. "embedded-extension-options",
  492. "emphasize-titles-in-omnibox-dropdown",
  493. "emulate-shader-precision",
  494. "enable-accelerated-2d-canvas",
  495. "enable-accelerated-vpx-decode",
  496. "enable-accessibility-tab-switcher",
  497. "enable-adaptive-selection-handle-orientation",
  498. "enable-aggressive-domstorage-flushing",
  499. "enable-android-wallpapers-app",
  500. "enable-appcontainer",
  501. "enable-app-info-dialog-mac",
  502. "enable-app-list",
  503. "enable-app-window-cycling",
  504. "enable-arc",
  505. "enable-arc-oobe-optin",
  506. "enable-async-event-targeting",
  507. "enable-audio-debug-recordings-from-extension",
  508. "enable-audio-focus",
  509. "enable-automation",
  510. "enable-background-fetch-persistence",
  511. "enable-benchmarking",
  512. "enable-ble-advertising-in-apps",
  513. "enable-blink-features",
  514. "enable-bookmark-undo",
  515. "enable-browser-side-navigation",
  516. "enable-browser-task-scheduler",
  517. "enable-cast-receiver",
  518. "enable-checker-imaging",
  519. "enable-chromevox-arc-support",
  520. "enable-clear-browsing-data-counters",
  521. "enable-cloud-print-proxy",
  522. "enable-cloud-print-xps",
  523. "enable-consumer-kiosk",
  524. "enable-contextual-search",
  525. "enable-crash-reporter",
  526. "enable-crash-reporter-for-testing",
  527. "enable-crx-hash-check",
  528. "enabled",
  529. "enabled-2g",
  530. "enabled-3g",
  531. "enable-data-reduction-proxy-bypass-warning",
  532. "enable-data-reduction-proxy-force-pingback",
  533. "enable-data-reduction-proxy-lite-page",
  534. "enable-data-reduction-proxy-savings-promo",
  535. "enable-datasaver-prompt",
  536. "enable-device-discovery-notifications",
  537. "enable-devtools-experiments",
  538. "enable-direct-composition-layers",
  539. "enable-display-list-2d-canvas",
  540. "enable-distance-field-text",
  541. "enable-distillability-service",
  542. "enabled-new-style-notification",
  543. "enable-domain-reliability",
  544. "enable-dom-distiller",
  545. "enable-drive-search-in-app-launcher",
  546. "enable-drm-atomic",
  547. "enabled-slow2g",
  548. "enable-embedded-extension-options",
  549. "enable-encryption-migration",
  550. "enable-encryption-selection",
  551. "enable-es3-apis",
  552. "enable-exclusive-audio",
  553. "enable-experimental-accessibility-features",
  554. "enable-experimental-canvas-features",
  555. "enable-experimental-extension-apis",
  556. "enable-experimental-fullscreen-exit-ui",
  557. "enable-experimental-input-view-features",
  558. "enable-experimental-web-platform-features",
  559. "enable-extension-activity-logging",
  560. "enable-extension-activity-log-testing",
  561. "enable-extension-assets-sharing",
  562. "enable-external-drive-rename",
  563. "enable-fast-unload",
  564. "enable-features",
  565. "enable-file-manager-touch-mode",
  566. "enable-first-run-ui-transitions",
  567. "enable-floating-virtual-keyboard",
  568. "enable-font-antialiasing",
  569. "enable-fullscreen-tab-detaching",
  570. "enable-fullscreen-toolbar-reveal",
  571. "enable-google-branded-context-menu",
  572. "enable-gpu-async-worker-context",
  573. "enable-gpu-benchmarking",
  574. "enable-gpu-client-logging",
  575. "enable-gpu-client-tracing",
  576. "enable-gpu-command-logging",
  577. "enable-gpu-debugging",
  578. "enable-gpu-driver-debug-logging",
  579. "enable-gpu-memory-buffer-compositor-resources",
  580. "enable-gpu-memory-buffer-video-frames",
  581. "enable-gpu-rasterization",
  582. "enable-gpu-service-logging",
  583. "enable-gpu-service-tracing",
  584. "enable-hardware-overlays",
  585. "enable-harfbuzz-rendertext",
  586. "enable-heap-profiling",
  587. "enable-hosted-app-quit-notification",
  588. "enable-hosted-apps-in-windows",
  589. "enable-hotword-hardware",
  590. "enable-hung-renderer-infobar",
  591. "enable-inband-text-tracks",
  592. "enable-input-ime-api",
  593. "enable-instant-tethering",
  594. "enable-internal-media-session",
  595. "enable-ios-handoff-to-other-devices",
  596. "enable-layer-lists",
  597. "enable-lcd-text",
  598. "enable-leak-detection",
  599. "enable-local-file-accesses",
  600. "enable-local-sync-backend",
  601. "enable-logging",
  602. "enable-longpress-drag-selection",
  603. "enable-low-end-device-mode",
  604. "enable-low-res-tiling",
  605. "enable-mac-views-native-app-windows",
  606. "enable-main-frame-before-activation",
  607. "enable-md-feedback",
  608. "enable-media-suspend",
  609. "enable-merge-key-char-events",
  610. "enable-message-center-always-scroll-up-upon-notification-removal",
  611. "enable-nacl",
  612. "enable-nacl-debug",
  613. "enable-nacl-nonsfi-mode",
  614. "enable-native-gpu-memory-buffers",
  615. "enable-natural-scroll-default",
  616. "enable-navigation-tracing",
  617. "enable-net-benchmarking",
  618. "enable-network-information-downlink-max",
  619. "enable-network-portal-notification",
  620. "enable-new-app-menu-icon",
  621. "enable-ntp-most-likely-favicons-from-server",
  622. "enable-ntp-popular-sites",
  623. "enable-ntp-search-engine-country-detection",
  624. "enable-offer-store-unmasked-wallet-cards",
  625. "enable-offer-upload-credit-cards",
  626. "enable-offline-auto-reload",
  627. "enable-offline-auto-reload-visible-only",
  628. "enable-oop-rasterization",
  629. "enable-osk-overscroll",
  630. "enable-override-bookmarks-ui",
  631. "enable-partial-raster",
  632. "enable-password-generation",
  633. "enable-pepper-testing",
  634. "enable-permission-action-reporting",
  635. "enable-physical-keyboard-autocorrect",
  636. "enable-picture-in-picture",
  637. "enable-pinch",
  638. "enable-pixel-canvas-recording",
  639. "enable-pixel-output-in-tests",
  640. "enable-plugin-placeholder-testing",
  641. "enable-potentially-annoying-security-features",
  642. "enable-power-overlay",
  643. "enable-precise-memory-info",
  644. "enable-prefer-compositing-to-lcd-text",
  645. "enable-print-browser",
  646. "enable-print-preview-register-promos",
  647. "enable-profile-shortcut-manager",
  648. "enable-profiling",
  649. "enable-push-api-background-mode",
  650. "enable-refresh-token-annotation-request",
  651. "enable-request-tablet-site",
  652. "enable-rgba-4444-textures",
  653. "enable-sandbox",
  654. "enable-sandbox-logging",
  655. "enable-screenshot-testing-with-mode",
  656. "enable-scripts-require-action",
  657. "enable-scroll-prediction",
  658. "enable-service-manager-tracing",
  659. "enable-sgi-video-sync",
  660. "enable-signin-promo",
  661. "enable-single-click-autofill",
  662. "enable-site-settings",
  663. "enable-skia-benchmarking",
  664. "enable-slimming-paint-invalidation",
  665. "enable-slimming-paint-v2",
  666. "enable-slim-navigation-manager",
  667. "enable-smooth-scrolling",
  668. "enable-spatial-navigation",
  669. "enable-spdy-proxy-auth",
  670. "enable-speech-dispatcher",
  671. "enable-spelling-feedback-field-trial",
  672. "enable-spotlight-actions",
  673. "enable-stats-collection-bindings",
  674. "enable-stats-table",
  675. "enable-strict-mixed-content-checking",
  676. "enable-strict-powerful-feature-restrictions",
  677. "enable-suggestions-ui",
  678. "enable-suggestions-with-substring-match",
  679. "enable-supervised-user-managed-bookmarks-folder",
  680. "enable-surface-synchronization",
  681. "enable-swap-buffers-with-bounds",
  682. "enable-sync-app-list",
  683. "enable-sync-articles",
  684. "enable-tab-audio-muting",
  685. "enable-tablet-splitview",
  686. "enable-tcp-fastopen",
  687. "enable-third-party-keyboard-workaround",
  688. "enable-threaded-compositing",
  689. "enable-threaded-texture-mailboxes",
  690. "enable-tile-compression",
  691. "enable-touch-calibration-setting",
  692. "enable-touch-drag-drop",
  693. "enable-touchpad-three-finger-click",
  694. "enable-touchview",
  695. "enable-trace-app-source",
  696. "enable-tracing",
  697. "enable-tracing-output",
  698. "enable-translate-new-ux",
  699. "enable-ui-devtools",
  700. "enable-usermedia-screen-capturing",
  701. "enable-user-metrics",
  702. "enable-use-zoom-for-dsf",
  703. "enable-video-player-chromecast-support",
  704. "enable-viewport",
  705. "enable-virtual-keyboard",
  706. "enable-voice-interaction",
  707. "enable-vtune-support",
  708. "enable-vulkan",
  709. "enable-wayland-server",
  710. "enable-webfonts-intervention-trigger",
  711. "enable-webfonts-intervention-v2",
  712. "enable-webgl-draft-extensions",
  713. "enable-webgl-image-chromium",
  714. "enable-web-notification-custom-layouts",
  715. "enable-webrtc-event-logging-from-extension",
  716. "enable-webrtc-srtp-aes-gcm",
  717. "enable-webrtc-srtp-encrypted-headers",
  718. "enable-webrtc-stun-origin",
  719. "enable-webview-variations",
  720. "enable-webvr",
  721. "enable-wifi-credential-sync",
  722. "enable-win7-webrtc-hw-h264-decoding",
  723. "enable-zero-copy",
  724. "enable-zip-archiver-on-file-manager",
  725. "encode-binary",
  726. "enforce",
  727. "enforce-gl-minimums",
  728. "enforce_strict",
  729. "enforce-webrtc-ip-permission-check",
  730. "enterprise-disable-arc",
  731. "enterprise-enable-forced-re-enrollment",
  732. "enterprise-enable-license-type-selection",
  733. "enterprise-enable-zero-touch-enrollment",
  734. "enterprise-enrollment-initial-modulus",
  735. "enterprise-enrollment-modulus-limit",
  736. "error-console",
  737. "evaluate_capability",
  738. "evaluate-type",
  739. "experiment",
  740. "explicitly-allowed-ports",
  741. "expose-internals-for-testing",
  742. "extension-content-verification",
  743. "extension-process",
  744. "extensions-install-verification",
  745. "extensions-multi-account",
  746. "extensions-not-webstore",
  747. "extensions-on-chrome-urls",
  748. "extensions-update-frequency",
  749. "extra-search-query-params",
  750. "fail-on-unused-args",
  751. "fake-variations-channel",
  752. "false",
  753. "fast",
  754. "fast-start",
  755. "feedback-server",
  756. "field-trial-handle",
  757. "first-exec-after-boot",
  758. "flag-switches-begin",
  759. "flag-switches-end",
  760. "font-cache-shared-handle",
  761. "force-android-app-mode",
  762. "force-app-mode",
  763. "force-clamshell-power-button",
  764. "force-color-profile",
  765. "force-desktop-ios-promotion",
  766. "force-device-scale-factor",
  767. "force-dev-mode-highlighting",
  768. "force-display-list-2d-canvas",
  769. "force-effective-connection-type",
  770. "force-enable-metrics-reporting",
  771. "force-enable-stylus-tools",
  772. "force-fieldtrial-params",
  773. "force-fieldtrials",
  774. "force-first-run",
  775. "force-first-run-ui",
  776. "force-gpu-mem-available-mb",
  777. "force-gpu-rasterization",
  778. "force-happiness-tracking-system",
  779. "force-load-easy-unlock-app-in-tests",
  780. "force-local-ntp",
  781. "force-login-manager-in-tests",
  782. "force-mediafoundation",
  783. "force-overlay-fullscreen-video",
  784. "force-password-reauth",
  785. "force-pnacl-subzero",
  786. "force-presentation-receiver-for-testing",
  787. "force-renderer-accessibility",
  788. "force-show-update-menu-badge",
  789. "force-show-update-menu-item",
  790. "force-system-compositor-mode",
  791. "force-tablet-mode",
  792. "force-text-direction",
  793. "force-ui-direction",
  794. "force-variation-ids",
  795. "force-video-overlays",
  796. "force-wave-audio",
  797. "force-webrtc-ip-handling-policy",
  798. "full-memory-crash-report",
  799. "gaia-url",
  800. "gcm-checkin-url",
  801. "gcm-mcs-endpoint",
  802. "gcm-registration-url",
  803. "generate-accessibility-test-expectations",
  804. "gl",
  805. "gl-composited-overlay-candidate-quad-border",
  806. "gles",
  807. "gl-shader-interm-output",
  808. "golden-screenshots-dir",
  809. "google-apis-url",
  810. "google-base-url",
  811. "google-doodle-url",
  812. "google-url",
  813. "gpu-active-device-id",
  814. "gpu-active-vendor-id",
  815. "gpu-device-id",
  816. "gpu-driver-date",
  817. "gpu-driver-vendor",
  818. "gpu-driver-version",
  819. "gpu-launcher",
  820. "gpu-no-complete-info-collection",
  821. "gpu-no-context-lost",
  822. "gpu-process",
  823. "gpu-program-cache-size-kb",
  824. "gpu-rasterization-msaa-sample-count",
  825. "gpu-sandbox-allow-sysv-shm",
  826. "gpu-sandbox-failures-fatal",
  827. "gpu-sandbox-start-early",
  828. "gpu-secondary-device-ids",
  829. "gpu-secondary-vendor-ids",
  830. "gpu-startup-dialog",
  831. "gpu-testing-device-id",
  832. "gpu-testing-driver-date",
  833. "gpu-testing-gl-renderer",
  834. "gpu-testing-gl-vendor",
  835. "gpu-testing-gl-version",
  836. "gpu-testing-os-version",
  837. "gpu-testing-secondary-device-ids",
  838. "gpu-testing-secondary-vendor-ids",
  839. "gpu-testing-vendor-id",
  840. "gpu-vendor-id",
  841. "graphics-buffer-count",
  842. "guest-wallpaper-large",
  843. "guest-wallpaper-small",
  844. "h",
  845. "has-chromeos-diamond-key",
  846. "has-chromeos-keyboard",
  847. "has-internal-stylus",
  848. "headless",
  849. "help",
  850. "hide",
  851. "hide-icons",
  852. "hide-scrollbars",
  853. "history-entry-requires-user-gesture",
  854. "homedir",
  855. "homepage",
  856. "host",
  857. "host-pairing-oobe",
  858. "host-resolver-rules",
  859. "icu-data-dir",
  860. "ignore-autocomplete-off-autofill",
  861. "ignore-autoplay-restrictions",
  862. "ignore-certificate-errors",
  863. "ignore-certificate-errors-spki-list",
  864. "ignore-gpu-blacklist",
  865. "ignore-urlfetcher-cert-requests",
  866. "ignore-user-profile-mapping-for-tests",
  867. "incognito",
  868. "in-process-gpu",
  869. "input",
  870. "install-chrome-app",
  871. "install-supervised-user-whitelists",
  872. "instant-process",
  873. "invalidation-use-gcm-channel",
  874. "ipc-connection-timeout",
  875. "ipc-dump-directory",
  876. "ipc-fuzzer-testcase",
  877. "isolate-origins",
  878. "isolate-sites-for-testing",
  879. "is-running-in-mash",
  880. "javascript-harmony",
  881. "js-flags",
  882. "keep-alive-for-test",
  883. "kiosk",
  884. "kiosk-printing",
  885. "lang",
  886. "last-launched-app",
  887. "layer",
  888. "light_muted",
  889. "light_vibrant",
  890. "limit-fps",
  891. "load-and-launch-app",
  892. "load-apps",
  893. "load-extension",
  894. "load-media-router-component-extension",
  895. "local-heuristics-only-for-password-generation",
  896. "local-ntp-reload",
  897. "local-sync-backend-dir",
  898. "log-gpu-control-list-decisions",
  899. "login-manager",
  900. "login-profile",
  901. "login-user",
  902. "log-level",
  903. "log-net-log",
  904. "loopback-i2s-bits",
  905. "loopback-i2s-bus-name",
  906. "loopback-i2s-channels",
  907. "loopback-i2s-rate-hz",
  908. "lso-url",
  909. "ltr",
  910. "main-frame-resizes-are-orientation-changes",
  911. "make-chrome-default",
  912. "make-default-browser",
  913. "managed-user-id",
  914. "managed-user-sync-token",
  915. "markdown",
  916. "market-url-for-testing",
  917. "mark-non-secure-as",
  918. "mash",
  919. "material",
  920. "material-design-ink-drop-animation-speed",
  921. "material-hybrid",
  922. "max-gum-fps",
  923. "max-output-volume-dba1m",
  924. "max-untiled-layer-height",
  925. "max-untiled-layer-width",
  926. "media-cache-size",
  927. "memlog",
  928. "memory-pressure-off",
  929. "memory-pressure-thresholds",
  930. "memory-pressure-thresholds-mb",
  931. "mem-pressure-system-reserved-kb",
  932. "message-center-changes-while-open",
  933. "method",
  934. "metrics-client-id",
  935. "metrics-recording-only",
  936. "mhtml-generator-option",
  937. "mirror",
  938. "mock",
  939. "mojo-local-storage",
  940. "mojo-pipe-token",
  941. "monitoring-destination-id",
  942. "mse-audio-buffer-size-limit",
  943. "mse-video-buffer-size-limit",
  944. "mus",
  945. "mus-config",
  946. "mute-audio",
  947. "nacl-broker",
  948. "nacl-dangerous-no-sandbox-nonsfi",
  949. "nacl-debug-mask",
  950. "nacl-gdb",
  951. "nacl-gdb-script",
  952. "nacl-loader",
  953. "nacl-loader-nonsfi",
  954. "native",
  955. "native-crx-bindings",
  956. "need-arc-migration-policy-check",
  957. "netifs-to-ignore",
  958. "net-log-capture-mode",
  959. "network-country-iso",
  960. "network-settings-config",
  961. "new-window",
  962. "nocolor",
  963. "no-default-browser-check",
  964. "noerrdialogs",
  965. "no-experiments",
  966. "no-first-run",
  967. "no-managed-user-acknowledgment-check",
  968. "none",
  969. "no-network-profile-warning",
  970. "non-material",
  971. "non-secure",
  972. "non-secure-after-editing",
  973. "non-secure-while-incognito",
  974. "non-secure-while-incognito-or-editing",
  975. "no-pings",
  976. "no-proxy-server",
  977. "no-referrers",
  978. "normal_muted",
  979. "normal_vibrant",
  980. "no-sandbox",
  981. "no-service-autorun",
  982. "no-session-id",
  983. "no-startup-window",
  984. "note-taking-app-ids",
  985. "no-user-gesture-required",
  986. "no-wifi",
  987. "no-zygote",
  988. "ntp-snippets-add-incomplete",
  989. "null",
  990. "num-raster-threads",
  991. "oauth2-client-id",
  992. "oauth2-client-secret",
  993. "off",
  994. "on",
  995. "oobe-bootstrapping-master",
  996. "oobe-force-show-screen",
  997. "oobe-guest-session",
  998. "oobe-skip-postlogin",
  999. "oobe-timer-interval",
  1000. "open-ash",
  1001. "opengraph",
  1002. "original-process-start-time",
  1003. "origin-trial-disabled-features",
  1004. "origin-trial-disabled-tokens",
  1005. "origin-trial-public-key",
  1006. "osmesa",
  1007. "output",
  1008. "override",
  1009. "override-metrics-upload-url",
  1010. "override-plugin-power-saver-for-testing",
  1011. "override-use-software-gl-for-tests",
  1012. "overscroll-history-navigation",
  1013. "overscroll-start-threshold",
  1014. "ozone-dump-file",
  1015. "ozone-platform",
  1016. "pack-extension",
  1017. "pack-extension-key",
  1018. "parent-profile",
  1019. "parent-window",
  1020. "passive-listeners-default",
  1021. "password-store",
  1022. "permission-request-api-scope",
  1023. "permission-request-api-url",
  1024. "ppapi",
  1025. "ppapi-antialiased-text-enabled",
  1026. "ppapi-broker",
  1027. "ppapi-flash-args",
  1028. "ppapi-flash-path",
  1029. "ppapi-flash-version",
  1030. "ppapi-in-process",
  1031. "ppapi-plugin-launcher",
  1032. "ppapi-startup-dialog",
  1033. "ppapi-subpixel-rendering-setting",
  1034. "/prefetch:1",
  1035. "/prefetch:2",
  1036. "/prefetch:3",
  1037. "/prefetch:4",
  1038. "/prefetch:5",
  1039. "/prefetch:6",
  1040. "/prefetch:8",
  1041. "previous-app",
  1042. "primary",
  1043. "print-to-pdf",
  1044. "privet-ipv6-only",
  1045. "process-per-site",
  1046. "process-per-tab",
  1047. "product-version",
  1048. "profile-directory",
  1049. "profiler-timing",
  1050. "profiling-at-start",
  1051. "profiling-file",
  1052. "profiling-flush",
  1053. "progress-bar-animation",
  1054. "progress-bar-completion",
  1055. "prompt-for-external-extensions",
  1056. "proxy-auto-detect",
  1057. "proxy-bypass-list",
  1058. "proxy-pac-url",
  1059. "proxy-server",
  1060. "pull-to-refresh",
  1061. "q",
  1062. "rdp_desktop_session",
  1063. "reader-mode-feedback",
  1064. "reader-mode-heuristics",
  1065. "rebaseline-pixel-tests",
  1066. "record-type",
  1067. "reduced-referrer-granularity",
  1068. "reduce-security-for-testing",
  1069. "register-font-files",
  1070. "register-pepper-plugins",
  1071. "relauncher",
  1072. "remote-debugging-address",
  1073. "remote-debugging-port",
  1074. "remote-debugging-socket-fd",
  1075. "remote-debugging-socket-name",
  1076. "remote-debugging-targets",
  1077. "renderer",
  1078. "renderer-client-id",
  1079. "renderer-cmd-prefix",
  1080. "renderer-process-limit",
  1081. "renderer-startup-dialog",
  1082. "renderer-wait-for-java-debugger",
  1083. "renderpass",
  1084. "repl",
  1085. "report-vp9-as-an-unsupported-mime-type",
  1086. "require-audio-hardware-for-testing",
  1087. "reset-app-list-install-state",
  1088. "reset-variation-state",
  1089. "restore-last-session",
  1090. "root",
  1091. "root-layer-scrolls",
  1092. "rtl",
  1093. "run-all-compositor-stages-before-draw",
  1094. "run-layout-test",
  1095. "runtime-deps-list-file",
  1096. "safebrowsing-disable-auto-update",
  1097. "safebrowsing-disable-download-protection",
  1098. "safebrowsing-disable-extension-blacklist",
  1099. "safebrowsing-manual-download-blacklist",
  1100. "SafeSites",
  1101. "sandbox-ipc",
  1102. "save-page-as-mhtml",
  1103. "screen-config",
  1104. "screenshot",
  1105. "script-executable",
  1106. "scripts-require-action",
  1107. "search-provider-logo-url",
  1108. "secondary",
  1109. "secondary-display-layout",
  1110. "secondary-ui-md",
  1111. "service",
  1112. "service-manager",
  1113. "service-name",
  1114. "service-pipe-token",
  1115. "service-request-channel-token",
  1116. "service-runner",
  1117. "shared-files",
  1118. "shill-stub",
  1119. "show-app-list",
  1120. "show-autofill-signatures",
  1121. "show-autofill-type-predictions",
  1122. "show-cert-link",
  1123. "show-component-extension-options",
  1124. "show-composited-layer-borders",
  1125. "show-fps-counter",
  1126. "show-icons",
  1127. "show-layer-animation-bounds",
  1128. "show-login-dev-overlay",
  1129. "show-mac-overlay-borders",
  1130. "show-md-login",
  1131. "show-non-md-login",
  1132. "show-overdraw-feedback",
  1133. "show-paint-rects",
  1134. "show-property-changed-rects",
  1135. "show-saved-copy",
  1136. "show-screenspace-rects",
  1137. "show-surface-damage-rects",
  1138. "silent-debugger-extension-api",
  1139. "silent-launch",
  1140. "simulate-critical-update",
  1141. "simulate-elevated-recovery",
  1142. "simulate-outdated",
  1143. "simulate-outdated-no-au",
  1144. "simulate-upgrade",
  1145. "single-process",
  1146. "site-per-process",
  1147. "skip-gpu-data-loading",
  1148. "skip-nostore-all",
  1149. "skip-nostore-main",
  1150. "skip-reencoding-on-skp-capture",
  1151. "slow",
  1152. "slow-connections-only",
  1153. "slow-down-compositing-scale-factor",
  1154. "slow-down-raster-scale-factor",
  1155. "sms-test-messages",
  1156. "spdy-proxy-auth-fallback",
  1157. "spdy-proxy-auth-origin",
  1158. "spdy-proxy-auth-value",
  1159. "spelling-service-feedback-interval-seconds",
  1160. "spelling-service-feedback-url",
  1161. "spurious-power-button-accel-count",
  1162. "spurious-power-button-keyboard-accel",
  1163. "spurious-power-button-lid-angle-change",
  1164. "spurious-power-button-screen-accel",
  1165. "spurious-power-button-window",
  1166. "ssl-key-log-file",
  1167. "ssl-version-max",
  1168. "ssl-version-min",
  1169. "stable-release-mode",
  1170. "started",
  1171. "start-fullscreen",
  1172. "start-maximized",
  1173. "start-stack-profiler",
  1174. "stub",
  1175. "stub-cros-settings",
  1176. "surface",
  1177. "swiftshader",
  1178. "swiftshader-webgl",
  1179. "sync-allow-insecure-xmpp-connection",
  1180. "sync-deferred-startup-timeout-seconds",
  1181. "sync-disable-deferred-startup",
  1182. "sync-enable-get-update-avoidance",
  1183. "sync-notification-host-port",
  1184. "sync-on-draw-hardware",
  1185. "sync-short-initial-retry-override",
  1186. "sync-short-nudge-delay-for-test",
  1187. "sync-url",
  1188. "system-developer-mode",
  1189. "system-log-upload-frequency",
  1190. "tab-management-experiment-type-disabled",
  1191. "tab-management-experiment-type-elderberry",
  1192. "task-manager-show-extra-renderers",
  1193. "task-profiler",
  1194. "team-drives",
  1195. "test-auto-update-ui",
  1196. "test-child-process",
  1197. "test-cros-gaia-id-migration",
  1198. "test-do-not-initialize-icu",
  1199. "test-encryption-migration-ui",
  1200. "test-gl-lib",
  1201. "testing-fixed-http-port",
  1202. "testing-fixed-https-port",
  1203. "test-launcher-batch-limit",
  1204. "test-launcher-bot-mode",
  1205. "test-launcher-debug-launcher",
  1206. "test-launcher-filter-file",
  1207. "test-launcher-force-run-broken-tests",
  1208. "test-launcher-jobs",
  1209. "test-launcher-list-tests",
  1210. "test-launcher-output",
  1211. "test-launcher-print-test-stdio",
  1212. "test-launcher-print-writable-path",
  1213. "test-launcher-retry-limit",
  1214. "test-launcher-shard-index",
  1215. "test-launcher-summary-output",
  1216. "test-launcher-test-part-results-limit",
  1217. "test-launcher-timeout",
  1218. "test-launcher-total-shards",
  1219. "test-launcher-trace",
  1220. "test-name",
  1221. "test-tiny-timeout",
  1222. "test-type",
  1223. "tether-stub",
  1224. "third-party-doodle-url",
  1225. "threads",
  1226. "time",
  1227. "timeout",
  1228. "tls1",
  1229. "tls1.1",
  1230. "tls1.2",
  1231. "tls1.3",
  1232. "tls13-variant",
  1233. "top-chrome-md",
  1234. "top-controls-hide-threshold",
  1235. "top-controls-show-threshold",
  1236. "touch-calibration",
  1237. "touch-devices",
  1238. "touch-events",
  1239. "touch-noise-filtering",
  1240. "touch-selection-strategy",
  1241. "touch_view",
  1242. "trace-config-file",
  1243. "trace-export-events-to-etw",
  1244. "tracelog",
  1245. "trace-shutdown",
  1246. "trace-shutdown-file",
  1247. "trace-startup",
  1248. "trace-startup-duration",
  1249. "trace-startup-file",
  1250. "trace-to-console",
  1251. "trace-to-file",
  1252. "trace-to-file-name",
  1253. "trace-upload-url",
  1254. "translate-ranker-model-url",
  1255. "translate-script-url",
  1256. "translate-security-origin",
  1257. "true",
  1258. "trusted-download-sources",
  1259. "try-chrome-again",
  1260. "try-supported-channel-layouts",
  1261. "type",
  1262. "ui-disable-partial-swap",
  1263. "ui-enable-layer-lists",
  1264. "ui-enable-rgba-4444-textures",
  1265. "ui-enable-zero-copy",
  1266. "ui-prioritize-in-gpu-process",
  1267. "ui-show-composited-layer-borders",
  1268. "ui-show-fps-counter",
  1269. "ui-show-layer-animation-bounds",
  1270. "ui-show-paint-rects",
  1271. "ui-show-property-changed-rects",
  1272. "ui-show-screenspace-rects",
  1273. "ui-show-surface-damage-rects",
  1274. "ui-slow-animations",
  1275. "ui-test-action-max-timeout",
  1276. "ui-test-action-timeout",
  1277. "uninstall",
  1278. "unlimited-storage",
  1279. "unsafely-allow-protected-media-identifier-for-domain",
  1280. "unsafely-treat-insecure-origin-as-secure",
  1281. "unsafe-pac-url",
  1282. "use-angle",
  1283. "use-cras",
  1284. "use-fake-device-for-media-stream",
  1285. "use-fake-jpeg-decode-accelerator",
  1286. "use-fake-ui-for-media-stream",
  1287. "use-file-for-fake-audio-capture",
  1288. "use-file-for-fake-video-capture",
  1289. "use-first-display-as-internal",
  1290. "use-gl",
  1291. "use-gpu-in-tests",
  1292. "use-ime-service",
  1293. "use-mobile-user-agent",
  1294. "use-mock-keychain",
  1295. "use-passthrough-cmd-decoder",
  1296. "user-agent",
  1297. "user-always-affiliated",
  1298. "user-data-dir",
  1299. "user-gesture-required",
  1300. "user-gesture-required-for-cross-origin",
  1301. "use-skia-renderer",
  1302. "use-system-default-printer",
  1303. "use-test-config",
  1304. "use-viz-hit-test",
  1305. "utility",
  1306. "utility-allowed-dir",
  1307. "utility-cmd-prefix",
  1308. "utility-run-elevated",
  1309. "utility-sandbox-type",
  1310. "utility-startup-dialog",
  1311. "v",
  1312. "v2-sandbox",
  1313. "v2-sandbox-enabled",
  1314. "v8-cache-options",
  1315. "v8-cache-strategies-for-cache-storage",
  1316. "validate-crx",
  1317. "validate-input-event-stream",
  1318. "variations-override-country",
  1319. "variations-server-url",
  1320. "version",
  1321. "video-image-texture-target",
  1322. "video-threads",
  1323. "video-underflow-threshold-ms",
  1324. "virtual-time-budget",
  1325. "vmodule",
  1326. "voice-interaction-supported-locales",
  1327. "wait-for-debugger",
  1328. "wait-for-debugger-children",
  1329. "wake-on-wifi-packet",
  1330. "wallet-service-use-sandbox",
  1331. "watcher",
  1332. "waveout-buffers",
  1333. "webapk-server-url",
  1334. "webrtc-stun-probe-trial",
  1335. "webview-enable-safebrowsing-support",
  1336. "webview-sandboxed-renderer",
  1337. "whitelisted-extension-id",
  1338. "window-position",
  1339. "windows10-custom-titlebar",
  1340. "window-size",
  1341. "window-workspace",
  1342. "winhttp-proxy-resolver",
  1343. "win-jumplist-action",
  1344. "wm-window-animations-disabled",
  1345. "yield-between-content-script-runs",
  1346. "zygote",
  1347. "zygote-cmd-prefix"
  1348. };
  1349. bool IsBlacklistedArg(const base::CommandLine::CharType* arg) {
  1350. #if defined(OS_WIN)
  1351. const auto converted = base::WideToUTF8(arg);
  1352. const char* a = converted.c_str();
  1353. #else
  1354. const char* a = arg;
  1355. #endif
  1356. static const char* prefixes[] = {"--", "-", "/"};
  1357. int prefix_length = 0;
  1358. for (auto& prefix : prefixes) {
  1359. if (base::StartsWith(a, prefix, base::CompareCase::SENSITIVE)) {
  1360. prefix_length = strlen(prefix);
  1361. break;
  1362. }
  1363. }
  1364. if (prefix_length > 0) {
  1365. a += prefix_length;
  1366. std::string switch_name =
  1367. base::ToLowerASCII(base::StringPiece(a, strcspn(a, "=")));
  1368. for (auto& item : blacklist) {
  1369. if (switch_name == item)
  1370. return true;
  1371. }
  1372. }
  1373. return false;
  1374. }
  1375. } // namespace
  1376. namespace atom {
  1377. bool CheckCommandLineArguments(int argc, base::CommandLine::CharType** argv) {
  1378. const base::CommandLine::StringType dashdash(2, '-');
  1379. bool block_blacklisted_args = false;
  1380. for (int i = 0; i < argc; ++i) {
  1381. if (argv[i] == dashdash)
  1382. break;
  1383. if (block_blacklisted_args) {
  1384. if (IsBlacklistedArg(argv[i]))
  1385. return false;
  1386. } else if (IsUrlArg(argv[i])) {
  1387. block_blacklisted_args = true;
  1388. }
  1389. }
  1390. return true;
  1391. }
  1392. } // namespace atom