blob: e8aa5cbc4d5e051dbb61302d434b0598b5c77e6f [file] [log] [blame]
tfarina@chromium.orgef21d1d2012-03-13 00:35:12 +09001// Copyright (c) 2012 The Chromium Authors. All rights reserved.
license.botf003cfe2008-08-24 09:55:55 +09002// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
initial.commit3f4a7322008-07-27 06:49:38 +09004
5#include "base/base_switches.h"
avia6a6a682015-12-27 07:15:14 +09006#include "build/build_config.h"
initial.commit3f4a7322008-07-27 06:49:38 +09007
8namespace switches {
9
nsylvain@chromium.org12ec1e82010-08-10 02:32:32 +090010// Disables the crash reporting.
11const char kDisableBreakpad[] = "disable-breakpad";
12
jochen@chromium.org22bb79e2013-10-23 06:19:01 +090013// Indicates that crash reporting should be enabled. On platforms where helper
14// processes cannot access to files needed to make this decision, this flag is
15// generated internally.
16const char kEnableCrashReporter[] = "enable-crash-reporter";
17
ruuda576f92c2015-10-12 21:30:41 +090018// Makes memory allocators keep track of their allocations and context, so a
19// detailed breakdown of memory usage can be presented in chrome://tracing when
20// the memory-infra category is enabled.
21const char kEnableHeapProfiling[] = "enable-heap-profiling";
22
dskiba12405d92016-04-29 04:40:29 +090023// Report native (walk the stack) allocation traces. By default pseudo stacks
24// derived from trace events are reported.
25const char kEnableHeapProfilingModeNative[] = "native";
26
siggi3d119c42017-02-17 01:23:54 +090027// Report per-task heap usage and churn in the task profiler.
28// Does not keep track of individual allocations unlike the default and native
29// mode. Keeps only track of summarized churn stats in the task profiler
30// (chrome://profiler).
31const char kEnableHeapProfilingTaskProfiler[] = "task-profiler";
32
brettw@chromium.org1c8c3be2010-08-18 04:40:11 +090033// Generates full memory crash dump.
34const char kFullMemoryCrashReport[] = "full-memory-crash-report";
35
ssid108428f2014-12-17 01:04:02 +090036// Force low-end device mode when set.
37const char kEnableLowEndDeviceMode[] = "enable-low-end-device-mode";
38
39// Force disabling of low-end device mode when set.
40const char kDisableLowEndDeviceMode[] = "disable-low-end-device-mode";
c.shu@samsung.comda21aff2014-06-27 01:55:27 +090041
blundell6c9e3db2015-09-29 21:33:35 +090042// This option can be used to force field trials when testing changes locally.
43// The argument is a list of name and value pairs, separated by slashes. If a
44// trial name is prefixed with an asterisk, that trial will start activated.
45// For example, the following argument defines two trials, with the second one
46// activated: "GoogleNow/Enable/*MaterialDesignNTP/Default/" This option can
47// also be used by the browser process to send the list of trials to a
48// non-browser process, using the same format. See
49// FieldTrialList::CreateTrialsFromString() in field_trial.h for details.
50const char kForceFieldTrials[] = "force-fieldtrials";
51
brettw@chromium.org1c8c3be2010-08-18 04:40:11 +090052// Suppresses all error dialogs when present.
53const char kNoErrorDialogs[] = "noerrdialogs";
54
brettw@chromium.org1c8c3be2010-08-18 04:40:11 +090055// When running certain tests that spawn child processes, this switch indicates
56// to the test framework that the current process is a child process.
57const char kTestChildProcess[] = "test-child-process";
58
wfh44226382016-03-12 11:09:59 +090059// When running certain tests that spawn child processes, this switch indicates
60// to the test framework that the current process should not initialize ICU to
61// avoid creating any scoped handles too early in startup.
62const char kTestDoNotInitializeIcu[] = "test-do-not-initialize-icu";
63
akalin@chromium.orgf0ee79c2010-09-30 04:26:36 +090064// Gives the default maximal active V-logging level; 0 is the default.
65// Normally positive values are used for V-logging levels.
66const char kV[] = "v";
67
68// Gives the per-module maximal V-logging levels to override the value
69// given by --v. E.g. "my_module=2,foo*=3" would change the logging
70// level for all code in source files "my_module.*" and "foo*.*"
71// ("-inl" suffixes are also disregarded for this matching).
akalin@chromium.org859d7d42010-10-29 09:39:48 +090072//
73// Any pattern containing a forward or backward slash will be tested
74// against the whole pathname and not just the module. E.g.,
75// "*/foo/bar/*=2" would change the logging level for all code in
76// source files under a "foo/bar" directory.
akalin@chromium.orgf0ee79c2010-09-30 04:26:36 +090077const char kVModule[] = "vmodule";
78
brettw@chromium.org1c8c3be2010-08-18 04:40:11 +090079// Will wait for 60 seconds for a debugger to come to attach to the process.
80const char kWaitForDebugger[] = "wait-for-debugger";
81
enne7002b802014-09-26 04:49:56 +090082// Sends trace events from these categories to a file.
83// --trace-to-file on its own sends to default categories.
84const char kTraceToFile[] = "trace-to-file";
85
86// Specifies the file name for --trace-to-file. If unspecified, it will
87// go to a default file name.
88const char kTraceToFileName[] = "trace-to-file-name";
89
qsr@chromium.org4b1cc322013-12-11 21:49:17 +090090// Configure whether chrome://profiler will contain timing information. This
91// option is enabled by default. A value of "0" will disable profiler timing,
92// while all other values will enable it.
93const char kProfilerTiming[] = "profiler-timing";
94// Value of the --profiler-timing flag that will disable timing information for
95// chrome://profiler.
96const char kProfilerTimingDisabledValue[] = "0";
97
fsamuel21f49342016-07-09 08:02:44 +090098// Specifies a location for profiling output. This will only work if chrome has
99// been built with the gyp variable profiling=1 or gn arg enable_profiling=true.
100//
101// {pid} if present will be replaced by the pid of the process.
102// {count} if present will be incremented each time a profile is generated
103// for this process.
104// The default is chrome-profile-{pid} for the browser and test-profile-{pid}
105// for tests.
106const char kProfilingFile[] = "profiling-file";
107
jschuh0bf79e22015-06-23 22:36:28 +0900108#if defined(OS_WIN)
109// Disables the USB keyboard detection for blocking the OSK on Win8+.
110const char kDisableUsbKeyboardDetect[] = "disable-usb-keyboard-detect";
111#endif
112
jochen@chromium.orgc1087332013-11-07 17:35:29 +0900113#if defined(OS_POSIX)
114// Used for turning on Breakpad crash reporting in a debug environment where
115// crash reporting is typically compiled but disabled.
116const char kEnableCrashReporterForTesting[] =
117 "enable-crash-reporter-for-testing";
118#endif
119
initial.commit3f4a7322008-07-27 06:49:38 +0900120} // namespace switches