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