15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ash/ash_switches.h" 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 7a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)#include "base/command_line.h" 8a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles) 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace ash { 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace switches { 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Enables an animated transition from the boot splash screen (Chrome logo on a 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// white background) to the login screen. Implies 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// |kAshCopyHostBackgroundAtBoot| and doesn't make much sense if used in 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// conjunction with |kDisableBootAnimation| (since the transition begins at the 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// same time as the white/grayscale login screen animation). 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kAshAnimateFromBootSplashScreen[] = 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "ash-animate-from-boot-splash-screen"; 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Constrains the pointer movement within a root window on desktop. 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kAshConstrainPointerToRoot[] = "ash-constrain-pointer-to-root"; 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copies the host window's content to the system background layer at startup. 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Can make boot slightly slower, but also hides an even-longer awkward period 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// where we display a white background if the login wallpaper takes a long time 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// to load. 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kAshCopyHostBackgroundAtBoot[] = "ash-copy-host-background-at-boot"; 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Enable keyboard shortcuts useful for debugging. 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kAshDebugShortcuts[] = "ash-debug-shortcuts"; 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 32f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// Indicates that the wallpaper images specified by 33f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// kAshDefaultWallpaper{Large,Small} are OEM-specific (i.e. they are not 34f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// downloadable from Google). 35f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)const char kAshDefaultWallpaperIsOem[] = "ash-default-wallpaper-is-oem"; 36f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 37eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// Default wallpaper to use (as paths to trusted, non-user-writable JPEG files). 38eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochconst char kAshDefaultWallpaperLarge[] = "ash-default-wallpaper-large"; 39eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochconst char kAshDefaultWallpaperSmall[] = "ash-default-wallpaper-small"; 40eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 4146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// Disables LockLayoutManager used for LockScreenContainer, return back to 4246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// WorkspaceLayoutManager. 4346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)const char kAshDisableLockLayoutManager[] = "ash-disable-lock-layout-manager"; 4446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 45cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Disable the Touch Exploration Mode. Touch Exploration Mode will no longer be 46cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// turned on automatically when spoken feedback is enabled when this flag is 47cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// set. 48cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)const char kAshDisableTouchExplorationMode[] = 49cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) "ash-disable-touch-exploration-mode"; 5058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 51f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#if defined(OS_CHROMEOS) 525d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// Enables key bindings to scroll magnified screen. 535d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)const char kAshEnableMagnifierKeyScroller[] = 545d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) "ash-enable-magnifier-key-scroller"; 55f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#endif 56f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 57116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Enables text filtering with the keyboard in Overview Mode. 58116680a4aac90f2aa7413d9095a592090648e557Ben Murdochconst char kAshDisableTextFilteringInOverviewMode[] = 59116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch "ash-disable-text-filtering-in-overview-mode"; 60116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 611320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Enables quick, non-cancellable locking of the screen when in maximize mode. 621320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciconst char kAshEnablePowerButtonQuickLock[] = 631320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci "ash-enable-power-button-quick-lock"; 641320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 6568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)// Enables software based mirroring. 6668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)const char kAshEnableSoftwareMirroring[] = "ash-enable-software-mirroring"; 67a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) 68a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)// Enables touch view testing. 69c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch// TODO(skuhne): Remove TOGGLE_TOUCH_VIEW_TESTING accelerator once this 70c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch// flag is removed. 71a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)const char kAshEnableTouchViewTesting[] = "ash-enable-touch-view-testing"; 72c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 731320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Enables additional visual feedback to touch input. 741320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciconst char kAshEnableTouchViewTouchFeedback[] = 751320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci "ash-enable-touch-view-touch-feedback"; 761320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 775d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// When this flag is set, system sounds will be played whether the 785d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// ChromeVox is enabled or not. 795d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)const char kAshEnableSystemSounds[] = "ash-enable-system-sounds"; 805d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Enables showing the tray bubble by dragging on the shelf. 825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kAshEnableTrayDragging[] = "ash-enable-tray-dragging"; 835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 844e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// Wallpaper to use in guest mode (as paths to trusted, non-user-writable JPEG 854e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// files). 864e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)const char kAshGuestWallpaperLarge[] = "ash-guest-wallpaper-large"; 874e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)const char kAshGuestWallpaperSmall[] = "ash-guest-wallpaper-small"; 884e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 897d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)// Hides notifications that are irrelevant to Chrome OS device factory testing, 907d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)// such as battery level updates. 917d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)const char kAshHideNotificationsForFactory[] = 927d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) "ash-hide-notifications-for-factory"; 937d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) 942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Sets a window size, optional position, and optional scale factor. 952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// "1024x768" creates a window of size 1024x768. 962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// "100+200-1024x768" positions the window at 100,200. 972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// "1024x768*2" sets the scale factor to 2 for a high DPI display. 982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kAshHostWindowBounds[] = "ash-host-window-bounds"; 992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Specifies the layout mode and offsets for the secondary display for 1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// testing. The format is "<t|r|b|l>,<offset>" where t=TOP, r=RIGHT, 1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// b=BOTTOM and L=LEFT. For example, 'r,-100' means the secondary display 1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// is positioned on the right with -100 offset. (above than primary) 1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kAshSecondaryDisplayLayout[] = "ash-secondary-display-layout"; 1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Enables the heads-up display for tracking touch points. 1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kAshTouchHud[] = "ash-touch-hud"; 1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 109c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Uses the 1st display in --ash-host-window-bounds as internal display. 110c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// This is for debugging on linux desktop. 111c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)const char kAshUseFirstDisplayAsInternal[] = 112c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) "ash-use-first-display-as-internal"; 113c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// (Most) Chrome OS hardware reports ACPI power button releases correctly. 1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Standard hardware reports releases immediately after presses. If set, we 1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// lock the screen or shutdown the system immediately in response to a press 1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// instead of displaying an interactive animation. 1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kAuraLegacyPowerButton[] = "aura-legacy-power-button"; 1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if defined(OS_WIN) 1212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Force Ash to open its root window on the desktop, even on Windows 8 where 1222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// it would normally end up in metro. 1232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kForceAshToDesktop[] = "ash-force-desktop"; 124b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) 1252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif 1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace switches 1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace ash 129