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

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

Issue 11519036: A11y: Add a browser test of TrayAccessibility. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix test failure on win_rel Created 8 years 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 | Annotate | Revision Log
« no previous file with comments | « ash/system/tray/system_tray.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
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef ASH_SYSTEM_TRAY_ACCESSIBILITY_H_ 5 #ifndef ASH_SYSTEM_TRAY_ACCESSIBILITY_H_
6 #define ASH_SYSTEM_TRAY_ACCESSIBILITY_H_ 6 #define ASH_SYSTEM_TRAY_ACCESSIBILITY_H_
7 7
8 #include "ash/shell_delegate.h" 8 #include "ash/shell_delegate.h"
9 #include "ash/shell_observer.h" 9 #include "ash/shell_observer.h"
10 #include "ash/system/tray/tray_details_view.h"
10 #include "ash/system/tray/tray_image_item.h" 11 #include "ash/system/tray/tray_image_item.h"
12 #include "ash/system/tray/tray_views.h"
13 #include "base/gtest_prod_util.h"
14
15 namespace chromeos {
16 class TrayAccessibilityTest;
17 }
11 18
12 namespace views { 19 namespace views {
20 class Button;
13 class ImageView; 21 class ImageView;
14 class View; 22 class View;
15 } 23 }
16 24
17 namespace ash { 25 namespace ash {
18 26
27 class SystemTrayItem;
28
19 class ASH_EXPORT AccessibilityObserver { 29 class ASH_EXPORT AccessibilityObserver {
20 public: 30 public:
21 virtual ~AccessibilityObserver() {} 31 virtual ~AccessibilityObserver() {}
22 32
23 // Notifies when accessibilty mode changes. 33 // Notifies when accessibilty mode changes.
24 virtual void OnAccessibilityModeChanged( 34 virtual void OnAccessibilityModeChanged(
25 AccessibilityNotificationVisibility notify) = 0; 35 AccessibilityNotificationVisibility notify) = 0;
26 }; 36 };
27 37
28 namespace internal { 38 namespace internal {
39 namespace tray {
40
41 class AccessibilityPopupView;
42
43 class AccessibilityDetailedView : public TrayDetailsView,
44 public ViewClickListener,
45 public views::ButtonListener,
46 public ShellObserver {
47 public:
48 explicit AccessibilityDetailedView(SystemTrayItem* owner,
49 user::LoginStatus login);
50 virtual ~AccessibilityDetailedView() {}
51
52 private:
53 // Add the accessibility feature list.
54 void AppendAccessibilityList();
55
56 // Add help entries.
57 void AppendHelpEntries();
58
59 HoverHighlightView* AddScrollListItem(const string16& text,
60 gfx::Font::FontStyle style,
61 bool checked);
62 // Overridden from ViewClickListener.
63 virtual void ClickedOn(views::View* sender) OVERRIDE;
64 // Overridden from ButtonListener.
65 virtual void ButtonPressed(views::Button* sender,
66 const ui::Event& event) OVERRIDE;
67
68 views::View* spoken_feedback_view_;
69 views::View* high_contrast_view_;
70 views::View* screen_magnifier_view_;;
71 views::View* help_view_;
72
73 bool spoken_feedback_enabled_;
74 bool high_contrast_enabled_;
75 bool screen_magnifier_enabled_;
76 user::LoginStatus login_;
77
78 friend class chromeos::TrayAccessibilityTest;
79 DISALLOW_COPY_AND_ASSIGN(AccessibilityDetailedView);
80 };
81
82 } // namespace tray
29 83
30 class TrayAccessibility : public TrayImageItem, 84 class TrayAccessibility : public TrayImageItem,
31 public AccessibilityObserver { 85 public AccessibilityObserver {
32 public: 86 public:
33 explicit TrayAccessibility(SystemTray* system_tray); 87 explicit TrayAccessibility(SystemTray* system_tray);
34 virtual ~TrayAccessibility(); 88 virtual ~TrayAccessibility();
35 89
36 private: 90 private:
91 void SetTrayIconVisible(bool visible);
92 tray::AccessibilityDetailedView* CreateDetailedMenu();
93
37 // Overridden from TrayImageItem. 94 // Overridden from TrayImageItem.
38 virtual bool GetInitialVisibility() OVERRIDE; 95 virtual bool GetInitialVisibility() OVERRIDE;
39 virtual views::View* CreateDefaultView(user::LoginStatus status) OVERRIDE; 96 virtual views::View* CreateDefaultView(user::LoginStatus status) OVERRIDE;
40 virtual views::View* CreateDetailedView(user::LoginStatus status) OVERRIDE; 97 virtual views::View* CreateDetailedView(user::LoginStatus status) OVERRIDE;
41 virtual void DestroyDefaultView() OVERRIDE; 98 virtual void DestroyDefaultView() OVERRIDE;
42 virtual void DestroyDetailedView() OVERRIDE; 99 virtual void DestroyDetailedView() OVERRIDE;
43 virtual void UpdateAfterLoginStatusChange(user::LoginStatus status) OVERRIDE; 100 virtual void UpdateAfterLoginStatusChange(user::LoginStatus status) OVERRIDE;
44 101
45 // Overridden from AccessibilityObserver. 102 // Overridden from AccessibilityObserver.
46 virtual void OnAccessibilityModeChanged( 103 virtual void OnAccessibilityModeChanged(
47 AccessibilityNotificationVisibility notify) OVERRIDE; 104 AccessibilityNotificationVisibility notify) OVERRIDE;
48 105
49 views::View* default_; 106 views::View* default_;
50 views::View* detailed_; 107 tray::AccessibilityPopupView* detailed_popup_;
108 tray::AccessibilityDetailedView* detailed_menu_;
51 109
52 bool request_popup_view_; 110 bool request_popup_view_;
111 bool tray_icon_visible_;
53 user::LoginStatus login_; 112 user::LoginStatus login_;
54 113
55 // Bitmap of values from AccessibilityState enum. 114 // Bitmap of values from AccessibilityState enum.
56 uint32 previous_accessibility_state_; 115 uint32 previous_accessibility_state_;
57 116
117 friend class chromeos::TrayAccessibilityTest;
58 DISALLOW_COPY_AND_ASSIGN(TrayAccessibility); 118 DISALLOW_COPY_AND_ASSIGN(TrayAccessibility);
59 }; 119 };
60 120
61 } // namespace internal 121 } // namespace internal
62 } // namespace ash 122 } // namespace ash
63 123
64 #endif // ASH_SYSTEM_TRAY_ACCESSIBILITY_H_ 124 #endif // ASH_SYSTEM_TRAY_ACCESSIBILITY_H_
OLDNEW
« no previous file with comments | « ash/system/tray/system_tray.cc ('k') | ash/system/tray_accessibility.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698