Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(82)

Side by Side Diff: ash/system/tray_accessibility.h

Issue 2084733002: mash: Move tray accessibility and keyboard to //ash/common (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@typenamespace
Patch Set: rebase Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ash/system/tray/tray_details_view_unittest.cc ('k') | ash/system/tray_accessibility.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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 #ifndef ASH_SYSTEM_TRAY_ACCESSIBILITY_H_
6 #define ASH_SYSTEM_TRAY_ACCESSIBILITY_H_
7
8 #include <stdint.h>
9
10 #include "ash/common/accessibility_delegate.h"
11 #include "ash/common/shell_observer.h"
12 #include "ash/common/system/accessibility_observer.h"
13 #include "ash/common/system/tray/tray_image_item.h"
14 #include "ash/common/system/tray/tray_notification_view.h"
15 #include "ash/common/system/tray/view_click_listener.h"
16 #include "ash/system/tray/tray_details_view.h"
17 #include "base/macros.h"
18 #include "ui/gfx/font.h"
19 #include "ui/views/controls/button/button.h"
20
21 namespace chromeos {
22 class TrayAccessibilityTest;
23 }
24
25 namespace views {
26 class Button;
27 class ImageView;
28 class Label;
29 class View;
30 }
31
32 namespace ash {
33 class HoverHighlightView;
34 class SystemTrayItem;
35
36 namespace tray {
37
38 class AccessibilityPopupView : public TrayNotificationView {
39 public:
40 AccessibilityPopupView(SystemTrayItem* owner, uint32_t enabled_state_bits);
41
42 const views::Label* label_for_test() const { return label_; }
43
44 private:
45 views::Label* CreateLabel(uint32_t enabled_state_bits);
46
47 views::Label* label_;
48
49 DISALLOW_COPY_AND_ASSIGN(AccessibilityPopupView);
50 };
51
52 class AccessibilityDetailedView : public TrayDetailsView,
53 public ViewClickListener,
54 public views::ButtonListener,
55 public ShellObserver {
56 public:
57 AccessibilityDetailedView(SystemTrayItem* owner, LoginStatus login);
58 ~AccessibilityDetailedView() override {}
59
60 private:
61 // Add the accessibility feature list.
62 void AppendAccessibilityList();
63
64 // Add help entries.
65 void AppendHelpEntries();
66
67 HoverHighlightView* AddScrollListItem(const base::string16& text,
68 bool highlight,
69 bool checked);
70 // Overridden from ViewClickListener.
71 void OnViewClicked(views::View* sender) override;
72 // Overridden from ButtonListener.
73 void ButtonPressed(views::Button* sender, const ui::Event& event) override;
74
75 views::View* spoken_feedback_view_;
76 views::View* high_contrast_view_;
77 views::View* screen_magnifier_view_;
78 views::View* large_cursor_view_;
79 views::View* help_view_;
80 views::View* settings_view_;
81 views::View* autoclick_view_;
82 views::View* virtual_keyboard_view_;
83
84 bool spoken_feedback_enabled_;
85 bool high_contrast_enabled_;
86 bool screen_magnifier_enabled_;
87 bool large_cursor_enabled_;
88 bool autoclick_enabled_;
89 bool virtual_keyboard_enabled_;
90 LoginStatus login_;
91
92 friend class chromeos::TrayAccessibilityTest;
93 DISALLOW_COPY_AND_ASSIGN(AccessibilityDetailedView);
94 };
95
96 } // namespace tray
97
98 class TrayAccessibility : public TrayImageItem,
99 public AccessibilityObserver {
100 public:
101 explicit TrayAccessibility(SystemTray* system_tray);
102 ~TrayAccessibility() override;
103
104 private:
105 void SetTrayIconVisible(bool visible);
106 tray::AccessibilityDetailedView* CreateDetailedMenu();
107
108 // Overridden from TrayImageItem.
109 bool GetInitialVisibility() override;
110 views::View* CreateDefaultView(LoginStatus status) override;
111 views::View* CreateDetailedView(LoginStatus status) override;
112 void DestroyDefaultView() override;
113 void DestroyDetailedView() override;
114 void UpdateAfterLoginStatusChange(LoginStatus status) override;
115
116 // Overridden from AccessibilityObserver.
117 void OnAccessibilityModeChanged(
118 AccessibilityNotificationVisibility notify) override;
119
120 views::View* default_;
121 tray::AccessibilityPopupView* detailed_popup_;
122 tray::AccessibilityDetailedView* detailed_menu_;
123
124 // Bitmap of fvalues from AccessibilityState. Can contain any or
125 // both of A11Y_SPOKEN_FEEDBACK A11Y_BRAILLE_DISPLAY_CONNECTED.
126 uint32_t request_popup_view_state_;
127
128 bool tray_icon_visible_;
129 LoginStatus login_;
130
131 // Bitmap of values from AccessibilityState enum.
132 uint32_t previous_accessibility_state_;
133
134 // A11y feature status on just entering the lock screen.
135 bool show_a11y_menu_on_lock_screen_;
136
137 friend class chromeos::TrayAccessibilityTest;
138 DISALLOW_COPY_AND_ASSIGN(TrayAccessibility);
139 };
140
141 } // namespace ash
142
143 #endif // ASH_SYSTEM_TRAY_ACCESSIBILITY_H_
OLDNEW
« no previous file with comments | « ash/system/tray/tray_details_view_unittest.cc ('k') | ash/system/tray_accessibility.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698