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

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: rebase (r172817) 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
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_observer.h" 8 #include "ash/shell_observer.h"
9 #include "ash/system/tray/tray_details_view.h"
9 #include "ash/system/tray/tray_image_item.h" 10 #include "ash/system/tray/tray_image_item.h"
11 #include "ash/system/tray/tray_views.h"
12 #include "base/gtest_prod_util.h"
13
14 namespace chromeos {
15 class TrayAccessibilityTest;
16 }
10 17
11 namespace views { 18 namespace views {
19 class Button;
12 class ImageView; 20 class ImageView;
13 class View; 21 class View;
14 } 22 }
15 23
16 namespace ash { 24 namespace ash {
17 25
26 class SystemTrayItem;
27
18 class ASH_EXPORT AccessibilityObserver { 28 class ASH_EXPORT AccessibilityObserver {
19 public: 29 public:
20 virtual ~AccessibilityObserver() {} 30 virtual ~AccessibilityObserver() {}
21 31
22 // Notifies when accessibilty mode changes. 32 // Notifies when accessibilty mode changes.
23 virtual void OnAccessibilityModeChanged() = 0; 33 virtual void OnAccessibilityModeChanged() = 0;
24 }; 34 };
25 35
26 namespace internal { 36 namespace internal {
37 namespace tray{
stevenjb 2012/12/14 00:38:28 nit: ' ' before {
yoshiki 2012/12/14 06:10:19 Done.
38
39 class AccessibilityDetailedView : public TrayDetailsView,
40 public ViewClickListener,
41 public views::ButtonListener,
42 public ShellObserver {
43 public:
44 explicit AccessibilityDetailedView(SystemTrayItem* owner,
45 user::LoginStatus login);
46 virtual ~AccessibilityDetailedView() {}
47
48 private:
49 // Add the accessibility feature list.
50 void AppendAccessibilityList();
51
52 // Add help entries.
53 void AppendHelpEntries();
54
55 HoverHighlightView* AddScrollListItem(const string16& text,
56 gfx::Font::FontStyle style,
57 bool checked);
58 // Overridden from ViewClickListener.
59 virtual void ClickedOn(views::View* sender) OVERRIDE;
60 // Overridden from ButtonListener.
61 virtual void ButtonPressed(views::Button* sender,
62 const ui::Event& event) OVERRIDE;
63
64 views::View* spoken_feedback_view_;
65 views::View* high_contrast_view_;
66 views::View* screen_magnifier_view_;;
67 views::View* help_view_;
68
69 bool spoken_feedback_enabled_;
70 bool high_contrast_enabled_;
71 bool screen_magnifier_enabled_;
72 user::LoginStatus login_;
73
74 friend class chromeos::TrayAccessibilityTest;
75 DISALLOW_COPY_AND_ASSIGN(AccessibilityDetailedView);
76 };
77
78 } // namespace tray
27 79
28 class TrayAccessibility : public TrayImageItem, 80 class TrayAccessibility : public TrayImageItem,
29 public AccessibilityObserver { 81 public AccessibilityObserver {
30 public: 82 public:
31 explicit TrayAccessibility(SystemTray* system_tray); 83 explicit TrayAccessibility(SystemTray* system_tray);
32 virtual ~TrayAccessibility(); 84 virtual ~TrayAccessibility();
33 85
34 private: 86 private:
87 void SetTrayIconVisible(bool visible);
88 tray::AccessibilityDetailedView* CreateDetailedMenu();
89
35 // Overridden from TrayImageItem. 90 // Overridden from TrayImageItem.
36 virtual bool GetInitialVisibility() OVERRIDE; 91 virtual bool GetInitialVisibility() OVERRIDE;
37 virtual views::View* CreateDefaultView(user::LoginStatus status) OVERRIDE; 92 virtual views::View* CreateDefaultView(user::LoginStatus status) OVERRIDE;
38 virtual views::View* CreateDetailedView(user::LoginStatus status) OVERRIDE; 93 virtual views::View* CreateDetailedView(user::LoginStatus status) OVERRIDE;
39 virtual void DestroyDefaultView() OVERRIDE; 94 virtual void DestroyDefaultView() OVERRIDE;
40 virtual void DestroyDetailedView() OVERRIDE; 95 virtual void DestroyDetailedView() OVERRIDE;
41 virtual void UpdateAfterLoginStatusChange(user::LoginStatus status) OVERRIDE; 96 virtual void UpdateAfterLoginStatusChange(user::LoginStatus status) OVERRIDE;
42 97
43 // Overridden from AccessibilityObserver. 98 // Overridden from AccessibilityObserver.
44 virtual void OnAccessibilityModeChanged() OVERRIDE; 99 virtual void OnAccessibilityModeChanged() OVERRIDE;
45 100
46 views::View* default_; 101 views::View* default_;
47 views::View* detailed_; 102 views::View* detailed_;
48 103
49 bool request_popup_view_; 104 bool request_popup_view_;
50 bool accessibility_previously_enabled_; 105 bool accessibility_previously_enabled_;
106 bool tray_icon_visible_;
51 user::LoginStatus login_; 107 user::LoginStatus login_;
52 108
109 friend class chromeos::TrayAccessibilityTest;
53 DISALLOW_COPY_AND_ASSIGN(TrayAccessibility); 110 DISALLOW_COPY_AND_ASSIGN(TrayAccessibility);
54 }; 111 };
55 112
56 } // namespace internal 113 } // namespace internal
57 } // namespace ash 114 } // namespace ash
58 115
59 #endif // ASH_SYSTEM_TRAY_ACCESSIBILITY_H_ 116 #endif // ASH_SYSTEM_TRAY_ACCESSIBILITY_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698