1 // Copyright 2019 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 #ifndef ASH_PUBLIC_CPP_KEYBOARD_KEYBOARD_TYPES_H_ 6 #define ASH_PUBLIC_CPP_KEYBOARD_KEYBOARD_TYPES_H_ 7 8 #include "ash/public/cpp/ash_public_export.h" 9 10 namespace keyboard { 11 12 // Flags that affect whether or not the virtual keyboard should be enabled. 13 // Enabled/Disabled flag pairs are mutually exclusive, but flags from multiple 14 // sources may be set. Precedence is determined by the implementation in 15 // KeyboardController::IsKeyboardEnableRequested. 16 enum class KeyboardEnableFlag { 17 // Enabled by policy. 18 kPolicyEnabled, 19 20 // Disabled by policy. 21 kPolicyDisabled, 22 23 // Disabled by the Android keyboard. 24 kAndroidDisabled, 25 26 // Enabled by a first-party extension. 27 kExtensionEnabled, 28 29 // Disabled by a first-party extension. 30 kExtensionDisabled, 31 32 // Enabled by an a11y controller. 33 kAccessibilityEnabled, 34 35 // Enabled by the shelf/launcher controller. 36 kShelfEnabled, 37 38 // Enabled by the touch controller. 39 kTouchEnabled, 40 41 // Enabled via the "--enable-virtual-keyboard" command line switch. 42 // Used for development and debugging. 43 kCommandLineEnabled, 44 }; 45 46 // Container types used to set and identify container behavior. Used in UMA 47 // stats gathering, so values should never be changed or reused. 48 enum class ContainerType { 49 // Corresponds to a ContainerFullWidthBehavior. 50 kFullWidth = 0, 51 52 // Corresponds to a ContainerFloatingBehavior. 53 kFloating = 1, 54 55 // Corresponds to a ContainerFullscreenBehavior. 56 // kFullscreen = 2, // Deprecated; feature was abandoned. 57 58 kMaxValue = ContainerType::kFloating, 59 }; 60 61 } // namespace keyboard 62 63 #endif // ASH_PUBLIC_CPP_KEYBOARD_KEYBOARD_TYPES_H_ 64