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 "ash/ash_switches.h"
7 #include "base/command_line.h"
8 #include "base/sys_info.h"
13 // Enables an animated transition from the boot splash screen (Chrome logo on a
14 // white background) to the login screen. Implies
15 // |kAshCopyHostBackgroundAtBoot| and doesn't make much sense if used in
16 // conjunction with |kDisableBootAnimation| (since the transition begins at the
17 // same time as the white/grayscale login screen animation).
18 const char kAshAnimateFromBootSplashScreen
[] =
19 "ash-animate-from-boot-splash-screen";
21 // Copies the host window's content to the system background layer at startup.
22 // Can make boot slightly slower, but also hides an even-longer awkward period
23 // where we display a white background if the login wallpaper takes a long time
25 const char kAshCopyHostBackgroundAtBoot
[] = "ash-copy-host-background-at-boot";
27 // Enable keyboard shortcuts useful for debugging.
28 const char kAshDebugShortcuts
[] = "ash-debug-shortcuts";
30 // Disables the window backdrops normally used in maximize mode (TouchView).
31 const char kAshDisableMaximizeModeWindowBackdrop
[] =
32 "ash-disable-maximize-mode-window-backdrop";
34 #if defined(OS_CHROMEOS)
35 // Disable the support for WebContents to lock the screen orientation.
36 const char kAshDisableScreenOrientationLock
[] =
37 "ash-disable-screen-orientation-lock";
40 // Disable the Touch Exploration Mode. Touch Exploration Mode will no longer be
41 // turned on automatically when spoken feedback is enabled when this flag is
43 const char kAshDisableTouchExplorationMode
[] =
44 "ash-disable-touch-exploration-mode";
46 #if defined(OS_CHROMEOS)
47 // Enables fullscreen app list if Ash is in maximize mode.
48 const char kAshEnableFullscreenAppList
[] = "ash-enable-fullscreen-app-list";
50 // Enables key bindings to scroll magnified screen.
51 const char kAshEnableMagnifierKeyScroller
[] =
52 "ash-enable-magnifier-key-scroller";
54 // Enables unified desktop mode.
55 const char kAshEnableUnifiedDesktop
[] = "ash-enable-unified-desktop";
59 // Enables mirrored screen.
60 const char kAshEnableMirroredScreen
[] = "ash-enable-mirrored-screen";
62 // Enables / disables a stable order between overview sessions, independent of
63 // the MRU order which attempts to preserve relative window positions.
64 const char kAshDisableStableOverviewOrder
[] =
65 "ash-disable-stable-overview-order";
66 const char kAshEnableStableOverviewOrder
[] = "ash-enable-stable-overview-order";
68 // Enables quick, non-cancellable locking of the screen when in maximize mode.
69 const char kAshEnablePowerButtonQuickLock
[] =
70 "ash-enable-power-button-quick-lock";
72 // Specifies the screen rotation animation to use. Possible values are:
73 // "partial-rotation", "partial-rotation-slow", "full-rotation", and
74 // "full-rotation-slow". See ash/rotator/screen_rotation_animator.cc for more
76 const char kAshEnableScreenRotationAnimation
[] =
77 "ash-screen-rotation-animation";
79 // Enables software based mirroring.
80 const char kAshEnableSoftwareMirroring
[] = "ash-enable-software-mirroring";
82 // Enables touch view testing.
83 // TODO(skuhne): Remove TOGGLE_TOUCH_VIEW_TESTING accelerator once this
85 const char kAshEnableTouchViewTesting
[] = "ash-enable-touch-view-testing";
87 // When this flag is set, system sounds will be played whether the
88 // ChromeVox is enabled or not.
89 const char kAshEnableSystemSounds
[] = "ash-enable-system-sounds";
91 // Hides notifications that are irrelevant to Chrome OS device factory testing,
92 // such as battery level updates.
93 const char kAshHideNotificationsForFactory
[] =
94 "ash-hide-notifications-for-factory";
96 // Sets a window size, optional position, and optional scale factor.
97 // "1024x768" creates a window of size 1024x768.
98 // "100+200-1024x768" positions the window at 100,200.
99 // "1024x768*2" sets the scale factor to 2 for a high DPI display.
100 const char kAshHostWindowBounds
[] = "ash-host-window-bounds";
102 // Specifies the layout mode and offsets for the secondary display for
103 // testing. The format is "<t|r|b|l>,<offset>" where t=TOP, r=RIGHT,
104 // b=BOTTOM and L=LEFT. For example, 'r,-100' means the secondary display
105 // is positioned on the right with -100 offset. (above than primary)
106 const char kAshSecondaryDisplayLayout
[] = "ash-secondary-display-layout";
108 // Enables the heads-up display for tracking touch points.
109 const char kAshTouchHud
[] = "ash-touch-hud";
111 // Uses the 1st display in --ash-host-window-bounds as internal display.
112 // This is for debugging on linux desktop.
113 const char kAshUseFirstDisplayAsInternal
[] =
114 "ash-use-first-display-as-internal";
116 // (Most) Chrome OS hardware reports ACPI power button releases correctly.
117 // Standard hardware reports releases immediately after presses. If set, we
118 // lock the screen or shutdown the system immediately in response to a press
119 // instead of displaying an interactive animation.
120 const char kAuraLegacyPowerButton
[] = "aura-legacy-power-button";
123 // Force Ash to open its root window on the desktop, even on Windows 8 where
124 // it would normally end up in metro.
125 const char kForceAshToDesktop
[] = "ash-force-desktop";
129 #if defined(OS_CHROMEOS)
130 // Constrains the pointer movement within a root window on desktop.
131 bool ConstrainPointerToRoot() {
132 const char kAshConstrainPointerToRoot
[] = "ash-constrain-pointer-to-root";
134 return base::SysInfo::IsRunningOnChromeOS() ||
135 base::CommandLine::ForCurrentProcess()->HasSwitch(
136 kAshConstrainPointerToRoot
);
141 } // namespace switches