1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/ipc/chromium/src/chrome/common/chrome_switches.cc Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,439 @@ 1.4 +// Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. 1.5 +// Use of this source code is governed by a BSD-style license that can be 1.6 +// found in the LICENSE file. 1.7 + 1.8 +#include "chrome/common/chrome_switches.h" 1.9 + 1.10 +#include "base/base_switches.h" 1.11 + 1.12 +namespace switches { 1.13 + 1.14 +// Can't find the switch you are looking for? try looking in 1.15 +// base/base_switches.cc instead. 1.16 + 1.17 +// Suppresses hang monitor dialogs in renderer processes. 1.18 +const wchar_t kDisableHangMonitor[] = L"disable-hang-monitor"; 1.19 + 1.20 +// Completely disables UMA metrics system. 1.21 +const wchar_t kDisableMetrics[] = L"disable-metrics"; 1.22 + 1.23 +// Enables the recording of metrics reports but disables reporting. 1.24 +// In contrast to kDisableMetrics, this executes all the code that a normal 1.25 +// client would use for reporting, except the report is dropped rather than sent 1.26 +// to the server. This is useful for finding issues in the metrics code during 1.27 +// UI and performance tests. 1.28 +const wchar_t kMetricsRecordingOnly[] = L"metrics-recording-only"; 1.29 + 1.30 +// Causes the browser process to throw an assertion on startup. 1.31 +const wchar_t kBrowserAssertTest[] = L"assert-test"; 1.32 + 1.33 +// Causes the renderer process to throw an assertion on launch. 1.34 +const wchar_t kRendererAssertTest[] = L"renderer-assert-test"; 1.35 + 1.36 +// Causes the browser process to crash on startup. 1.37 +const wchar_t kBrowserCrashTest[] = L"crash-test"; 1.38 + 1.39 +// Causes the renderer process to crash on launch. 1.40 +const wchar_t kRendererCrashTest[] = L"renderer-crash-test"; 1.41 + 1.42 +// Causes the renderer process to display a dialog on launch. 1.43 +const wchar_t kRendererStartupDialog[] = L"renderer-startup-dialog"; 1.44 + 1.45 +// Causes the plugin process to display a dialog on launch. 1.46 +const wchar_t kPluginStartupDialog[] = L"plugin-startup-dialog"; 1.47 + 1.48 +// Specifies a command that should be used to launch the plugin process. Useful 1.49 +// for running the plugin process through purify or quantify. Ex: 1.50 +// --plugin-launcher="path\to\purify /Run=yes" 1.51 +const wchar_t kPluginLauncher[] = L"plugin-launcher"; 1.52 + 1.53 +// The value of this switch tells the child process which 1.54 +// IPC channel the browser expects to use to communicate with it. 1.55 +const wchar_t kProcessChannelID[] = L"channel"; 1.56 + 1.57 +// The value of this switch tells the app to listen for and broadcast 1.58 +// testing-related messages on IPC channel with the given ID. 1.59 +const wchar_t kTestingChannelID[] = L"testing-channel"; 1.60 + 1.61 +// The value of this switch specifies which page will be displayed 1.62 +// in newly-opened tabs. We need this for testing purposes so 1.63 +// that the UI tests don't depend on what comes up for http://google.com. 1.64 +const wchar_t kHomePage[] = L"homepage"; 1.65 + 1.66 +// Causes the process to run as renderer instead of as browser. 1.67 +const wchar_t kRendererProcess[] = L"renderer"; 1.68 + 1.69 +// Path to the exe to run for the renderer and plugin subprocesses. 1.70 +const wchar_t kBrowserSubprocessPath[] = L"browser-subprocess-path"; 1.71 + 1.72 +// Causes the process to run as a plugin subprocess. 1.73 +const wchar_t kPluginProcess[] = L"plugin"; 1.74 + 1.75 +// Causes the process to run as a worker subprocess. 1.76 +const wchar_t kWorkerProcess[] = L"worker"; 1.77 + 1.78 +// Runs the renderer and plugins in the same process as the browser 1.79 +const wchar_t kSingleProcess[] = L"single-process"; 1.80 + 1.81 +// Runs each set of script-connected tabs (i.e., a BrowsingInstance) in its own 1.82 +// renderer process. We default to using a renderer process for each 1.83 +// site instance (i.e., group of pages from the same registered domain with 1.84 +// script connections to each other). 1.85 +const wchar_t kProcessPerTab[] = L"process-per-tab"; 1.86 + 1.87 +// Runs a single process for each site (i.e., group of pages from the same 1.88 +// registered domain) the user visits. We default to using a renderer process 1.89 +// for each site instance (i.e., group of pages from the same registered 1.90 +// domain with script connections to each other). 1.91 +const wchar_t kProcessPerSite[] = L"process-per-site"; 1.92 + 1.93 +// Runs plugins inside the renderer process 1.94 +const wchar_t kInProcessPlugins[] = L"in-process-plugins"; 1.95 + 1.96 +// Runs the renderer outside the sandbox. 1.97 +const wchar_t kNoSandbox[] = L"no-sandbox"; 1.98 + 1.99 +// Runs the plugin processes inside the sandbox. 1.100 +const wchar_t kSafePlugins[] = L"safe-plugins"; 1.101 + 1.102 +// Excludes these plugins from the plugin sandbox. 1.103 +// This is a comma-separated list of plugin library names and activex clsid. 1.104 +const wchar_t kTrustedPlugins[] = L"trusted-plugins"; 1.105 + 1.106 +// Runs the security test for the sandbox. 1.107 +const wchar_t kTestSandbox[] = L"test-sandbox"; 1.108 + 1.109 +// Specifies the user data directory, which is where the browser will look 1.110 +// for all of its state. 1.111 +const wchar_t kUserDataDir[] = L"user-data-dir"; 1.112 + 1.113 +// Specifies the plugin data directory, which is where plugins (Gears 1.114 +// specifically) will store its state. 1.115 +const wchar_t kPluginDataDir[] = L"plugin-data-dir"; 1.116 + 1.117 +// Use a specific disk cache location, rather than one derived from the 1.118 +// UserDatadir. 1.119 +const wchar_t kDiskCacheDir[] = L"disk-cache-dir"; 1.120 + 1.121 +// Whether the multiple profiles feature based on the user-data-dir flag is 1.122 +// enabled or not. 1.123 +const wchar_t kEnableUserDataDirProfiles[] = L"enable-udd-profiles"; 1.124 + 1.125 +// Specifies the path to the user data folder for the parent profile. 1.126 +const wchar_t kParentProfile[] = L"parent-profile"; 1.127 + 1.128 +// Specifies that the associated value should be launched in "application" mode. 1.129 +const wchar_t kApp[] = L"app"; 1.130 + 1.131 +// Specifies if the dom_automation_controller_ needs to be bound in the 1.132 +// renderer. This binding happens on per-frame basis and hence can potentially 1.133 +// be a performance bottleneck. One should only enable it when automating 1.134 +// dom based tests. 1.135 +const wchar_t kDomAutomationController[] = L"dom-automation"; 1.136 + 1.137 +// Tells the plugin process the path of the plugin to load 1.138 +const wchar_t kPluginPath[] = L"plugin-path"; 1.139 + 1.140 +// A string used to override the default user agent with a custom one. 1.141 +const wchar_t kUserAgent[] = L"user-agent"; 1.142 + 1.143 +// Specifies the flags passed to JS engine 1.144 +const wchar_t kJavaScriptFlags[] = L"js-flags"; 1.145 + 1.146 +// The Country we should use. This is normally obtained from the operating 1.147 +// system during first run and cached in the preferences afterwards. This is a 1.148 +// string value, the 2 letter code from ISO 3166-1. 1.149 +const wchar_t kCountry[] = L"country"; 1.150 + 1.151 +// The language file that we want to try to open. Of the form 1.152 +// language[-country] where language is the 2 letter code from ISO-639. 1.153 +const wchar_t kLang[] = L"lang"; 1.154 + 1.155 +// Will add kDebugOnStart to every child processes. If a value is passed, it 1.156 +// will be used as a filter to determine if the child process should have the 1.157 +// kDebugOnStart flag passed on or not. 1.158 +const wchar_t kDebugChildren[] = L"debug-children"; 1.159 + 1.160 +// Will add kWaitForDebugger to every child processes. If a value is passed, it 1.161 +// will be used as a filter to determine if the child process should have the 1.162 +// kWaitForDebugger flag passed on or not. 1.163 +const wchar_t kWaitForDebuggerChildren[] = L"wait-for-debugger-children"; 1.164 + 1.165 +// Will filter log messages to show only the messages that are prefixed 1.166 +// with the specified value 1.167 +const wchar_t kLogFilterPrefix[] = L"log-filter-prefix"; 1.168 + 1.169 +// Force logging to be enabled. Logging is disabled by default in release 1.170 +// builds. 1.171 +const wchar_t kEnableLogging[] = L"enable-logging"; 1.172 + 1.173 +// Force logging to be disabled. Logging is enabled by default in debug 1.174 +// builds. 1.175 +const wchar_t kDisableLogging[] = L"disable-logging"; 1.176 + 1.177 +// Sets the minimum log level. Valid values are from 0 to 3: 1.178 +// INFO = 0, WARNING = 1, LOG_ERROR = 2, LOG_FATAL = 3. 1.179 +const wchar_t kLoggingLevel[] = L"log-level"; 1.180 + 1.181 +// Make plugin processes log their sent and received messages to CHROMIUM_LOG(INFO). 1.182 +const wchar_t kLogPluginMessages[] = L"log-plugin-messages"; 1.183 + 1.184 +// Dump any accumualted histograms to the log when browser terminates (requires 1.185 +// logging to be enabled to really do anything). Used by developers and test 1.186 +// scripts. 1.187 +const wchar_t kDumpHistogramsOnExit[] = L"dump-histograms-on-exit"; 1.188 + 1.189 +// enable remote debug / automation shell on the specified port 1.190 +const wchar_t kRemoteShellPort[] = L"remote-shell-port"; 1.191 + 1.192 +// Runs un-installation steps that were done by chrome first-run. 1.193 +const wchar_t kUninstall[] = L"uninstall"; 1.194 + 1.195 +// Number of entries to show in the omnibox popup. 1.196 +const wchar_t kOmniBoxPopupCount[] = L"omnibox-popup-count"; 1.197 + 1.198 +// The value of this switch tells the app to listen for and broadcast 1.199 +// automation-related messages on IPC channel with the given ID. 1.200 +const wchar_t kAutomationClientChannelID[] = L"automation-channel"; 1.201 + 1.202 +// Indicates the last session should be restored on startup. This overrides 1.203 +// the preferences value and is primarily intended for testing. The value of 1.204 +// this switch is the number of tabs to wait until loaded before 1.205 +// 'load completed' is sent to the ui_test. 1.206 +const wchar_t kRestoreLastSession[] = L"restore-last-session"; 1.207 + 1.208 +// Chrome supports a playback and record mode. Record mode saves *everything* 1.209 +// to the cache. Playback mode reads data exclusively from the cache. This 1.210 +// allows us to record a session into the cache and then replay it at will. 1.211 +const wchar_t kRecordMode[] = L"record-mode"; 1.212 +const wchar_t kPlaybackMode[] = L"playback-mode"; 1.213 + 1.214 +// Don't record/playback events when using record & playback. 1.215 +const wchar_t kNoEvents[] = L"no-events"; 1.216 + 1.217 +// Support a separate switch that enables the v8 playback extension. 1.218 +// The extension causes javascript calls to Date.now() and Math.random() 1.219 +// to return consistent values, such that subsequent loads of the same 1.220 +// page will result in consistent js-generated data and XHR requests. 1.221 +// Pages may still be able to generate inconsistent data from plugins. 1.222 +const wchar_t kNoJsRandomness[] = L"no-js-randomness"; 1.223 + 1.224 +// Make Windows happy by allowing it to show "Enable access to this program" 1.225 +// checkbox in Add/Remove Programs->Set Program Access and Defaults. This 1.226 +// only shows an error box because the only way to hide Chrome is by 1.227 +// uninstalling it. 1.228 +const wchar_t kHideIcons[] = L"hide-icons"; 1.229 + 1.230 +const wchar_t kShowIcons[] = L"show-icons"; 1.231 + 1.232 +// Make Chrome default browser 1.233 +const wchar_t kMakeDefaultBrowser[] = L"make-default-browser"; 1.234 + 1.235 +// Use a specified proxy server, overrides system settings. This switch only 1.236 +// affects HTTP and HTTPS requests. 1.237 +const wchar_t kProxyServer[] = L"proxy-server"; 1.238 + 1.239 +// Use WinHTTP to fetch and evaluate PAC scripts. Otherwise the default is 1.240 +// to use Chromium's network stack to fetch, and V8 to evaluate. 1.241 +const wchar_t kWinHttpProxyResolver[] = L"winhttp-proxy-resolver"; 1.242 + 1.243 +// Chrome will support prefetching of DNS information. Until this becomes 1.244 +// the default, we'll provide a command line switch. 1.245 +extern const wchar_t kDnsLogDetails[] = L"dns-log-details"; 1.246 +extern const wchar_t kDnsPrefetchDisable[] = L"dns-prefetch-disable"; 1.247 + 1.248 +// Enables support to debug printing subsystem. 1.249 +const wchar_t kDebugPrint[] = L"debug-print"; 1.250 + 1.251 +// Allow initialization of all activex controls. This is only to help website 1.252 +// developers test their controls to see if they are compatible in Chrome. 1.253 +// Note there's a duplicate value in activex_shared.cc (to avoid 1.254 +// dependency on chrome module). Please change both locations at the same time. 1.255 +const wchar_t kAllowAllActiveX[] = L"allow-all-activex"; 1.256 + 1.257 +// Browser flag to disable the web inspector for all renderers. 1.258 +const wchar_t kDisableDevTools[] = L"disable-dev-tools"; 1.259 + 1.260 +// Enable web inspector for all windows, even if they're part of the browser. 1.261 +// Allows us to use our dev tools to debug browser windows itself. 1.262 +const wchar_t kAlwaysEnableDevTools[] = L"always-enable-dev-tools"; 1.263 + 1.264 +// Used to set the value of SessionRestore::num_tabs_to_load_. See 1.265 +// session_restore.h for details. 1.266 +const wchar_t kTabCountToLoadOnSessionRestore[] = 1.267 + L"tab-count-to-load-on-session-restore"; 1.268 + 1.269 +// Enable dynamic loading of the Memory Profiler DLL, which will trace 1.270 +// all memory allocations during the run. 1.271 +const wchar_t kMemoryProfiling[] = L"memory-profile"; 1.272 + 1.273 +// Configure Chrome's memory model. 1.274 +// Does chrome really need multiple memory models? No. But we get a lot 1.275 +// of concerns from individuals about how the changes work on *their* 1.276 +// system, and we need to be able to experiment with a few choices. 1.277 +const wchar_t kMemoryModel[] = L"memory-model"; 1.278 + 1.279 +// By default, cookies are not allowed on file://. They are needed in for 1.280 +// testing, for example page cycler and layout tests. See bug 1157243. 1.281 +const wchar_t kEnableFileCookies[] = L"enable-file-cookies"; 1.282 + 1.283 +// Start the browser maximized, regardless of any previous settings. 1.284 +const wchar_t kStartMaximized[] = L"start-maximized"; 1.285 + 1.286 +// Spawn threads to watch for excessive delays in specified message loops. 1.287 +// User should set breakpoints on Alarm() to examine problematic thread. 1.288 +// Usage: -enable-watchdog=[ui][io] 1.289 +// Order of the listed sub-arguments does not matter. 1.290 +const wchar_t kEnableWatchdog[] = L"enable-watchdog"; 1.291 + 1.292 +// Display the First Run experience when the browser is started, regardless of 1.293 +// whether or not it's actually the first run. 1.294 +const wchar_t kFirstRun[] = L"first-run"; 1.295 + 1.296 +// Bypass the First Run experience when the browser is started, regardless of 1.297 +// whether or not it's actually the first run. Overrides kFirstRun in case 1.298 +// you're for some reason tempted to pass them both. 1.299 +const wchar_t kNoFirstRun[] = L"no-first-run"; 1.300 + 1.301 +// Enable histograming of tasks served by MessageLoop. See about:histograms/Loop 1.302 +// for results, which show frequency of messages on each thread, including APC 1.303 +// count, object signalling count, etc. 1.304 +const wchar_t kMessageLoopHistogrammer[] = L"message-loop-histogrammer"; 1.305 + 1.306 +// Perform importing from another browser. The value associated with this 1.307 +// setting encodes the target browser and what items to import. 1.308 +const wchar_t kImport[] = L"import"; 1.309 + 1.310 +// Change the DCHECKS to dump memory and continue instead of displaying error 1.311 +// dialog. This is valid only in Release mode when --enable-dcheck is 1.312 +// specified. 1.313 +const wchar_t kSilentDumpOnDCHECK[] = L"silent-dump-on-dcheck"; 1.314 + 1.315 +// Normally when the user attempts to navigate to a page that was the result of 1.316 +// a post we prompt to make sure they want to. This switch may be used to 1.317 +// disable that check. This switch is used during automated testing. 1.318 +const wchar_t kDisablePromptOnRepost[] = L"disable-prompt-on-repost"; 1.319 + 1.320 +// Disable pop-up blocking. 1.321 +const wchar_t kDisablePopupBlocking[] = L"disable-popup-blocking"; 1.322 + 1.323 +// Don't execute JavaScript (browser JS like the new tab page still runs). 1.324 +const wchar_t kDisableJavaScript[] = L"disable-javascript"; 1.325 + 1.326 +// Don't enforce the same-origin policy. (Used by people testing their sites.) 1.327 +const wchar_t kDisableWebSecurity[] = L"disable-web-security"; 1.328 + 1.329 +// Prevent Java from running. 1.330 +const wchar_t kDisableJava[] = L"disable-java"; 1.331 + 1.332 +// Prevent plugins from running. 1.333 +const wchar_t kDisablePlugins[] = L"disable-plugins"; 1.334 + 1.335 +// Prevent images from loading. 1.336 +const wchar_t kDisableImages[] = L"disable-images"; 1.337 + 1.338 +// Use the low fragmentation heap for the CRT. 1.339 +const wchar_t kUseLowFragHeapCrt[] = L"use-lf-heap"; 1.340 + 1.341 +#ifndef NDEBUG 1.342 +// Debug only switch to specify which gears plugin dll to load. 1.343 +const wchar_t kGearsPluginPathOverride[] = L"gears-plugin-path"; 1.344 +#endif 1.345 + 1.346 +// Enable the fastback page cache. 1.347 +const wchar_t kEnableFastback[] = L"enable-fastback"; 1.348 + 1.349 +// Allow loading of the javascript debugger UI from the filesystem. 1.350 +const wchar_t kJavaScriptDebuggerPath[] = L"javascript-debugger-path"; 1.351 + 1.352 +const wchar_t kDisableP13n[] = L"disable-p13n"; 1.353 + 1.354 +// Enable support for SDCH filtering (dictionary based expansion of content). 1.355 +// Optional argument is *the* only domain name that will have SDCH suppport. 1.356 +// Default is "-enable-sdch" to advertise SDCH on all domains. 1.357 +// Sample usage with argument: "-enable-sdch=.google.com" 1.358 +// SDCH is currently only supported server-side for searches on google.com. 1.359 +const wchar_t kSdchFilter[] = L"enable-sdch"; 1.360 + 1.361 +// Enable user script support. 1.362 +const wchar_t kEnableUserScripts[] = L"enable-user-scripts"; 1.363 + 1.364 +// Enable extensions. 1.365 +const wchar_t kEnableExtensions[] = L"enable-extensions"; 1.366 + 1.367 +// Install the extension specified in the argument. This is for MIME type 1.368 +// handling so that users can double-click on an extension. 1.369 +const wchar_t kInstallExtension[] = L"install-extension"; 1.370 + 1.371 +// Load an extension from the specified directory. 1.372 +const wchar_t kLoadExtension[] = L"load-extension"; 1.373 + 1.374 +// Load an NPAPI plugin from the specified path. 1.375 +const wchar_t kLoadPlugin[] = L"load-plugin"; 1.376 + 1.377 +// directory to locate user scripts in as an over-ride of the default 1.378 +const wchar_t kUserScriptsDir[] = L"user-scripts-dir"; 1.379 + 1.380 +// Causes the browser to launch directly in incognito mode. 1.381 +const wchar_t kIncognito[] = L"incognito"; 1.382 + 1.383 +// Turns on the accessibility in the renderer. Off by default until 1.384 +// http://b/issue?id=1432077 is fixed. 1.385 +const wchar_t kEnableRendererAccessibility[] = L"enable-renderer-accessibility"; 1.386 + 1.387 +// Pass the name of the current running automated test to Chrome. 1.388 +const wchar_t kTestName[] = L"test-name"; 1.389 + 1.390 +// On POSIX only: the contents of this flag are prepended to the renderer 1.391 +// command line. (Useful values might be "valgrind" or "gdb --args") 1.392 +const wchar_t kRendererCmdPrefix[] = L"renderer-cmd-prefix"; 1.393 + 1.394 +// Temparary option for new ftp implemetation. 1.395 +const wchar_t kNewFtp[] = L"new-ftp"; 1.396 + 1.397 +// On POSIX only: use FIFO for IPC channels so that "unrelated" process 1.398 +// can connect to a channel, provided it knows its name. For debugging purposes. 1.399 +const wchar_t kIPCUseFIFO[] = L"ipc-use-fifo"; 1.400 + 1.401 +// If this flag is set open out of process developer tools window instead of 1.402 +// Console Debugger when user clicks "Debug JavaScript". 1.403 +const wchar_t kEnableOutOfProcessDevTools[] = L"enable-oop-devtools"; 1.404 + 1.405 +// Enable HTML5 Worker support 1.406 +const wchar_t kEnableWebWorkers[] = L"enable-web-workers"; 1.407 + 1.408 +// Causes the worker process allocation to use as many processes as cores. 1.409 +const wchar_t kWebWorkerProcessPerCore[] = L"web-worker-process-per-core"; 1.410 + 1.411 +// Causes workers to run together in one process, depending on their domains. 1.412 +// Note this is duplicated in webworkerclient_impl.cc 1.413 +const wchar_t kWebWorkerShareProcesses[] = L"web-worker-share-processes"; 1.414 + 1.415 +// Enables experimental views under gtk. 1.416 +const wchar_t kViewsGtk[] = L"views-gtk"; 1.417 + 1.418 +// Enables the bookmark menu. 1.419 +const wchar_t kBookmarkMenu[] = L"bookmark-menu"; 1.420 + 1.421 +// Enables StatsTable, logging statistics to a global named shared memory table. 1.422 +const wchar_t kEnableStatsTable[] = L"enable-stats-table"; 1.423 + 1.424 +// Enables the Omnibox2 popup and functionality. 1.425 +const wchar_t kEnableOmnibox2[] = L"enable-omnibox2"; 1.426 + 1.427 +// Replaces the audio IPC layer for <audio> and <video> with a mock audio 1.428 +// device, useful when using remote desktop or machines without sound cards. 1.429 +// This is temporary until we fix the underlying problem. 1.430 +// 1.431 +// TODO(scherkus): remove --disable-audio when we have a proper fallback 1.432 +// mechanism. 1.433 +const wchar_t kDisableAudio[] = L"disable-audio"; 1.434 + 1.435 +// Replaces the buffered data source for <audio> and <video> with a simplified 1.436 +// resource loader that downloads the entire resource into memory. 1.437 +// 1.438 +// TODO(scherkus): remove --simple-data-source when our media resource loading 1.439 +// is cleaned up and playback testing completed. 1.440 +const wchar_t kSimpleDataSource[] = L"simple-data-source"; 1.441 + 1.442 +} // namespace switches