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.
5 #include "chromeos/chromeos_switches.h"
7 #include "base/command_line.h"
12 // Path for app's OEM manifest file.
13 const char kAppOemManifestFile
[] = "app-mode-oem-manifest";
15 // When wallpaper boot animation is not disabled this switch
16 // is used to override OOBE/sign in WebUI init type.
17 // Possible values: parallel|postpone. Default: parallel.
18 const char kAshWebUIInit
[] = "ash-webui-init";
20 // Specifies the URL of the consumer device management backend.
21 const char kConsumerDeviceManagementUrl
[] = "consumer-device-management-url";
23 // Forces the stub implementation of dbus clients.
24 const char kDbusStub
[] = "dbus-stub";
26 // Comma-spearated list of dbus clients that should be unstubbed.
27 // See chromeos/dbus/dbus_client_bundle.cc for the names of the dbus clients.
28 const char kDbusUnstubClients
[] = "dbus-unstub-clients";
30 // Indicates that the wallpaper images specified by
31 // kAshDefaultWallpaper{Large,Small} are OEM-specific (i.e. they are not
32 // downloadable from Google).
33 const char kDefaultWallpaperIsOem
[] = "default-wallpaper-is-oem";
35 // Default wallpaper to use (as paths to trusted, non-user-writable JPEG files).
36 const char kDefaultWallpaperLarge
[] = "default-wallpaper-large";
37 const char kDefaultWallpaperSmall
[] = "default-wallpaper-small";
39 // Time before a machine at OOBE is considered derelict.
40 const char kDerelictDetectionTimeout
[] = "derelict-detection-timeout";
42 // Time before a derelict machines starts demo mode.
43 const char kDerelictIdleTimeout
[] = "derelict-idle-timeout";
45 // Disables wallpaper boot animation (except of OOBE case).
46 const char kDisableBootAnimation
[] = "disable-boot-animation";
48 // Disables the ChromeOS demo.
49 const char kDisableDemoMode
[] = "disable-demo-mode";
51 // Disable HID-detection OOBE screen.
52 const char kDisableHIDDetectionOnOOBE
[] = "disable-hid-detection-on-oobe";
54 // Avoid doing expensive animations upon login.
55 const char kDisableLoginAnimations
[] = "disable-login-animations";
57 // Disable login/lock UI (user pods) scrolling into view on JS side when virtual
59 const char kDisableLoginScrollIntoView
[] = "disable-login-scroll-into-view";
61 // Disable new channel switcher UI.
62 const char kDisableNewChannelSwitcherUI
[] = "disable-new-channel-switcher-ui";
64 // Disables new Kiosk UI when kiosk apps are represented as user pods.
65 const char kDisableNewKioskUI
[] = "disable-new-kiosk-ui";
67 // Disables the new File System Provider API based ZIP unpacker.
68 const char kDisableNewZIPUnpacker
[] = "disable-new-zip-unpacker";
70 // Disable Office Editing for Docs, Sheets & Slides component app so handlers
71 // won't be registered, making it possible to install another version for
73 const char kDisableOfficeEditingComponentApp
[] =
74 "disable-office-editing-component-extension";
76 // Disables rollback option on reset screen.
77 const char kDisableRollbackOption
[] = "disable-rollback-option";
79 // Disables volume adjust sound.
80 const char kDisableVolumeAdjustSound
[] = "disable-volume-adjust-sound";
82 // Disables wake on wifi features.
83 const char kDisableWakeOnWifi
[] = "disable-wake-on-wifi";
85 // Disables notifications about captive portals in session.
86 const char kDisableNetworkPortalNotification
[] =
87 "disable-network-portal-notification";
89 // Enables switching between different cellular carriers from the UI.
90 const char kEnableCarrierSwitching
[] = "enable-carrier-switching";
92 // Enables cloud backup feature.
93 const char kEnableCloudBackup
[] = "enable-cloud-backup";
95 // Enables consumer management, which allows user to enroll, remotely lock and
97 const char kEnableConsumerManagement
[] = "enable-consumer-management";
99 // If this switch is set, the device cannot be remotely disabled by its owner.
100 const char kDisableDeviceDisabling
[] = "disable-device-disabling";
102 // If this switch is set, Chrome OS login screen uses |EmbeddedSignin| endpoint
104 const char kEnableEmbeddedSignin
[] = "enable-embedded-signin";
106 // If this switch is set, the new Korean IME will be available in
107 // chrome://settings/languages.
108 const char kEnableNewKoreanIme
[] = "enable-new-korean-ime";
110 // If this switch is set, the input view keyboard will be in materia design.
111 const char kEnableNewQPInputView
[] = "enable-new-qp-input-view";
113 // If this switch is set, the US keyboard input method will provide suggestions
114 // as typing on physical keyboard.
115 const char kEnablePhysicalKeyboardAutocorrect
[] =
116 "enable-physical-keyboard-autocorrect";
118 // Enabled sharing assets for installed default apps.
119 const char kEnableExtensionAssetsSharing
[] = "enable-extension-assets-sharing";
121 // Enables notifications about captive portals in session.
122 const char kEnableNetworkPortalNotification
[] =
123 "enable-network-portal-notification";
125 // Enables touchpad three-finger-click as middle button.
126 const char kEnableTouchpadThreeFingerClick
[]
127 = "enable-touchpad-three-finger-click";
129 // Enables using screenshots in tests and seets mode.
130 const char kEnableScreenshotTestingWithMode
[] =
131 "enable-screenshot-testing-with-mode";
133 // Enable Kiosk mode for ChromeOS. Note this switch refers to retail mode rather
134 // than the kiosk app mode.
135 const char kEnableKioskMode
[] = "enable-kiosk-mode";
137 // Enables request of tablet site (via user agent override).
138 const char kEnableRequestTabletSite
[] = "enable-request-tablet-site";
140 // Whether to enable forced enterprise re-enrollment.
141 const char kEnterpriseEnableForcedReEnrollment
[] =
142 "enterprise-enable-forced-re-enrollment";
144 // Power of the power-of-2 initial modulus that will be used by the
145 // auto-enrollment client. E.g. "4" means the modulus will be 2^4 = 16.
146 const char kEnterpriseEnrollmentInitialModulus
[] =
147 "enterprise-enrollment-initial-modulus";
149 // Power of the power-of-2 maximum modulus that will be used by the
150 // auto-enrollment client.
151 const char kEnterpriseEnrollmentModulusLimit
[] =
152 "enterprise-enrollment-modulus-limit";
154 // Don't create robot account on enrollment. Used when testing device
155 // enrollment against YAPS or the Python test server.
156 const char kEnterpriseEnrollmentSkipRobotAuth
[] =
157 "enterprise-enrollment-skip-robot-auth";
159 // Enables the chromecast support for video player app.
160 const char kEnableVideoPlayerChromecastSupport
[] =
161 "enable-video-player-chromecast-support";
163 // Passed to Chrome the first time that it's run after the system boots.
164 // Not passed on restart after sign out.
165 const char kFirstExecAfterBoot
[] = "first-exec-after-boot";
167 // Usually in browser tests the usual login manager bringup is skipped so that
168 // tests can change how it's brought up. This flag disables that.
169 const char kForceLoginManagerInTests
[] = "force-login-manager-in-tests";
171 // Indicates that the browser is in "browse without sign-in" (Guest session)
172 // mode. Should completely disable extensions, sync and bookmarks.
173 const char kGuestSession
[] = "bwsi";
175 // Wallpaper to use in guest mode (as paths to trusted, non-user-writable JPEG
177 const char kGuestWallpaperLarge
[] = "guest-wallpaper-large";
178 const char kGuestWallpaperSmall
[] = "guest-wallpaper-small";
180 // If true, the Chromebook has a Chrome OS keyboard. Don't use the flag for
182 const char kHasChromeOSKeyboard
[] = "has-chromeos-keyboard";
184 // If true, the Chromebook has a keyboard with a diamond key.
185 const char kHasChromeOSDiamondKey
[] = "has-chromeos-diamond-key";
187 // Defines user homedir. This defaults to primary user homedir.
188 const char kHomedir
[] = "homedir";
190 // With this switch, start remora OOBE with the pairing screen.
191 const char kHostPairingOobe
[] = "host-pairing-oobe";
193 // If true, profile selection in UserManager will always return active user's
195 // TODO(nkostlyev): http://crbug.com/364604 - Get rid of this switch after we
196 // turn on multi-profile feature on ChromeOS.
197 const char kIgnoreUserProfileMappingForTests
[] =
198 "ignore-user-profile-mapping-for-tests";
200 // Enables Chrome-as-a-login-manager behavior.
201 const char kLoginManager
[] = "login-manager";
203 // Specifies the profile to use once a chromeos user is logged in.
204 // This parameter is ignored if user goes through login screen since user_id
205 // hash defines which profile directory to use.
206 // In case of browser restart within active session this parameter is used
207 // to pass user_id hash for primary user.
208 const char kLoginProfile
[] = "login-profile";
210 // Specifies the user which is already logged in.
211 const char kLoginUser
[] = "login-user";
213 // Enables natural scroll by default.
214 const char kNaturalScrollDefault
[] = "enable-natural-scroll-default";
216 // Skips all other OOBE pages after user login.
217 const char kOobeSkipPostLogin
[] = "oobe-skip-postlogin";
219 // Disable GAIA services such as enrollment and OAuth session restore. Used by
220 // 'fake' telemetry login.
221 const char kDisableGaiaServices
[] = "disable-gaia-services";
223 // Interval at which we check for total time on OOBE.
224 const char kOobeTimerInterval
[] = "oobe-timer-interval";
226 // Indicates that a guest session has been started before OOBE completion.
227 const char kOobeGuestSession
[] = "oobe-guest-session";
229 // Specifies power stub behavior:
230 // 'cycle=2' - Cycles power states every 2 seconds.
231 // See FakeDBusThreadManager::ParsePowerCommandLineSwitch for full details.
232 const char kPowerStub
[] = "power-stub";
234 // Overrides network stub behavior. By default, ethernet, wifi and vpn are
235 // enabled, and transitions occur instantaneously. Multiple options can be
236 // comma separated (no spaces). Note: all options are in the format 'foo=x'.
237 // See FakeShillManagerClient::SetInitialNetworkState for implementation.
239 // 'clear=1' - Clears all default configurations
240 // 'wifi=on' - A wifi network is initially connected ('1' also works)
241 // 'wifi=off' - Wifi networks are all initially disconnected ('0' also works)
242 // 'wifi=disabled' - Wifi is initially disabled
243 // 'wifi=none' - Wifi is unavailable
244 // 'wifi=portal' - Wifi connection will be in Portal state
245 // 'cellular=1' - Cellular is initially connected
246 // 'interactive=3' - Interactive mode, connect/scan/etc requests take 3 secs
247 const char kShillStub
[] = "shill-stub";
249 // Sends test messages on first call to RequestUpdate (stub only).
250 const char kSmsTestMessages
[] = "sms-test-messages";
252 // Indicates that a stub implementation of CrosSettings that stores settings in
253 // memory without signing should be used, treating current user as the owner.
254 // This option is for testing the chromeos build of chrome on the desktop only.
255 const char kStubCrosSettings
[] = "stub-cros-settings";
257 // Indicates that the system is running in dev mode. The dev mode probing is
258 // done by session manager.
259 const char kSystemDevMode
[] = "system-developer-mode";
261 // Enables animated transitions during first-run tutorial.
262 const char kEnableFirstRunUITransitions
[] = "enable-first-run-ui-transitions";
264 // Forces first-run UI to be shown for every login.
265 const char kForceFirstRunUI
[] = "force-first-run-ui";
267 // Enables testing for auto update UI.
268 const char kTestAutoUpdateUI
[] = "test-auto-update-ui";
270 // Enable memory pressure checks on ChromeOS.
271 const char kUseMemoryPressureSystemChromeOS
[] = "use-memory-pressure-chromeos";
273 // Enables waking the device based on the receipt of some network packets.
274 const char kWakeOnPackets
[] = "wake-on-packets";
276 // Screenshot testing: specifies the directory where the golden screenshots are
278 const char kGoldenScreenshotsDir
[] = "golden-screenshots-dir";
280 // Screenshot testing: specifies the directoru where artifacts will be stored.
281 const char kArtifactsDir
[] = "artifacts-dir";
283 // Bypass proxy for captive portal authorization.
284 const char kEnableCaptivePortalBypassProxy
[] =
285 "enable-captive-portal-bypass-proxy";
287 bool WakeOnWifiEnabled() {
288 return !base::CommandLine::ForCurrentProcess()->HasSwitch(kDisableWakeOnWifi
);
291 } // namespace switches
292 } // namespace chromeos