Home | History | Annotate | Download | only in chromeos
      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 
      7 namespace chromeos {
      8 namespace switches {
      9 
     10 // Path for app's OEM manifest file.
     11 const 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.
     16 const char kAshWebUIInit[] = "ash-webui-init";
     17 
     18 // Specifies the URL of the consumer device management backend.
     19 const char kConsumerDeviceManagementUrl[] = "consumer-device-management-url";
     20 
     21 // Forces the stub implementation of dbus clients.
     22 const char kDbusStub[] = "dbus-stub";
     23 
     24 // Time before a machine at OOBE is considered derelict.
     25 const char kDerelictDetectionTimeout[] = "derelict-detection-timeout";
     26 
     27 // Time before a derelict machines starts demo mode.
     28 const char kDerelictIdleTimeout[] = "derelict-idle-timeout";
     29 
     30 // Disables wallpaper boot animation (except of OOBE case).
     31 const char kDisableBootAnimation[] = "disable-boot-animation";
     32 
     33 // Disables the ChromeOS demo.
     34 const char kDisableDemoMode[] = "disable-demo-mode";
     35 
     36 // Disable Genius App and use the original Help App instead.
     37 const char kDisableGeniusApp[] = "disable-genius-app";
     38 
     39 // Disable HID-detection OOBE screen.
     40 const char kDisableHIDDetectionOnOOBE[]      = "disable-hid-detection-on-oobe";
     41 
     42 // Avoid doing expensive animations upon login.
     43 const char kDisableLoginAnimations[] = "disable-login-animations";
     44 
     45 // Disable login/lock UI (user pods) scrolling into view on JS side when virtual
     46 // keyboard is shown.
     47 const char kDisableLoginScrollIntoView[]    = "disable-login-scroll-into-view";
     48 
     49 // Disable new channel switcher UI.
     50 const char kDisableNewChannelSwitcherUI[] = "disable-new-channel-switcher-ui";
     51 
     52 // Disables new Kiosk UI when kiosk apps are represented as user pods.
     53 const char kDisableNewKioskUI[] = "disable-new-kiosk-ui";
     54 
     55 // Disable Quickoffice component app thus handlers won't be registered so
     56 // it will be possible to install another version as normal app for testing.
     57 const char kDisableQuickofficeComponentApp[] =
     58     "disable-quickoffice-component-app";
     59 
     60 // Disables volume adjust sound.
     61 const char kDisableVolumeAdjustSound[] = "disable-volume-adjust-sound";
     62 
     63 // Disables notifications about captive portals in session.
     64 const char kDisableNetworkPortalNotification[] =
     65     "disable-network-portal-notification";
     66 
     67 // Enables switching between different cellular carriers from the UI.
     68 const char kEnableCarrierSwitching[] = "enable-carrier-switching";
     69 
     70 // Enables the next generation version of ChromeVox. Only valid with
     71 // use_chromevox_next=1 within your GYP_DEFINES.
     72 const char kEnableChromeVoxNext[] = "enable-chromevox-next";
     73 
     74 // Enables consumer management, which allows user to enroll, remotely lock and
     75 // locate the device.
     76 const char kEnableConsumerManagement[] = "enable-consumer-management";
     77 
     78 // If this switch is set, Chrome OS login screen uses |EmbeddedSignin| endpoint
     79 // of GAIA.
     80 const char kEnableEmbeddedSignin[] = "enable-embedded-signin";
     81 
     82 // Enabled sharing assets for installed default apps.
     83 const char kEnableExtensionAssetsSharing[]  = "enable-extension-assets-sharing";
     84 
     85 // Enables MTP support in Files.app.
     86 const char kEnableFileManagerMTP[] = "enable-filemanager-mtp";
     87 
     88 // Enables notifications about captive portals in session.
     89 const char kEnableNetworkPortalNotification[] =
     90     "enable-network-portal-notification";
     91 
     92 // Enables touchpad three-finger-click as middle button.
     93 const char kEnableTouchpadThreeFingerClick[]
     94     = "enable-touchpad-three-finger-click";
     95 
     96 // Enable Kiosk mode for ChromeOS. Note this switch refers to retail mode rather
     97 // than the kiosk app mode.
     98 const char kEnableKioskMode[] = "enable-kiosk-mode";
     99 
    100 // Enables rollback option for resetting ChromeOS.
    101 const char kEnableRollbackOption[] = "enable-rollback-option";
    102 
    103 // Enables request of tablet site (via user agent override).
    104 const char kEnableRequestTabletSite[] = "enable-request-tablet-site";
    105 
    106 // Whether to enable forced enterprise re-enrollment.
    107 const char kEnterpriseEnableForcedReEnrollment[] =
    108     "enterprise-enable-forced-re-enrollment";
    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.
    112 const 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.
    117 const char kEnterpriseEnrollmentModulusLimit[] =
    118     "enterprise-enrollment-modulus-limit";
    119 
    120 // Don't create robot account on enrollment. Used when testing device
    121 // enrollment against YAPS or the Python test server.
    122 const char kEnterpriseEnrollmentSkipRobotAuth[] =
    123     "enterprise-enrollment-skip-robot-auth";
    124 
    125 // Enables the new gallery in the Files.app.
    126 const char kFileManagerEnableNewGallery[] =
    127     "file-manager-enable-new-gallery";
    128 
    129 // Enables the new audio player in the Files.app.
    130 const char kFileManagerEnableNewAudioPlayer[] =
    131     "file-manager-enable-new-audio-player";
    132 
    133 // Passed to Chrome the first time that it's run after the system boots.
    134 // Not passed on restart after sign out.
    135 const char kFirstExecAfterBoot[] = "first-exec-after-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.
    139 const 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.
    143 const char kGuestSession[] = "bwsi";
    144 
    145 // If true, the Chromebook has a Chrome OS keyboard. Don't use the flag for
    146 // Chromeboxes.
    147 const char kHasChromeOSKeyboard[] = "has-chromeos-keyboard";
    148 
    149 // If true, the Chromebook has a keyboard with a diamond key.
    150 const char kHasChromeOSDiamondKey[] = "has-chromeos-diamond-key";
    151 
    152 // Defines user homedir. This defaults to primary user homedir.
    153 const char kHomedir[]           = "homedir";
    154 
    155 // If true, profile selection in UserManager will always return active user's
    156 // profile.
    157 // TODO(nkostlyev): http://crbug.com/364604 - Get rid of this switch after we
    158 // turn on multi-profile feature on ChromeOS.
    159 const char kIgnoreUserProfileMappingForTests[] =
    160     "ignore-user-profile-mapping-for-tests";
    161 
    162 // Path for the screensaver used in Kiosk mode
    163 const char kKioskModeScreensaverPath[] = "kiosk-mode-screensaver-path";
    164 
    165 // Enables Chrome-as-a-login-manager behavior.
    166 const char kLoginManager[] = "login-manager";
    167 
    168 // Specifies a password to be used to login (along with login-user).
    169 const char kLoginPassword[] = "login-password";
    170 
    171 // Specifies the profile to use once a chromeos user is logged in. This is
    172 // required unless --multi-profile is set.
    173 const char kLoginProfile[] = "login-profile";
    174 
    175 // Specifies the user which is already logged in.
    176 const char kLoginUser[] = "login-user";
    177 
    178 // Enables natural scroll by default.
    179 const char kNaturalScrollDefault[] = "enable-natural-scroll-default";
    180 
    181 // Skips all other OOBE pages after user login.
    182 const char kOobeSkipPostLogin[] = "oobe-skip-postlogin";
    183 
    184 // Interval at which we check for total time on OOBE.
    185 const char kOobeTimerInterval[] = "oobe-timer-interval";
    186 
    187 // Indicates that a guest session has been started before OOBE completion.
    188 const char kOobeGuestSession[] = "oobe-guest-session";
    189 
    190 // Specifies power stub behavior:
    191 //  'cycle=2' - Cycles power states every 2 seconds.
    192 // See FakeDBusThreadManager::ParsePowerCommandLineSwitch for full details.
    193 const char kPowerStub[] = "power-stub";
    194 
    195 // Specifies network stub behavior. If this switch is not specified,
    196 // ethernet, wifi and vpn are enabled by default, and transitions occur
    197 // instantaneously. Multiple options can be comma separated (no spaces).
    198 // See FakeShillManagerClient::SetInitialNetworkState for implementation.
    199 // Examples:
    200 //  'wifi=on' - A wifi network is initially connected ('1' also works)
    201 //  'wifi=off' - Wifi networks are all initially disconnected ('0' also works)
    202 //  'wifi=disabled' - Wifi is initially disabled
    203 //  'wifi=none' - Wifi is unavailable
    204 //  'wifi=portal' - Wifi connection will be in Portal state
    205 //  'cellular=1' - Cellular is initially connected
    206 //  'interactive=3' - Interactive mode, connect/scan/etc requests take 3 secs
    207 const char kShillStub[] = "shill-stub";
    208 
    209 // Sends test messages on first call to RequestUpdate (stub only).
    210 const char kSmsTestMessages[] = "sms-test-messages";
    211 
    212 // Indicates that a stub implementation of CrosSettings that stores settings in
    213 // memory without signing should be used, treating current user as the owner.
    214 // This option is for testing the chromeos build of chrome on the desktop only.
    215 const char kStubCrosSettings[] = "stub-cros-settings";
    216 
    217 // Disables SAML sigin support.
    218 const char kDisableSamlSignin[] = "disable-saml-signin";
    219 
    220 // Enables animated transitions during first-run tutorial.
    221 const char kEnableFirstRunUITransitions[] = "enable-first-run-ui-transitions";
    222 
    223 // Forces first-run UI to be shown for every login.
    224 const char kForceFirstRunUI[] = "force-first-run-ui";
    225 
    226 // Enables testing for auto update UI.
    227 const char kTestAutoUpdateUI[] = "test-auto-update-ui";
    228 
    229 }  // namespace switches
    230 }  // namespace chromeos
    231