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 // Enables software based mirroring.
73 const char kAshEnableSoftwareMirroring
[] = "ash-enable-software-mirroring";
75 // Enables touch view testing.
76 // TODO(skuhne): Remove TOGGLE_TOUCH_VIEW_TESTING accelerator once this
78 const char kAshEnableTouchViewTesting
[] = "ash-enable-touch-view-testing";
80 // When this flag is set, system sounds will be played whether the
81 // ChromeVox is enabled or not.
82 const char kAshEnableSystemSounds
[] = "ash-enable-system-sounds";
84 // Hides notifications that are irrelevant to Chrome OS device factory testing,
85 // such as battery level updates.
86 const char kAshHideNotificationsForFactory
[] =
87 "ash-hide-notifications-for-factory";
89 // Sets a window size, optional position, and optional scale factor.
90 // "1024x768" creates a window of size 1024x768.
91 // "100+200-1024x768" positions the window at 100,200.
92 // "1024x768*2" sets the scale factor to 2 for a high DPI display.
93 const char kAshHostWindowBounds
[] = "ash-host-window-bounds";
95 // Specifies the layout mode and offsets for the secondary display for
96 // testing. The format is "<t|r|b|l>,<offset>" where t=TOP, r=RIGHT,
97 // b=BOTTOM and L=LEFT. For example, 'r,-100' means the secondary display
98 // is positioned on the right with -100 offset. (above than primary)
99 const char kAshSecondaryDisplayLayout
[] = "ash-secondary-display-layout";
101 // Enables the heads-up display for tracking touch points.
102 const char kAshTouchHud
[] = "ash-touch-hud";
104 // Uses the 1st display in --ash-host-window-bounds as internal display.
105 // This is for debugging on linux desktop.
106 const char kAshUseFirstDisplayAsInternal
[] =
107 "ash-use-first-display-as-internal";
109 // (Most) Chrome OS hardware reports ACPI power button releases correctly.
110 // Standard hardware reports releases immediately after presses. If set, we
111 // lock the screen or shutdown the system immediately in response to a press
112 // instead of displaying an interactive animation.
113 const char kAuraLegacyPowerButton
[] = "aura-legacy-power-button";
116 // Force Ash to open its root window on the desktop, even on Windows 8 where
117 // it would normally end up in metro.
118 const char kForceAshToDesktop
[] = "ash-force-desktop";
122 #if defined(OS_CHROMEOS)
123 // Constrains the pointer movement within a root window on desktop.
124 bool ConstrainPointerToRoot() {
125 const char kAshConstrainPointerToRoot
[] = "ash-constrain-pointer-to-root";
127 return base::SysInfo::IsRunningOnChromeOS() ||
128 base::CommandLine::ForCurrentProcess()->HasSwitch(
129 kAshConstrainPointerToRoot
);
134 } // namespace switches