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 // Comma-spearated list of dbus clients that should be unstubbed.
     25 // See chromeos/dbus/dbus_client_bundle.cc for the names of the dbus clients.
     26 const char kDbusUnstubClients[] = "dbus-unstub-clients";
     27 
     28 // Time before a machine at OOBE is considered derelict.
     29 const char kDerelictDetectionTimeout[] = "derelict-detection-timeout";
     30 
     31 // Time before a derelict machines starts demo mode.
     32 const char kDerelictIdleTimeout[] = "derelict-idle-timeout";
     33 
     34 // Disables wallpaper boot animation (except of OOBE case).
     35 const char kDisableBootAnimation[] = "disable-boot-animation";
     36 
     37 // Disables the ChromeOS demo.
     38 const char kDisableDemoMode[] = "disable-demo-mode";
     39 
     40 // Disable Easy sign-in.
     41 const char kDisableEasySignin[] = "disable-easy-signin";
     42 
     43 // Disable HID-detection OOBE screen.
     44 const char kDisableHIDDetectionOnOOBE[] = "disable-hid-detection-on-oobe";
     45 
     46 // Avoid doing expensive animations upon login.
     47 const char kDisableLoginAnimations[] = "disable-login-animations";
     48 
     49 // Disable login/lock UI (user pods) scrolling into view on JS side when virtual
     50 // keyboard is shown.
     51 const char kDisableLoginScrollIntoView[] = "disable-login-scroll-into-view";
     52 
     53 // Disable new channel switcher UI.
     54 const char kDisableNewChannelSwitcherUI[] = "disable-new-channel-switcher-ui";
     55 
     56 // Disables new Kiosk UI when kiosk apps are represented as user pods.
     57 const char kDisableNewKioskUI[] = "disable-new-kiosk-ui";
     58 
     59 // Disable Office Editing for Docs, Sheets & Slides component app so handlers
     60 // won't be registered, making it possible to install another version for
     61 // testing.
     62 const char kDisableOfficeEditingComponentApp[] =
     63     "disable-office-editing-component-extension";
     64 
     65 // Disables volume adjust sound.
     66 const char kDisableVolumeAdjustSound[] = "disable-volume-adjust-sound";
     67 
     68 // Disables notifications about captive portals in session.
     69 const char kDisableNetworkPortalNotification[] =
     70     "disable-network-portal-notification";
     71 
     72 // Enables switching between different cellular carriers from the UI.
     73 const char kEnableCarrierSwitching[] = "enable-carrier-switching";
     74 
     75 // Enables the next generation version of ChromeVox.
     76 const char kEnableChromeVoxNext[] = "enable-chromevox-next";
     77 
     78 // Enables consumer management, which allows user to enroll, remotely lock and
     79 // locate the device.
     80 const char kEnableConsumerManagement[] = "enable-consumer-management";
     81 
     82 // If this switch is set, Chrome OS login screen uses |EmbeddedSignin| endpoint
     83 // of GAIA.
     84 const char kEnableEmbeddedSignin[] = "enable-embedded-signin";
     85 
     86 // Enabled sharing assets for installed default apps.
     87 const char kEnableExtensionAssetsSharing[]  = "enable-extension-assets-sharing";
     88 
     89 // Enables notifications about captive portals in session.
     90 const char kEnableNetworkPortalNotification[] =
     91     "enable-network-portal-notification";
     92 
     93 // Enables rollback option on reset screen.
     94 const char kEnableRollbackOption[] = "enable-rollback-option";
     95 
     96 // Enables touchpad three-finger-click as middle button.
     97 const char kEnableTouchpadThreeFingerClick[]
     98     = "enable-touchpad-three-finger-click";
     99 
    100 // Enables using screenshots in tests and seets mode.
    101 const char kEnableScreenshotTestingWithMode[] =
    102     "enable-screenshot-testing-with-mode";
    103 
    104 // Enable Kiosk mode for ChromeOS. Note this switch refers to retail mode rather
    105 // than the kiosk app mode.
    106 const char kEnableKioskMode[] = "enable-kiosk-mode";
    107 
    108 // Enables request of tablet site (via user agent override).
    109 const char kEnableRequestTabletSite[] = "enable-request-tablet-site";
    110 
    111 // Whether to enable forced enterprise re-enrollment.
    112 const char kEnterpriseEnableForcedReEnrollment[] =
    113     "enterprise-enable-forced-re-enrollment";
    114 
    115 // Power of the power-of-2 initial modulus that will be used by the
    116 // auto-enrollment client. E.g. "4" means the modulus will be 2^4 = 16.
    117 const char kEnterpriseEnrollmentInitialModulus[] =
    118     "enterprise-enrollment-initial-modulus";
    119 
    120 // Power of the power-of-2 maximum modulus that will be used by the
    121 // auto-enrollment client.
    122 const char kEnterpriseEnrollmentModulusLimit[] =
    123     "enterprise-enrollment-modulus-limit";
    124 
    125 // Don't create robot account on enrollment. Used when testing device
    126 // enrollment against YAPS or the Python test server.
    127 const char kEnterpriseEnrollmentSkipRobotAuth[] =
    128     "enterprise-enrollment-skip-robot-auth";
    129 
    130 // Enables the chromecast support for video player app.
    131 const char kEnableVideoPlayerChromecastSupport[] =
    132     "enable-video-player-chromecast-support";
    133 
    134 // Passed to Chrome the first time that it's run after the system boots.
    135 // Not passed on restart after sign out.
    136 const char kFirstExecAfterBoot[] = "first-exec-after-boot";
    137 
    138 // Usually in browser tests the usual login manager bringup is skipped so that
    139 // tests can change how it's brought up. This flag disables that.
    140 const char kForceLoginManagerInTests[] = "force-login-manager-in-tests";
    141 
    142 // Indicates that the browser is in "browse without sign-in" (Guest session)
    143 // mode. Should completely disable extensions, sync and bookmarks.
    144 const char kGuestSession[] = "bwsi";
    145 
    146 // If true, the Chromebook has a Chrome OS keyboard. Don't use the flag for
    147 // Chromeboxes.
    148 const char kHasChromeOSKeyboard[] = "has-chromeos-keyboard";
    149 
    150 // If true, the Chromebook has a keyboard with a diamond key.
    151 const char kHasChromeOSDiamondKey[] = "has-chromeos-diamond-key";
    152 
    153 // Defines user homedir. This defaults to primary user homedir.
    154 const char kHomedir[]           = "homedir";
    155 
    156 // With this switch, start remora OOBE with the pairing screen.
    157 const char kHostPairingOobe[] = "host-pairing-oobe";
    158 
    159 // If true, profile selection in UserManager will always return active user's
    160 // profile.
    161 // TODO(nkostlyev): http://crbug.com/364604 - Get rid of this switch after we
    162 // turn on multi-profile feature on ChromeOS.
    163 const char kIgnoreUserProfileMappingForTests[] =
    164     "ignore-user-profile-mapping-for-tests";
    165 
    166 // Path for the screensaver used in Kiosk mode
    167 const char kKioskModeScreensaverPath[] = "kiosk-mode-screensaver-path";
    168 
    169 // Enables Chrome-as-a-login-manager behavior.
    170 const char kLoginManager[] = "login-manager";
    171 
    172 // Specifies the profile to use once a chromeos user is logged in.
    173 // This parameter is ignored if user goes through login screen since user_id
    174 // hash defines which profile directory to use.
    175 // In case of browser restart within active session this parameter is used
    176 // to pass user_id hash for primary user.
    177 const char kLoginProfile[] = "login-profile";
    178 
    179 // Specifies the user which is already logged in.
    180 const char kLoginUser[] = "login-user";
    181 
    182 // Enables natural scroll by default.
    183 const char kNaturalScrollDefault[] = "enable-natural-scroll-default";
    184 
    185 // Skips all other OOBE pages after user login.
    186 const char kOobeSkipPostLogin[] = "oobe-skip-postlogin";
    187 
    188 // Disable GAIA services such as enrollment and OAuth session restore. Used by
    189 // 'fake' telemetry login.
    190 const char kDisableGaiaServices[] = "disable-gaia-services";
    191 
    192 // Interval at which we check for total time on OOBE.
    193 const char kOobeTimerInterval[] = "oobe-timer-interval";
    194 
    195 // Indicates that a guest session has been started before OOBE completion.
    196 const char kOobeGuestSession[] = "oobe-guest-session";
    197 
    198 // Specifies power stub behavior:
    199 //  'cycle=2' - Cycles power states every 2 seconds.
    200 // See FakeDBusThreadManager::ParsePowerCommandLineSwitch for full details.
    201 const char kPowerStub[] = "power-stub";
    202 
    203 // Overrides network stub behavior. By default, ethernet, wifi and vpn are
    204 // enabled, and transitions occur instantaneously. Multiple options can be
    205 // comma separated (no spaces). Note: all options are in the format 'foo=x'.
    206 // See FakeShillManagerClient::SetInitialNetworkState for implementation.
    207 // Examples:
    208 //  'clear=1' - Clears all default configurations
    209 //  'wifi=on' - A wifi network is initially connected ('1' also works)
    210 //  'wifi=off' - Wifi networks are all initially disconnected ('0' also works)
    211 //  'wifi=disabled' - Wifi is initially disabled
    212 //  'wifi=none' - Wifi is unavailable
    213 //  'wifi=portal' - Wifi connection will be in Portal state
    214 //  'cellular=1' - Cellular is initially connected
    215 //  'interactive=3' - Interactive mode, connect/scan/etc requests take 3 secs
    216 const char kShillStub[] = "shill-stub";
    217 
    218 // Sends test messages on first call to RequestUpdate (stub only).
    219 const char kSmsTestMessages[] = "sms-test-messages";
    220 
    221 // Indicates that a stub implementation of CrosSettings that stores settings in
    222 // memory without signing should be used, treating current user as the owner.
    223 // This option is for testing the chromeos build of chrome on the desktop only.
    224 const char kStubCrosSettings[] = "stub-cros-settings";
    225 
    226 // Enables animated transitions during first-run tutorial.
    227 const char kEnableFirstRunUITransitions[] = "enable-first-run-ui-transitions";
    228 
    229 // Forces first-run UI to be shown for every login.
    230 const char kForceFirstRunUI[] = "force-first-run-ui";
    231 
    232 // Enables testing for auto update UI.
    233 const char kTestAutoUpdateUI[] = "test-auto-update-ui";
    234 
    235 // Enables waking the device based on the receipt of some network packets.
    236 const char kWakeOnPackets[] = "wake-on-packets";
    237 
    238 // Screenshot testing: specifies the directory where the golden screenshots are
    239 // stored.
    240 const char kGoldenScreenshotsDir[] = "golden-screenshots-dir";
    241 
    242 // Screenshot testing: specifies the directoru where artifacts will be stored.
    243 const char kArtifactsDir[] = "artifacts-dir";
    244 
    245 }  // namespace switches
    246 }  // namespace chromeos
    247