1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "chromeos/chromeos_switches.h"
6
7namespace chromeos {
8namespace switches {
9
10// Path for app's OEM manifest file.
11const char kAppOemManifestFile[]            = "app-mode-oem-manifest";
12
13// When wallpaper boot animation is not disabled this switch
14// is used to override OOBE/sign in WebUI init type.
15// Possible values: parallel|postpone. Default: parallel.
16const char kAshWebUIInit[]                  = "ash-webui-init";
17
18// Enables overriding the path for the default authentication extension.
19const char kAuthExtensionPath[]             = "auth-ext-path";
20
21// Enables overriding the Chrome OS board type when running on Linux.
22const char kChromeOSReleaseBoard[] = "chromeos-release-board";
23
24// Forces the stub implementation of dbus clients.
25const char kDbusStub[] = "dbus-stub";
26
27// All stub networks are idle by default.
28const char kDefaultStubNetworkStateIdle[] = "default-stub-network-state-idle";
29
30// Disables wallpaper boot animation (except of OOBE case).
31const char kDisableBootAnimation[]          = "disable-boot-animation";
32
33// Disables Chrome Captive Portal detector, which initiates Captive
34// Portal detection for new active networks.
35const char kDisableChromeCaptivePortalDetector[] =
36    "disable-chrome-captive-portal-detector";
37
38// Disables Google Drive integration.
39const char kDisableDrive[]                  = "disable-drive";
40
41// Disable policy-configured local accounts.
42const char kDisableLocalAccounts[]          = "disable-local-accounts";
43
44// Avoid doing expensive animations upon login.
45const char kDisableLoginAnimations[]        = "disable-login-animations";
46
47// Disable new channel switcher UI.
48const char kDisableNewChannelSwitcherUI[]   = "disable-new-channel-switcher-ui";
49
50// Disable Quickoffice component app thus handlers won't be registered so
51// it will be possible to install another version as normal app for testing.
52const char kDisableQuickofficeComponentApp[] =
53    "disable-quickoffice-component-app";
54
55// Disables fetching online CrOS EULA page, only static version is shown.
56const char kDisableOnlineEULA[] = "disable-cros-online-eula";
57
58// Avoid doing animations upon oobe.
59const char kDisableOobeAnimation[]          = "disable-oobe-animation";
60
61// Disables portal detection and network error handling before auto
62// update.
63const char kDisableOOBEBlockingUpdate[] =
64    "disable-oobe-blocking-update";
65
66// Disables fake ethernet network in the stub implementations.
67const char kDisableStubEthernet[] = "disable-stub-ethernet";
68
69// Enables overriding the path for the default echo component extension.
70// Useful for testing.
71const char kEchoExtensionPath[]             = "echo-ext-path";
72
73// Enables component extension that initializes background pages of
74// certain hosted applications.
75const char kEnableBackgroundLoader[]        = "enable-background-loader";
76
77// Enables switching between different cellular carriers from the UI.
78const char kEnableCarrierSwitching[]        = "enable-carrier-switching";
79
80// Enable switching between audio devices in Chrome instead of cras.
81const char kEnableChromeAudioSwitching[] = "enable-chrome-audio-switching";
82
83// Enables Chrome Captive Portal detector, which initiates Captive
84// Portal detection for new active networks.
85const char kEnableChromeCaptivePortalDetector[] =
86    "enable-chrome-captive-portal-detector";
87
88// Enables screensaver extensions.
89const char kEnableScreensaverExtensions[] = "enable-screensaver-extensions";
90
91// Enable "interactive" mode for stub implemenations (e.g. NetworkStateHandler)
92const char kEnableStubInteractive[] = "enable-stub-interactive";
93
94// Enable stub portalled wifi network for testing.
95const char kEnableStubPortalledWifi[] = "enable-stub-portalled-wifi";
96
97// Enables touchpad three-finger-click as middle button.
98const char kEnableTouchpadThreeFingerClick[]
99    = "enable-touchpad-three-finger-click";
100
101// Enable Kiosk mode for ChromeOS. Note this switch refers to retail mode rather
102// than the kiosk app mode.
103const char kEnableKioskMode[]               = "enable-kiosk-mode";
104
105// Enables request of tablet site (via user agent override).
106const char kEnableRequestTabletSite[]       = "enable-request-tablet-site";
107
108// Enables static ip configuration. This flag should be removed when it's on by
109// default.
110const char kEnableStaticIPConfig[]          = "enable-static-ip-config";
111
112// Power of the power-of-2 initial modulus that will be used by the
113// auto-enrollment client. E.g. "4" means the modulus will be 2^4 = 16.
114const char kEnterpriseEnrollmentInitialModulus[] =
115    "enterprise-enrollment-initial-modulus";
116
117// Power of the power-of-2 maximum modulus that will be used by the
118// auto-enrollment client.
119const char kEnterpriseEnrollmentModulusLimit[] =
120    "enterprise-enrollment-modulus-limit";
121
122// Shows the selecting checkboxes in the Files.app.
123const char kFileManagerShowCheckboxes[]     = "file-manager-show-checkboxes";
124
125// Enables the webstore integration feature in the Files.app.
126const char kFileManagerEnableWebstoreIntegration[] =
127    "file-manager-enable-webstore-integration";
128
129// Passed to Chrome the first time that it's run after the system boots.
130// Not passed on restart after sign out.
131const char kFirstExecAfterBoot[]            = "first-exec-after-boot";
132
133// Usually in browser tests the usual login manager bringup is skipped so that
134// tests can change how it's brought up. This flag disables that.
135const char kForceLoginManagerInTests[]      = "force-login-manager-in-tests";
136
137// Indicates that the browser is in "browse without sign-in" (Guest session)
138// mode. Should completely disable extensions, sync and bookmarks.
139const char kGuestSession[]                  = "bwsi";
140
141// If true, the Chromebook has a Chrome OS keyboard. Don't use the flag for
142// Chromeboxes.
143const char kHasChromeOSKeyboard[]           = "has-chromeos-keyboard";
144
145// If true, the Chromebook has a keyboard with a diamond key.
146const char kHasChromeOSDiamondKey[]         = "has-chromeos-diamond-key";
147
148// Path for the screensaver used in Kiosk mode
149const char kKioskModeScreensaverPath[]      = "kiosk-mode-screensaver-path";
150
151// Allows override of oobe for testing - goes directly to the login screen.
152const char kLoginScreen[]                   = "login-screen";
153
154// Enables Chrome-as-a-login-manager behavior.
155const char kLoginManager[]                  = "login-manager";
156
157// Specifies a password to be used to login (along with login-user).
158const char kLoginPassword[]                 = "login-password";
159
160// Specifies the profile to use once a chromeos user is logged in.
161const char kLoginProfile[]                  = "login-profile";
162
163// Specifies the user which is already logged in.
164const char kLoginUser[]                     = "login-user";
165
166// Enables natural scroll by default.
167const char kNaturalScrollDefault[]          = "enable-natural-scroll-default";
168
169// Disables tab discard in low memory conditions, a feature which silently
170// closes inactive tabs to free memory and to attempt to avoid the kernel's
171// out-of-memory process killer.
172const char kNoDiscardTabs[]                 = "no-discard-tabs";
173
174// Disables recording of swap and CPU utilization metrics logging after tab
175// switch and scroll events.
176const char kNoSwapMetrics[]                 = "no-swap-metrics";
177
178// Skips all other OOBE pages after user login.
179const char kOobeSkipPostLogin[]             = "oobe-skip-postlogin";
180
181// Skips the machine hwid check. Useful for running in VMs because they have no
182// hwid.
183const char kSkipHWIDCheck[]                 = "skip-hwid-check";
184
185// Sends test messages on first call to RequestUpdate (stub only).
186const char kSmsTestMessages[] = "sms-test-messages";
187
188// Indicates that a stub implementation of CrosSettings that stores settings in
189// memory without signing should be used, treating current user as the owner.
190// This option is for testing the chromeos build of chrome on the desktop only.
191const char kStubCrosSettings[]              = "stub-cros-settings";
192
193// Enables usage of the new ManagedNetworkConfigurationHandler and
194// NetworkConfigurationHandler singletons.
195const char kUseNewNetworkConfigurationHandlers[] =
196    "use-new-network-configuration-handlers";
197
198}  // namespace switches
199}  // namespace chromeos
200