123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437 |
- // Copyright (c) 2018 GitHub, Inc.
- // Use of this source code is governed by the MIT license that can be
- // found in the LICENSE file.
- #include "atom/app/command_line_args.h"
- #include <algorithm>
- #include <string>
- #include "base/strings/string_util.h"
- #include "base/strings/utf_string_conversions.h"
- #include "content/public/common/content_switches.h"
- namespace {
- bool IsUrlArg(const base::CommandLine::CharType* arg) {
- // the first character must be a letter for this to be a URL
- auto c = *arg;
- if (('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z')) {
- for (auto p = arg + 1; *p; ++p) {
- c = *p;
- // colon indicates that the argument starts with a URI scheme
- if (c == ':') {
- // it could also be a Windows filesystem path
- if (p == arg + 1)
- break;
- return true;
- }
- // white-space before a colon means it's not a URL
- if (c == ' ' || (0x9 <= c && c <= 0xD))
- break;
- }
- }
- return false;
- }
- /*
- * The blacklist of command line switches, must be sorted.
- * Update the list by pasting the following command into bash
- * in libchromiumcontent/src/:
- (find ./ \( -name "*switches.cc" -o -name "*switch_list.h" \) | \
- xargs grep -P --no-filename '"\S+"[);]$' | \
- perl -pe 's|^.*?"(\S+)"[);]$| "$1",|'; \
- echo ' "inspect",'; \
- echo ' "inspect-brk",') | \
- LANG="C" sort | \
- uniq > blacklist-switches.txt
- */
- const char* kBlacklist[] = {
- "/prefetch:1",
- "/prefetch:2",
- "/prefetch:3",
- "/prefetch:4",
- "/prefetch:5",
- "/prefetch:6",
- "/prefetch:8",
- "0",
- "?",
- "BlacklistOnly",
- "ChromeOSMemoryPressureHandling",
- "Disabled",
- "OnlineCheckOnly",
- "SafeSites",
- "accept-resource-provider",
- "account-consistency",
- "adaboost",
- "aec-refined-adaptive-filter",
- "agc-startup-min-volume",
- "aggressive",
- "aggressive-cache-discard",
- "aggressive-tab-discard",
- "all-toolchains",
- "allarticles",
- "allow-cross-origin-auth-prompt",
- "allow-external-pages",
- "allow-failed-policy-fetch-for-test",
- "allow-file-access-from-files",
- "allow-hidden-media-playback",
- "allow-http-background-page",
- "allow-http-screen-capture",
- "allow-insecure-localhost",
- "allow-legacy-extension-manifests",
- "allow-loopback-in-peer-connection",
- "allow-nacl-crxfs-api",
- "allow-nacl-file-handle-api",
- "allow-nacl-socket-api",
- "allow-no-sandbox-job",
- "allow-outdated-plugins",
- "allow-ra-in-dev-mode",
- "allow-running-insecure-content",
- "allow-sandbox-debugging",
- "allow-silent-push",
- "alsa-check-close-timeout",
- "alsa-enable-upsampling",
- "alsa-fixed-output-sample-rate",
- "alsa-input-device",
- "alsa-mute-device-name",
- "alsa-mute-element-name",
- "alsa-output-avail-min",
- "alsa-output-buffer-size",
- "alsa-output-device",
- "alsa-output-period-size",
- "alsa-output-start-threshold",
- "alsa-volume-device-name",
- "alsa-volume-element-name",
- "also-emit-success-logs",
- "alternative",
- "always-authorize-plugins",
- "always-on",
- "always-use-complex-text",
- "alwaystrue",
- "android-fonts-path",
- "android-stderr-port",
- "android-stdin-port",
- "android-stdout-port",
- "angle",
- "app",
- "app-auto-launched",
- "app-id",
- "app-mode-auth-code",
- "app-mode-oauth-token",
- "app-mode-oem-manifest",
- "app-shell-allow-roaming",
- "app-shell-host-window-size",
- "app-shell-preferred-network",
- "app-shell-refresh-token",
- "app-shell-user",
- "apple",
- "apps-gallery-download-url",
- "apps-gallery-update-url",
- "apps-gallery-url",
- "apps-keep-chrome-alive-in-tests",
- "arc-availability",
- "arc-available",
- "arc-start-mode",
- "arc-transition-migration-required",
- "args",
- "artifacts-dir",
- "ash-animate-from-boot-splash-screen",
- "ash-constrain-pointer-to-root",
- "ash-copy-host-background-at-boot",
- "ash-debug-shortcuts",
- "ash-dev-shortcuts",
- "ash-disable-smooth-screen-rotation",
- "ash-disable-touch-exploration-mode",
- "ash-enable-magnifier-key-scroller",
- "ash-enable-mirrored-screen",
- "ash-enable-night-light",
- "ash-enable-palette-on-all-displays",
- "ash-enable-scale-settings-tray",
- "ash-enable-software-mirroring",
- "ash-enable-unified-desktop",
- "ash-estimated-presentation-delay",
- "ash-hide-notifications-for-factory",
- "ash-host-window-bounds",
- "ash-shelf-color",
- "ash-shelf-color-scheme",
- "ash-touch-hud",
- "ash-webui-init",
- "attestation-server",
- "audio-buffer-size",
- "audio-output-channels",
- "aura-legacy-power-button",
- "auth-ext-path",
- "auth-server-whitelist",
- "auth-spnego-account-type",
- "auto",
- "auto-open-devtools-for-tabs",
- "auto-select-desktop-capture-source",
- "autoplay-policy",
- "blink-settings",
- "bootstrap",
- "browser-subprocess-path",
- "browser-test",
- "bwsi",
- "bypass-app-banner-engagement-checks",
- "canvas-msaa-sample-count",
- "cast-initial-screen-height",
- "cast-initial-screen-width",
- "cc-layer-tree-test-long-timeout",
- "cc-layer-tree-test-no-timeout",
- "cc-rebaseline-pixeltests",
- "cellular-first",
- "cellular-only",
- "check-for-update-interval",
- "check-layout-test-sys-deps",
- "child-wallpaper-large",
- "child-wallpaper-small",
- "chrome-home-swipe-logic",
- "cipher-suite-blacklist",
- "clamshell",
- "class",
- "clear-token-service",
- "cloud-print-file",
- "cloud-print-file-type",
- "cloud-print-job-title",
- "cloud-print-print-ticket",
- "cloud-print-setup-proxy",
- "cloud-print-url",
- "cloud-print-xmpp-endpoint",
- "color",
- "compensate-for-unstable-pinch-zoom",
- "compile-shader-always-succeeds",
- "component-updater",
- "connectivity-check-url",
- "conservative",
- "content-image-texture-target",
- "content-shell-host-window-size",
- "controller",
- "crash-dumps-dir",
- "crash-on-failure",
- "crash-on-hang-threads",
- "crash-server-url",
- "crash-test",
- "crashpad-handler",
- "create-browser-on-startup-for-tests",
- "create-default-gl-context",
- "cros-gaia-api-v1",
- "cros-region",
- "cros-regions-mode",
- "crosh-command",
- "cryptauth-http-host",
- "custom-devtools-frontend",
- "custom-launcher-page",
- "custom_summary",
- "d3d11",
- "d3d9",
- "daemon",
- "dark_muted",
- "dark_vibrant",
- "data-path",
- "data-reduction-proxy-config-url",
- "data-reduction-proxy-experiment",
- "data-reduction-proxy-http-proxies",
- "data-reduction-proxy-lo-fi",
- "data-reduction-proxy-pingback-url",
- "data-reduction-proxy-secure-proxy-check-url",
- "data-reduction-proxy-server-experiments-disabled",
- "dbus-stub",
- "debug-devtools",
- "debug-enable-frame-toggle",
- "debug-packed-apps",
- "debug-print",
- "default",
- "default-background-color",
- "default-tile-height",
- "default-tile-width",
- "default-wallpaper-is-oem",
- "default-wallpaper-large",
- "default-wallpaper-small",
- "delay-reload-stop-button-change",
- "demo",
- "derelict-detection-timeout",
- "derelict-idle-timeout",
- "desktop",
- "desktop-window-1080p",
- "deterministic-fetch",
- "device-management-url",
- "device-scale-factor",
- "devtools-flags",
- "diagnostics",
- "diagnostics-format",
- "diagnostics-recovery",
- "dice",
- "disable",
- "disable-2d-canvas-clip-aa",
- "disable-2d-canvas-image-chromium",
- "disable-3d-apis",
- "disable-accelerated-2d-canvas",
- "disable-accelerated-jpeg-decoding",
- "disable-accelerated-mjpeg-decode",
- "disable-accelerated-video-decode",
- "disable-app-info-dialog-mac",
- "disable-app-list-dismiss-on-blur",
- "disable-app-window-cycling",
- "disable-appcontainer",
- "disable-arc-data-wipe",
- "disable-arc-opt-in-verification",
- "disable-audio-support-for-desktop-share",
- "disable-avfoundation-overlays",
- "disable-background-networking",
- "disable-background-timer-throttling",
- "disable-backgrounding-occluded-windows",
- "disable-backing-store-limit",
- "disable-blink-features",
- "disable-bookmark-reordering",
- "disable-boot-animation",
- "disable-breakpad",
- "disable-browser-task-scheduler",
- "disable-bundled-ppapi-flash",
- "disable-canvas-aa",
- "disable-captive-portal-bypass-proxy",
- "disable-cast-streaming-hw-encoding",
- "disable-checker-imaging",
- "disable-clear-browsing-data-counters",
- "disable-client-side-phishing-detection",
- "disable-cloud-import",
- "disable-component-cloud-policy",
- "disable-component-extensions-with-background-pages",
- "disable-component-update",
- "disable-composited-antialiasing",
- "disable-contextual-search",
- "disable-d3d11",
- "disable-databases",
- "disable-datasaver-prompt",
- "disable-default-apps",
- "disable-demo-mode",
- "disable-device-disabling",
- "disable-device-discovery-notifications",
- "disable-dinosaur-easter-egg",
- "disable-direct-composition",
- "disable-direct-composition-layers",
- "disable-directwrite-for-ui",
- "disable-display-color-calibration",
- "disable-display-list-2d-canvas",
- "disable-distance-field-text",
- "disable-domain-blocking-for-3d-apis",
- "disable-domain-reliability",
- "disable-drive-search-in-app-launcher",
- "disable-dwm-composition",
- "disable-encryption-migration",
- "disable-eol-notification",
- "disable-es3-apis",
- "disable-es3-gl-context",
- "disable-extensions",
- "disable-extensions-except",
- "disable-extensions-file-access-check",
- "disable-extensions-http-throttling",
- "disable-fast-web-scroll-view-insets",
- "disable-features",
- "disable-field-trial-config",
- "disable-file-manager-touch-mode",
- "disable-file-system",
- "disable-flash-3d",
- "disable-flash-stage3d",
- "disable-fullscreen-low-power-mode",
- "disable-fullscreen-tab-detaching",
- "disable-gaia-services",
- "disable-gesture-editing",
- "disable-gesture-requirement-for-presentation",
- "disable-gesture-typing",
- "disable-gl-drawing-for-tests",
- "disable-gl-error-limit",
- "disable-gl-extensions",
- "disable-glsl-translator",
- "disable-gpu",
- "disable-gpu-compositing",
- "disable-gpu-driver-bug-workarounds",
- "disable-gpu-early-init",
- "disable-gpu-memory-buffer-compositor-resources",
- "disable-gpu-memory-buffer-video-frames",
- "disable-gpu-process-crash-limit",
- "disable-gpu-program-cache",
- "disable-gpu-rasterization",
- "disable-gpu-sandbox",
- "disable-gpu-shader-disk-cache",
- "disable-gpu-vsync",
- "disable-gpu-watchdog",
- "disable-hang-monitor",
- "disable-hid-detection-on-oobe",
- "disable-histogram-customizer",
- "disable-hosted-app-shim-creation",
- "disable-hosted-apps-in-windows",
- "disable-http2",
- "disable-in-process-stack-traces",
- "disable-infobars",
- "disable-input-ime-api",
- "disable-input-view",
- "disable-ios-password-generation",
- "disable-ios-password-suggestions",
- "disable-ios-physical-web",
- "disable-javascript-harmony-shipping",
- "disable-kill-after-bad-ipc",
- "disable-lcd-text",
- "disable-legacy-window",
- "disable-local-storage",
- "disable-lock-screen-apps",
- "disable-logging",
- "disable-logging-redirect",
- "disable-login-animations",
- "disable-login-screen-apps",
- "disable-low-end-device-mode",
- "disable-low-latency-dxva",
- "disable-low-res-tiling",
- "disable-lru-snapshot-cache",
- "disable-mac-overlays",
- "disable-mac-views-native-app-windows",
- "disable-machine-cert-request",
- "disable-main-frame-before-activation",
- "disable-md-error-screen",
- "disable-md-oobe",
- "disable-media-session-api",
- "disable-media-suspend",
- "disable-merge-key-char-events",
- "disable-mojo-local-storage",
- "disable-mojo-renderer",
- "disable-mtp-write-support",
- "disable-multi-display-layout",
- "disable-namespace-sandbox",
- "disable-native-gpu-memory-buffers",
- "disable-network-portal-notification",
- "disable-new-channel-switcher-ui",
- "disable-new-korean-ime",
- "disable-new-virtual-keyboard-behavior",
- "disable-new-zip-unpacker",
- "disable-notifications",
- "disable-ntp-most-likely-favicons-from-server",
- "disable-ntp-popular-sites",
- "disable-nv12-dxgi-video",
- "disable-offer-store-unmasked-wallet-cards",
- "disable-offer-upload-credit-cards",
- "disable-office-editing-component-extension",
- "disable-offline-auto-reload",
- "disable-offline-auto-reload-visible-only",
- "disable-origin-trial-controlled-blink-features",
- "disable-overscroll-edge-effect",
- "disable-panel-fitting",
- "disable-partial-raster",
- "disable-password-generation",
- "disable-pepper-3d",
- "disable-pepper-3d-image-chromium",
- "disable-permission-action-reporting",
- "disable-permissions-api",
- "disable-physical-keyboard-autocorrect",
- "disable-pinch",
- "disable-pnacl-crash-throttling",
- "disable-popup-blocking",
- "disable-prefer-compositing-to-lcd-text",
- "disable-presentation-api",
- "disable-print-preview",
- "disable-prompt-on-repost",
- "disable-proximity-auth-bluetooth-low-energy-discovery",
- "disable-pull-to-refresh-effect",
- "disable-push-api-background-mode",
- "disable-quic",
- "disable-reading-from-canvas",
- "disable-remote-core-animation",
- "disable-remote-fonts",
- "disable-remote-playback-api",
- "disable-renderer-accessibility",
- "disable-renderer-backgrounding",
- "disable-renderer-priority-management",
- "disable-request-mobile-site",
- "disable-resize-lock",
- "disable-rgba-4444-textures",
- "disable-rollback-option",
- "disable-rtc-smoothness-algorithm",
- "disable-screen-orientation-lock",
- "disable-search-geolocation-disclosure",
- "disable-seccomp-filter-sandbox",
- "disable-settings-window",
- "disable-setuid-sandbox",
- "disable-shader-name-hashing",
- "disable-shared-workers",
- "disable-signin-promo",
- "disable-signin-scoped-device-id",
- "disable-single-click-autofill",
- "disable-skia-runtime-opts",
- "disable-slim-navigation-manager",
- "disable-slimming-paint-invalidation",
- "disable-smooth-scrolling",
- "disable-software-rasterizer",
- "disable-speech-api",
- "disable-suggestions-ui",
- "disable-sync",
- "disable-sync-app-list",
- "disable-sync-types",
- "disable-system-timezone-automatic-detection",
- "disable-tab-for-desktop-share",
- "disable-tab-strip-autoscroll-new-tabs",
- "disable-third-party-keyboard-workaround",
- "disable-threaded-animation",
- "disable-threaded-compositing",
- "disable-threaded-scrolling",
- "disable-touch-adjustment",
- "disable-touch-drag-drop",
- "disable-translate-new-ux",
- "disable-usb-keyboard-detect",
- "disable-v8-idle-tasks",
- "disable-vaapi-accelerated-video-encode",
- "disable-virtual-keyboard-overscroll",
- "disable-voice-input",
- "disable-volume-adjust-sound",
- "disable-wake-on-wifi",
- "disable-web-notification-custom-layouts",
- "disable-web-security",
- "disable-webgl",
- "disable-webgl-image-chromium",
- "disable-webrtc-encryption",
- "disable-webrtc-hw-decoding",
- "disable-webrtc-hw-encoding",
- "disable-win32k-lockdown",
- "disable-xss-auditor",
- "disable-zero-browsers-open-for-tests",
- "disable-zero-copy",
- "disable-zero-copy-dxgi-video",
- "disabled",
- "disabled-new-style-notification",
- "disallow-non-exact-resource-reuse",
- "disk-cache-dir",
- "disk-cache-size",
- "display",
- "dmg-device",
- "dns-log-details",
- "document-user-activation-required",
- "dom-automation",
- "dotfile",
- "draft",
- "draw-view-bounds-rects",
- "duck-flash",
- "dump-blink-runtime-call-stats",
- "dump-browser-histograms",
- "dump-dom",
- "eafe-path",
- "eafe-url",
- "easy-unlock-app-path",
- "edge-touch-filtering",
- "egl",
- "elevate",
- "embedded-extension-options",
- "emphasize-titles-in-omnibox-dropdown",
- "emulate-shader-precision",
- "enable-accelerated-2d-canvas",
- "enable-accelerated-vpx-decode",
- "enable-accessibility-tab-switcher",
- "enable-adaptive-selection-handle-orientation",
- "enable-aggressive-domstorage-flushing",
- "enable-android-wallpapers-app",
- "enable-app-info-dialog-mac",
- "enable-app-list",
- "enable-app-window-cycling",
- "enable-appcontainer",
- "enable-arc",
- "enable-arc-oobe-optin",
- "enable-audio-debug-recordings-from-extension",
- "enable-audio-focus",
- "enable-automation",
- "enable-benchmarking",
- "enable-ble-advertising-in-apps",
- "enable-blink-features",
- "enable-bookmark-reordering",
- "enable-bookmark-undo",
- "enable-browser-side-navigation",
- "enable-browser-task-scheduler",
- "enable-checker-imaging",
- "enable-chromevox-arc-support",
- "enable-clear-browsing-data-counters",
- "enable-cloud-print-proxy",
- "enable-cloud-print-xps",
- "enable-consumer-kiosk",
- "enable-contextual-search",
- "enable-crash-reporter",
- "enable-crash-reporter-for-testing",
- "enable-crx-hash-check",
- "enable-data-reduction-proxy-bypass-warning",
- "enable-data-reduction-proxy-force-pingback",
- "enable-data-reduction-proxy-lite-page",
- "enable-data-reduction-proxy-savings-promo",
- "enable-datasaver-prompt",
- "enable-device-discovery-notifications",
- "enable-devtools-experiments",
- "enable-direct-composition-layers",
- "enable-display-list-2d-canvas",
- "enable-distance-field-text",
- "enable-distillability-service",
- "enable-dom-distiller",
- "enable-domain-reliability",
- "enable-drive-search-in-app-launcher",
- "enable-drm-atomic",
- "enable-embedded-extension-options",
- "enable-encryption-migration",
- "enable-encryption-selection",
- "enable-es3-apis",
- "enable-exclusive-audio",
- "enable-experimental-accessibility-features",
- "enable-experimental-canvas-features",
- "enable-experimental-extension-apis",
- "enable-experimental-fullscreen-exit-ui",
- "enable-experimental-input-view-features",
- "enable-experimental-web-platform-features",
- "enable-extension-activity-log-testing",
- "enable-extension-activity-logging",
- "enable-extension-assets-sharing",
- "enable-fast-unload",
- "enable-fast-web-scroll-view-insets",
- "enable-features",
- "enable-file-manager-touch-mode",
- "enable-first-run-ui-transitions",
- "enable-floating-virtual-keyboard",
- "enable-font-antialiasing",
- "enable-fullscreen-tab-detaching",
- "enable-fullscreen-toolbar-reveal",
- "enable-google-branded-context-menu",
- "enable-gpu-async-worker-context",
- "enable-gpu-benchmarking",
- "enable-gpu-client-logging",
- "enable-gpu-client-tracing",
- "enable-gpu-command-logging",
- "enable-gpu-debugging",
- "enable-gpu-driver-debug-logging",
- "enable-gpu-memory-buffer-compositor-resources",
- "enable-gpu-memory-buffer-video-frames",
- "enable-gpu-rasterization",
- "enable-gpu-service-logging",
- "enable-gpu-service-tracing",
- "enable-hardware-overlays",
- "enable-harfbuzz-rendertext",
- "enable-hdr",
- "enable-heap-profiling",
- "enable-hosted-app-quit-notification",
- "enable-hosted-apps-in-windows",
- "enable-hotword-hardware",
- "enable-hung-renderer-infobar",
- "enable-inband-text-tracks",
- "enable-input-ime-api",
- "enable-internal-media-session",
- "enable-ios-handoff-to-other-devices",
- "enable-ios-password-generation",
- "enable-ios-physical-web",
- "enable-layer-lists",
- "enable-lcd-text",
- "enable-leak-detection",
- "enable-local-file-accesses",
- "enable-local-sync-backend",
- "enable-logging",
- "enable-longpress-drag-selection",
- "enable-low-end-device-mode",
- "enable-low-res-tiling",
- "enable-lru-snapshot-cache",
- "enable-mac-views-native-app-windows",
- "enable-main-frame-before-activation",
- "enable-md-feedback",
- "enable-md-policy-page",
- "enable-media-suspend",
- "enable-merge-key-char-events",
- "enable-message-center-always-scroll-up-upon-notification-removal",
- "enable-nacl",
- "enable-nacl-debug",
- "enable-nacl-nonsfi-mode",
- "enable-native-gpu-memory-buffers",
- "enable-natural-scroll-default",
- "enable-navigation-tracing",
- "enable-net-benchmarking",
- "enable-network-information-downlink-max",
- "enable-network-portal-notification",
- "enable-new-app-menu-icon",
- "enable-ntp-most-likely-favicons-from-server",
- "enable-ntp-popular-sites",
- "enable-ntp-search-engine-country-detection",
- "enable-offer-store-unmasked-wallet-cards",
- "enable-offer-upload-credit-cards",
- "enable-offline-auto-reload",
- "enable-offline-auto-reload-visible-only",
- "enable-osk-overscroll",
- "enable-override-bookmarks-ui",
- "enable-partial-raster",
- "enable-password-generation",
- "enable-pepper-testing",
- "enable-permission-action-reporting",
- "enable-physical-keyboard-autocorrect",
- "enable-picture-in-picture",
- "enable-pinch",
- "enable-pixel-output-in-tests",
- "enable-plugin-placeholder-testing",
- "enable-potentially-annoying-security-features",
- "enable-power-overlay",
- "enable-precise-memory-info",
- "enable-prefer-compositing-to-lcd-text",
- "enable-print-browser",
- "enable-print-preview-register-promos",
- "enable-profile-shortcut-manager",
- "enable-profiling",
- "enable-push-api-background-mode",
- "enable-quic",
- "enable-reader-mode-toolbar-icon",
- "enable-refresh-token-annotation-request",
- "enable-request-tablet-site",
- "enable-rgba-4444-textures",
- "enable-sandbox",
- "enable-sandbox-logging",
- "enable-screenshot-testing-with-mode",
- "enable-scripts-require-action",
- "enable-scroll-prediction",
- "enable-service-manager-tracing",
- "enable-settings-window",
- "enable-sgi-video-sync",
- "enable-signin-promo",
- "enable-single-click-autofill",
- "enable-site-settings",
- "enable-skia-benchmarking",
- "enable-slim-navigation-manager",
- "enable-slimming-paint-invalidation",
- "enable-slimming-paint-v2",
- "enable-smooth-scrolling",
- "enable-spatial-navigation",
- "enable-spdy-proxy-auth",
- "enable-speech-dispatcher",
- "enable-spelling-feedback-field-trial",
- "enable-spotlight-actions",
- "enable-stats-collection-bindings",
- "enable-stats-table",
- "enable-strict-mixed-content-checking",
- "enable-strict-powerful-feature-restrictions",
- "enable-suggestions-ui",
- "enable-suggestions-with-substring-match",
- "enable-supervised-user-managed-bookmarks-folder",
- "enable-surface-synchronization",
- "enable-swap-buffers-with-bounds",
- "enable-sync-app-list",
- "enable-sync-articles",
- "enable-tab-audio-muting",
- "enable-tablet-splitview",
- "enable-tcp-fastopen",
- "enable-third-party-keyboard-workaround",
- "enable-threaded-compositing",
- "enable-threaded-texture-mailboxes",
- "enable-tile-compression",
- "enable-touch-calibration-setting",
- "enable-touch-drag-drop",
- "enable-touchpad-three-finger-click",
- "enable-touchview",
- "enable-trace-app-source",
- "enable-tracing",
- "enable-tracing-output",
- "enable-translate-new-ux",
- "enable-ui-devtools",
- "enable-use-zoom-for-dsf",
- "enable-user-controlled-alternate-protocol-ports",
- "enable-user-metrics",
- "enable-usermedia-screen-capturing",
- "enable-video-player-chromecast-support",
- "enable-viewport",
- "enable-virtual-keyboard",
- "enable-voice-interaction",
- "enable-vtune-support",
- "enable-vulkan",
- "enable-wayland-server",
- "enable-web-notification-custom-layouts",
- "enable-webfonts-intervention-trigger",
- "enable-webfonts-intervention-v2",
- "enable-webgl-draft-extensions",
- "enable-webgl-image-chromium",
- "enable-webrtc-event-logging-from-extension",
- "enable-webrtc-srtp-aes-gcm",
- "enable-webrtc-stun-origin",
- "enable-webview-finch",
- "enable-webvr",
- "enable-wifi-credential-sync",
- "enable-win7-webrtc-hw-h264-decoding",
- "enable-zero-copy",
- "enable-zip-archiver-on-file-manager",
- "enabled",
- "enabled-2g",
- "enabled-3g",
- "enabled-new-style-notification",
- "enabled-slow2g",
- "encode-binary",
- "enforce",
- "enforce-gl-minimums",
- "enforce-webrtc-ip-permission-check",
- "enforce_strict",
- "enterprise-disable-arc",
- "enterprise-enable-forced-re-enrollment",
- "enterprise-enable-license-type-selection",
- "enterprise-enable-zero-touch-enrollment",
- "enterprise-enrollment-initial-modulus",
- "enterprise-enrollment-modulus-limit",
- "error-console",
- "experiment",
- "explicitly-allowed-ports",
- "expose-internals-for-testing",
- "extension-content-verification",
- "extension-process",
- "extensions-install-verification",
- "extensions-multi-account",
- "extensions-not-webstore",
- "extensions-on-chrome-urls",
- "extensions-update-frequency",
- "extra-search-query-params",
- "fail-on-unused-args",
- "fake-variations-channel",
- "false",
- "fast",
- "fast-start",
- "feedback-server",
- "field-trial-handle",
- "first-exec-after-boot",
- "flag-switches-begin",
- "flag-switches-end",
- "font-cache-shared-handle",
- "force-android-app-mode",
- "force-app-mode",
- "force-clamshell-power-button",
- "force-color-profile",
- "force-desktop-ios-promotion",
- "force-dev-mode-highlighting",
- "force-device-scale-factor",
- "force-display-list-2d-canvas",
- "force-effective-connection-type",
- "force-enable-metrics-reporting",
- "force-enable-stylus-tools",
- "force-fieldtrial-params",
- "force-fieldtrials",
- "force-first-run",
- "force-first-run-ui",
- "force-gpu-mem-available-mb",
- "force-gpu-rasterization",
- "force-happiness-tracking-system",
- "force-load-easy-unlock-app-in-tests",
- "force-local-ntp",
- "force-login-manager-in-tests",
- "force-mediafoundation",
- "force-overlay-fullscreen-video",
- "force-password-reauth",
- "force-pnacl-subzero",
- "force-renderer-accessibility",
- "force-show-update-menu-badge",
- "force-show-update-menu-item",
- "force-system-compositor-mode",
- "force-tablet-mode",
- "force-text-direction",
- "force-ui-direction",
- "force-variation-ids",
- "force-video-overlays",
- "force-wave-audio",
- "force-webrtc-ip-handling-policy",
- "full-memory-crash-report",
- "gaia-url",
- "gcm-checkin-url",
- "gcm-mcs-endpoint",
- "gcm-registration-url",
- "generate-accessibility-test-expectations",
- "gl",
- "gl-composited-overlay-candidate-quad-border",
- "gl-shader-interm-output",
- "gles",
- "golden-screenshots-dir",
- "google-apis-url",
- "google-base-url",
- "google-doodle-url",
- "google-url",
- "gpu-active-device-id",
- "gpu-active-vendor-id",
- "gpu-device-id",
- "gpu-driver-bug-workarounds",
- "gpu-driver-date",
- "gpu-driver-vendor",
- "gpu-driver-version",
- "gpu-launcher",
- "gpu-no-complete-info-collection",
- "gpu-no-context-lost",
- "gpu-process",
- "gpu-program-cache-size-kb",
- "gpu-rasterization-msaa-sample-count",
- "gpu-sandbox-allow-sysv-shm",
- "gpu-sandbox-failures-fatal",
- "gpu-sandbox-start-early",
- "gpu-secondary-device-ids",
- "gpu-secondary-vendor-ids",
- "gpu-startup-dialog",
- "gpu-testing-device-id",
- "gpu-testing-driver-date",
- "gpu-testing-gl-renderer",
- "gpu-testing-gl-vendor",
- "gpu-testing-gl-version",
- "gpu-testing-os-version",
- "gpu-testing-secondary-device-ids",
- "gpu-testing-secondary-vendor-ids",
- "gpu-testing-vendor-id",
- "gpu-vendor-id",
- "guest-wallpaper-large",
- "guest-wallpaper-small",
- "h",
- "has-chromeos-diamond-key",
- "has-chromeos-keyboard",
- "has-internal-stylus",
- "headless",
- "help",
- "hide",
- "hide-icons",
- "hide-scrollbars",
- "history-entry-requires-user-gesture",
- "homedir",
- "homepage",
- "host",
- "host-pairing-oobe",
- "host-resolver-rules",
- "host-rules",
- "icu-data-dir",
- "ignore-autocomplete-off-autofill",
- "ignore-autoplay-restrictions",
- "ignore-certificate-errors",
- "ignore-certificate-errors-spki-list",
- "ignore-gpu-blacklist",
- "ignore-urlfetcher-cert-requests",
- "ignore-user-profile-mapping-for-tests",
- "in-process-gpu",
- "incognito",
- "input",
- "inspect",
- "inspect-brk",
- "install-chrome-app",
- "install-supervised-user-whitelists",
- "instant-process",
- "invalidation-use-gcm-channel",
- "ipc-connection-timeout",
- "ipc-dump-directory",
- "ipc-fuzzer-testcase",
- "is-running-in-mash",
- "isolate-origins",
- "isolate-sites-for-testing",
- "javascript-harmony",
- "js-flags",
- "keep-alive-for-test",
- "kiosk",
- "kiosk-printing",
- "lang",
- "last-launched-app",
- "layer",
- "light_muted",
- "light_vibrant",
- "limit-fps",
- "load-and-launch-app",
- "load-apps",
- "load-extension",
- "load-media-router-component-extension",
- "local-heuristics-only-for-password-generation",
- "local-ntp-reload",
- "local-sync-backend-dir",
- "log-gpu-control-list-decisions",
- "log-level",
- "log-net-log",
- "login-manager",
- "login-profile",
- "login-user",
- "lso-url",
- "ltr",
- "main-frame-resizes-are-orientation-changes",
- "make-chrome-default",
- "make-default-browser",
- "managed-user-id",
- "managed-user-sync-token",
- "mark-non-secure-as",
- "markdown",
- "market-url-for-testing",
- "mash",
- "material",
- "material-design-ink-drop-animation-speed",
- "material-hybrid",
- "max-gum-fps",
- "max-output-volume-dba1m",
- "max-untiled-layer-height",
- "max-untiled-layer-width",
- "media-cache-size",
- "mem-pressure-system-reserved-kb",
- "memlog",
- "memlog-pipe",
- "memory-pressure-off",
- "memory-pressure-thresholds",
- "memory-pressure-thresholds-mb",
- "message-center-changes-while-open",
- "metrics-client-id",
- "metrics-recording-only",
- "mhtml-generator-option",
- "mirror",
- "mock",
- "mojo-local-storage",
- "mojo-pipe-token",
- "monitoring-destination-id",
- "mse-audio-buffer-size-limit",
- "mse-video-buffer-size-limit",
- "mus",
- "mus-config",
- "mute-audio",
- "nacl-broker",
- "nacl-dangerous-no-sandbox-nonsfi",
- "nacl-debug-mask",
- "nacl-gdb",
- "nacl-gdb-script",
- "nacl-loader",
- "nacl-loader-nonsfi",
- "native",
- "native-crx-bindings",
- "need-arc-migration-policy-check",
- "net-log-capture-mode",
- "netifs-to-ignore",
- "network-country-iso",
- "network-settings-config",
- "new-window",
- "no-default-browser-check",
- "no-experiments",
- "no-first-run",
- "no-managed-user-acknowledgment-check",
- "no-network-profile-warning",
- "no-pings",
- "no-proxy-server",
- "no-referrers",
- "no-sandbox",
- "no-service-autorun",
- "no-session-id",
- "no-startup-window",
- "no-user-gesture-required",
- "no-wifi",
- "no-zygote",
- "nocolor",
- "noerrdialogs",
- "non-material",
- "non-secure",
- "non-secure-after-editing",
- "non-secure-while-incognito",
- "non-secure-while-incognito-or-editing",
- "none",
- "normal_muted",
- "normal_vibrant",
- "note-taking-app-ids",
- "ntp-snippets-add-incomplete",
- "ntp-switch-to-existing-tab",
- "null",
- "num-raster-threads",
- "oauth2-client-id",
- "oauth2-client-secret",
- "off",
- "on",
- "oobe-bootstrapping-master",
- "oobe-force-show-screen",
- "oobe-guest-session",
- "oobe-skip-postlogin",
- "oobe-timer-interval",
- "open-ash",
- "opengraph",
- "origin-to-force-quic-on",
- "origin-trial-disabled-features",
- "origin-trial-disabled-tokens",
- "origin-trial-public-key",
- "original-process-start-time",
- "osmesa",
- "output",
- "override",
- "override-metrics-upload-url",
- "override-plugin-power-saver-for-testing",
- "override-use-software-gl-for-tests",
- "overscroll-history-navigation",
- "overscroll-start-threshold",
- "ozone-dump-file",
- "ozone-platform",
- "pack-extension",
- "pack-extension-key",
- "parent-profile",
- "parent-window",
- "passive-listeners-default",
- "password-store",
- "permission-request-api-scope",
- "permission-request-api-url",
- "ppapi",
- "ppapi-antialiased-text-enabled",
- "ppapi-broker",
- "ppapi-flash-args",
- "ppapi-flash-path",
- "ppapi-flash-version",
- "ppapi-in-process",
- "ppapi-plugin-launcher",
- "ppapi-startup-dialog",
- "ppapi-subpixel-rendering-setting",
- "prerender-from-omnibox",
- "previous-app",
- "primary",
- "print-to-pdf",
- "privet-ipv6-only",
- "process-per-site",
- "process-per-tab",
- "product-version",
- "profile-directory",
- "profiler-timing",
- "profiling",
- "profiling-at-start",
- "profiling-file",
- "profiling-flush",
- "progress-bar-animation",
- "progress-bar-completion",
- "prompt-for-external-extensions",
- "proxy-auto-detect",
- "proxy-bypass-list",
- "proxy-pac-url",
- "proxy-server",
- "q",
- "quic-connection-options",
- "quic-max-packet-length",
- "quic-version",
- "rdp_desktop_session",
- "reader-mode-feedback",
- "reader-mode-heuristics",
- "rebaseline-pixel-tests",
- "record-type",
- "reduce-security-for-testing",
- "reduced-referrer-granularity",
- "register-font-files",
- "register-pepper-plugins",
- "relauncher",
- "remote-debugging-address",
- "remote-debugging-port",
- "remote-debugging-socket-fd",
- "remote-debugging-socket-name",
- "remote-debugging-targets",
- "renderer",
- "renderer-client-id",
- "renderer-cmd-prefix",
- "renderer-process-limit",
- "renderer-startup-dialog",
- "renderer-wait-for-java-debugger",
- "renderpass",
- "repl",
- "report-vp9-as-an-unsupported-mime-type",
- "require-audio-hardware-for-testing",
- "reset-app-list-install-state",
- "reset-variation-state",
- "restore-last-session",
- "root",
- "root-layer-scrolls",
- "rtl",
- "run-layout-test",
- "runtime-deps-list-file",
- "safebrowsing-disable-auto-update",
- "safebrowsing-disable-download-protection",
- "safebrowsing-disable-extension-blacklist",
- "safebrowsing-manual-download-blacklist",
- "sandbox-ipc",
- "save-page-as-mhtml",
- "screen-config",
- "screenshot",
- "script-executable",
- "scripts-require-action",
- "scroll-end-effect",
- "search-provider-logo-url",
- "secondary",
- "secondary-display-layout",
- "secondary-ui-md",
- "service",
- "service-manager",
- "service-name",
- "service-pipe-token",
- "service-request-channel-token",
- "service-runner",
- "shared-files",
- "shill-stub",
- "show-app-list",
- "show-autofill-signatures",
- "show-autofill-type-predictions",
- "show-cert-link",
- "show-component-extension-options",
- "show-composited-layer-borders",
- "show-fps-counter",
- "show-icons",
- "show-layer-animation-bounds",
- "show-login-dev-overlay",
- "show-mac-overlay-borders",
- "show-md-login",
- "show-non-md-login",
- "show-overdraw-feedback",
- "show-paint-rects",
- "show-property-changed-rects",
- "show-saved-copy",
- "show-screenspace-rects",
- "show-surface-damage-rects",
- "silent-debugger-extension-api",
- "silent-launch",
- "simulate-critical-update",
- "simulate-elevated-recovery",
- "simulate-outdated",
- "simulate-outdated-no-au",
- "simulate-upgrade",
- "single-process",
- "site-per-process",
- "skip-gpu-data-loading",
- "skip-nostore-all",
- "skip-nostore-main",
- "skip-reencoding-on-skp-capture",
- "slow",
- "slow-connections-only",
- "slow-down-raster-scale-factor",
- "sms-test-messages",
- "spdy-proxy-auth-fallback",
- "spdy-proxy-auth-origin",
- "spdy-proxy-auth-value",
- "spelling-service-feedback-interval-seconds",
- "spelling-service-feedback-url",
- "spurious-power-button-accel-count",
- "spurious-power-button-keyboard-accel",
- "spurious-power-button-lid-angle-change",
- "spurious-power-button-screen-accel",
- "spurious-power-button-window",
- "ssl-key-log-file",
- "ssl-version-max",
- "ssl-version-min",
- "stable-release-mode",
- "start-fullscreen",
- "start-maximized",
- "start-stack-profiler",
- "started",
- "stub",
- "stub-cros-settings",
- "supports-dual-gpus",
- "surface",
- "swiftshader",
- "swiftshader-webgl",
- "sync-allow-insecure-xmpp-connection",
- "sync-deferred-startup-timeout-seconds",
- "sync-disable-deferred-startup",
- "sync-enable-get-update-avoidance",
- "sync-notification-host-port",
- "sync-on-draw-hardware",
- "sync-short-initial-retry-override",
- "sync-short-nudge-delay-for-test",
- "sync-url",
- "system-developer-mode",
- "system-log-upload-frequency",
- "tab-management-experiment-type-disabled",
- "tab-management-experiment-type-elderberry",
- "task-profiler",
- "team-drives",
- "test-auto-update-ui",
- "test-child-process",
- "test-cros-gaia-id-migration",
- "test-do-not-initialize-icu",
- "test-encryption-migration-ui",
- "test-gl-lib",
- "test-launcher-batch-limit",
- "test-launcher-bot-mode",
- "test-launcher-debug-launcher",
- "test-launcher-filter-file",
- "test-launcher-force-run-broken-tests",
- "test-launcher-jobs",
- "test-launcher-list-tests",
- "test-launcher-output",
- "test-launcher-print-test-stdio",
- "test-launcher-print-writable-path",
- "test-launcher-retry-limit",
- "test-launcher-shard-index",
- "test-launcher-summary-output",
- "test-launcher-test-part-results-limit",
- "test-launcher-timeout",
- "test-launcher-total-shards",
- "test-launcher-trace",
- "test-name",
- "test-tiny-timeout",
- "test-type",
- "testing-fixed-http-port",
- "testing-fixed-https-port",
- "tether-stub",
- "threads",
- "time",
- "timeout",
- "tls1",
- "tls1.1",
- "tls1.2",
- "tls1.3",
- "tls13-variant",
- "top-chrome-md",
- "top-controls-hide-threshold",
- "top-controls-show-threshold",
- "touch-calibration",
- "touch-devices",
- "touch-events",
- "touch-noise-filtering",
- "touch-selection-strategy",
- "touch_view",
- "trace-config-file",
- "trace-export-events-to-etw",
- "trace-shutdown",
- "trace-shutdown-file",
- "trace-startup",
- "trace-startup-duration",
- "trace-startup-file",
- "trace-to-console",
- "trace-to-file",
- "trace-to-file-name",
- "trace-upload-url",
- "tracelog",
- "translate-ranker-model-url",
- "translate-script-url",
- "translate-security-origin",
- "true",
- "trusted-download-sources",
- "try-chrome-again",
- "try-supported-channel-layouts",
- "type",
- "ui-disable-partial-swap",
- "ui-enable-layer-lists",
- "ui-enable-rgba-4444-textures",
- "ui-enable-zero-copy",
- "ui-prioritize-in-gpu-process",
- "ui-show-composited-layer-borders",
- "ui-show-fps-counter",
- "ui-show-layer-animation-bounds",
- "ui-show-paint-rects",
- "ui-show-property-changed-rects",
- "ui-show-screenspace-rects",
- "ui-show-surface-damage-rects",
- "ui-slow-animations",
- "ui-test-action-max-timeout",
- "ui-test-action-timeout",
- "uninstall",
- "unlimited-storage",
- "unsafe-pac-url",
- "unsafely-allow-protected-media-identifier-for-domain",
- "unsafely-treat-insecure-origin-as-secure",
- "use-angle",
- "use-cras",
- "use-double-buffering",
- "use-fake-device-for-media-stream",
- "use-fake-jpeg-decode-accelerator",
- "use-fake-ui-for-media-stream",
- "use-file-for-fake-audio-capture",
- "use-file-for-fake-video-capture",
- "use-first-display-as-internal",
- "use-gl",
- "use-gpu-in-tests",
- "use-ime-service",
- "use-mobile-user-agent",
- "use-mock-keychain",
- "use-passthrough-cmd-decoder",
- "use-simple-cache-backend",
- "use-system-default-printer",
- "use-test-config",
- "user-agent",
- "user-always-affiliated",
- "user-data-dir",
- "user-gesture-required",
- "user-gesture-required-for-cross-origin",
- "utility",
- "utility-allowed-dir",
- "utility-cmd-prefix",
- "utility-run-elevated",
- "v",
- "v2-sandbox",
- "v2-sandbox-enabled",
- "v8-cache-options",
- "v8-cache-strategies-for-cache-storage",
- "validate-crx",
- "validate-input-event-stream",
- "variations-override-country",
- "variations-server-url",
- "version",
- "video-image-texture-target",
- "video-threads",
- "video-underflow-threshold-ms",
- "virtual-time-budget",
- "vmodule",
- "voice-interaction-supported-locales",
- "wait-for-debugger",
- "wait-for-debugger-children",
- "wake-on-wifi-packet",
- "wallet-service-use-sandbox",
- "watcher",
- "waveout-buffers",
- "webapk-server-url",
- "webrtc-max-cpu-consumption-percentage",
- "webrtc-stun-probe-trial",
- "webview-enable-safebrowsing-support",
- "webview-sandboxed-renderer",
- "whitelisted-extension-id",
- "win-jumplist-action",
- "window-position",
- "window-size",
- "window-workspace",
- "windows10-custom-titlebar",
- "winhttp-proxy-resolver",
- "wm-window-animations-disabled",
- "yield-between-content-script-runs",
- "zygote",
- "zygote-cmd-prefix",
- };
- bool IsBlacklistedArg(const base::CommandLine::CharType* arg) {
- #if defined(OS_WIN)
- const auto converted = base::WideToUTF8(arg);
- const char* a = converted.c_str();
- #else
- const char* a = arg;
- #endif
- static const char* prefixes[] = {"--", "-", "/"};
- int prefix_length = 0;
- for (auto& prefix : prefixes) {
- if (base::StartsWith(a, prefix, base::CompareCase::SENSITIVE)) {
- prefix_length = strlen(prefix);
- break;
- }
- }
- if (prefix_length > 0) {
- a += prefix_length;
- std::string switch_name =
- base::ToLowerASCII(base::StringPiece(a, strcspn(a, "=")));
- return std::binary_search(std::begin(kBlacklist), std::end(kBlacklist),
- switch_name);
- }
- return false;
- }
- } // namespace
- namespace atom {
- bool CheckCommandLineArguments(int argc, base::CommandLine::CharType** argv) {
- DCHECK(std::is_sorted(std::begin(kBlacklist), std::end(kBlacklist),
- [](const char* a, const char* b) {
- return base::StringPiece(a) < base::StringPiece(b);
- }))
- << "The kBlacklist must be in sorted order";
- DCHECK(std::binary_search(std::begin(kBlacklist), std::end(kBlacklist),
- base::StringPiece("inspect")))
- << "Remember to add Node command line flags to kBlacklist";
- const base::CommandLine::StringType dashdash(2, '-');
- bool block_blacklisted_args = false;
- for (int i = 0; i < argc; ++i) {
- if (argv[i] == dashdash)
- break;
- if (block_blacklisted_args) {
- if (IsBlacklistedArg(argv[i]))
- return false;
- } else if (IsUrlArg(argv[i])) {
- block_blacklisted_args = true;
- }
- }
- return true;
- }
- } // namespace atom
|