OLD | NEW |
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 #include "ash/magnifier/magnification_controller.h" | 5 #include "ash/magnifier/magnification_controller.h" |
6 #include "ash/shell.h" | 6 #include "ash/shell.h" |
7 #include "ash/system/tray/system_tray.h" | 7 #include "ash/system/tray/system_tray.h" |
8 #include "ash/system/tray_accessibility.h" | 8 #include "ash/system/tray_accessibility.h" |
9 #include "ash/system/user/login_status.h" | 9 #include "ash/system/user/login_status.h" |
| 10 #include "ash/test/test_session_state_delegate.h" |
10 #include "base/callback.h" | 11 #include "base/callback.h" |
11 #include "base/command_line.h" | 12 #include "base/command_line.h" |
12 #include "base/prefs/pref_service.h" | 13 #include "base/prefs/pref_service.h" |
13 #include "base/strings/utf_string_conversions.h" | 14 #include "base/strings/utf_string_conversions.h" |
14 #include "chrome/browser/browser_process.h" | 15 #include "chrome/browser/browser_process.h" |
15 #include "chrome/browser/chrome_notification_types.h" | 16 #include "chrome/browser/chrome_notification_types.h" |
16 #include "chrome/browser/chromeos/accessibility/accessibility_manager.h" | 17 #include "chrome/browser/chromeos/accessibility/accessibility_manager.h" |
17 #include "chrome/browser/chromeos/accessibility/magnification_manager.h" | 18 #include "chrome/browser/chromeos/accessibility/magnification_manager.h" |
18 #include "chrome/browser/chromeos/login/helper.h" | 19 #include "chrome/browser/chromeos/login/helper.h" |
19 #include "chrome/browser/chromeos/login/login_utils.h" | 20 #include "chrome/browser/chromeos/login/login_utils.h" |
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
230 } | 231 } |
231 | 232 |
232 bool IsAutoclickMenuShownOnDetailMenu() const { | 233 bool IsAutoclickMenuShownOnDetailMenu() const { |
233 return tray()->detailed_menu_->autoclick_view_; | 234 return tray()->detailed_menu_->autoclick_view_; |
234 } | 235 } |
235 | 236 |
236 bool IsVirtualKeyboardMenuShownOnDetailMenu() const { | 237 bool IsVirtualKeyboardMenuShownOnDetailMenu() const { |
237 return tray()->detailed_menu_->virtual_keyboard_view_; | 238 return tray()->detailed_menu_->virtual_keyboard_view_; |
238 } | 239 } |
239 | 240 |
| 241 bool IsHelpShownOnDetailMenu() const { |
| 242 return tray()->detailed_menu_->help_view_; |
| 243 } |
| 244 |
| 245 bool IsSettingsShownOnDetailMenu() const { |
| 246 return tray()->detailed_menu_->settings_view_; |
| 247 } |
| 248 |
240 bool IsNotificationShown() const { | 249 bool IsNotificationShown() const { |
241 return (tray()->detailed_popup_ && | 250 return (tray()->detailed_popup_ && |
242 !tray()->detailed_popup_->GetWidget()->IsClosed()); | 251 !tray()->detailed_popup_->GetWidget()->IsClosed()); |
243 } | 252 } |
244 | 253 |
245 base::string16 GetNotificationText() const { | 254 base::string16 GetNotificationText() const { |
246 if (IsNotificationShown()) | 255 if (IsNotificationShown()) |
247 return tray()->detailed_popup_->label_for_test()->text(); | 256 return tray()->detailed_popup_->label_for_test()->text(); |
248 else | 257 else |
249 return base::string16(); | 258 return base::string16(); |
(...skipping 594 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
844 | 853 |
845 IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, CheckMenuVisibilityOnDetailMenu) { | 854 IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, CheckMenuVisibilityOnDetailMenu) { |
846 SetLoginStatus(ash::user::LOGGED_IN_NONE); | 855 SetLoginStatus(ash::user::LOGGED_IN_NONE); |
847 EXPECT_TRUE(CreateDetailedMenu()); | 856 EXPECT_TRUE(CreateDetailedMenu()); |
848 EXPECT_TRUE(IsSpokenFeedbackMenuShownOnDetailMenu()); | 857 EXPECT_TRUE(IsSpokenFeedbackMenuShownOnDetailMenu()); |
849 EXPECT_TRUE(IsHighContrastMenuShownOnDetailMenu()); | 858 EXPECT_TRUE(IsHighContrastMenuShownOnDetailMenu()); |
850 EXPECT_TRUE(IsScreenMagnifierMenuShownOnDetailMenu()); | 859 EXPECT_TRUE(IsScreenMagnifierMenuShownOnDetailMenu()); |
851 EXPECT_TRUE(IsLargeCursorMenuShownOnDetailMenu()); | 860 EXPECT_TRUE(IsLargeCursorMenuShownOnDetailMenu()); |
852 EXPECT_FALSE(IsAutoclickMenuShownOnDetailMenu()); | 861 EXPECT_FALSE(IsAutoclickMenuShownOnDetailMenu()); |
853 EXPECT_TRUE(IsVirtualKeyboardMenuShownOnDetailMenu()); | 862 EXPECT_TRUE(IsVirtualKeyboardMenuShownOnDetailMenu()); |
| 863 EXPECT_FALSE(IsHelpShownOnDetailMenu()); |
| 864 EXPECT_FALSE(IsSettingsShownOnDetailMenu()); |
854 CloseDetailMenu(); | 865 CloseDetailMenu(); |
855 | 866 |
856 SetLoginStatus(ash::user::LOGGED_IN_USER); | 867 SetLoginStatus(ash::user::LOGGED_IN_USER); |
857 EXPECT_TRUE(CreateDetailedMenu()); | 868 EXPECT_TRUE(CreateDetailedMenu()); |
858 EXPECT_TRUE(IsSpokenFeedbackMenuShownOnDetailMenu()); | 869 EXPECT_TRUE(IsSpokenFeedbackMenuShownOnDetailMenu()); |
859 EXPECT_TRUE(IsHighContrastMenuShownOnDetailMenu()); | 870 EXPECT_TRUE(IsHighContrastMenuShownOnDetailMenu()); |
860 EXPECT_TRUE(IsScreenMagnifierMenuShownOnDetailMenu()); | 871 EXPECT_TRUE(IsScreenMagnifierMenuShownOnDetailMenu()); |
861 EXPECT_FALSE(IsLargeCursorMenuShownOnDetailMenu()); | 872 EXPECT_FALSE(IsLargeCursorMenuShownOnDetailMenu()); |
862 EXPECT_TRUE(IsAutoclickMenuShownOnDetailMenu()); | 873 EXPECT_TRUE(IsAutoclickMenuShownOnDetailMenu()); |
863 EXPECT_TRUE(IsVirtualKeyboardMenuShownOnDetailMenu()); | 874 EXPECT_TRUE(IsVirtualKeyboardMenuShownOnDetailMenu()); |
| 875 EXPECT_TRUE(IsHelpShownOnDetailMenu()); |
| 876 EXPECT_TRUE(IsSettingsShownOnDetailMenu()); |
864 CloseDetailMenu(); | 877 CloseDetailMenu(); |
865 | 878 |
866 SetLoginStatus(ash::user::LOGGED_IN_LOCKED); | 879 SetLoginStatus(ash::user::LOGGED_IN_LOCKED); |
867 EXPECT_TRUE(CreateDetailedMenu()); | 880 EXPECT_TRUE(CreateDetailedMenu()); |
868 EXPECT_TRUE(IsSpokenFeedbackMenuShownOnDetailMenu()); | 881 EXPECT_TRUE(IsSpokenFeedbackMenuShownOnDetailMenu()); |
869 EXPECT_TRUE(IsHighContrastMenuShownOnDetailMenu()); | 882 EXPECT_TRUE(IsHighContrastMenuShownOnDetailMenu()); |
870 EXPECT_TRUE(IsScreenMagnifierMenuShownOnDetailMenu()); | 883 EXPECT_TRUE(IsScreenMagnifierMenuShownOnDetailMenu()); |
871 EXPECT_FALSE(IsLargeCursorMenuShownOnDetailMenu()); | 884 EXPECT_FALSE(IsLargeCursorMenuShownOnDetailMenu()); |
872 EXPECT_TRUE(IsAutoclickMenuShownOnDetailMenu()); | 885 EXPECT_TRUE(IsAutoclickMenuShownOnDetailMenu()); |
873 EXPECT_TRUE(IsVirtualKeyboardMenuShownOnDetailMenu()); | 886 EXPECT_TRUE(IsVirtualKeyboardMenuShownOnDetailMenu()); |
| 887 EXPECT_FALSE(IsHelpShownOnDetailMenu()); |
| 888 EXPECT_FALSE(IsSettingsShownOnDetailMenu()); |
| 889 CloseDetailMenu(); |
| 890 |
| 891 ash::test::TestSessionStateDelegate* session_state_delegate = |
| 892 new ash::test::TestSessionStateDelegate; |
| 893 ash::Shell::GetInstance()->SetSessionStateDelegateForTesting( |
| 894 session_state_delegate); |
| 895 session_state_delegate->SetUserAddingScreenRunning(true); |
| 896 SetLoginStatus(ash::user::LOGGED_IN_USER); |
| 897 EXPECT_TRUE(CreateDetailedMenu()); |
| 898 EXPECT_TRUE(IsSpokenFeedbackMenuShownOnDetailMenu()); |
| 899 EXPECT_TRUE(IsHighContrastMenuShownOnDetailMenu()); |
| 900 EXPECT_TRUE(IsScreenMagnifierMenuShownOnDetailMenu()); |
| 901 EXPECT_FALSE(IsLargeCursorMenuShownOnDetailMenu()); |
| 902 EXPECT_TRUE(IsAutoclickMenuShownOnDetailMenu()); |
| 903 EXPECT_TRUE(IsVirtualKeyboardMenuShownOnDetailMenu()); |
| 904 EXPECT_FALSE(IsHelpShownOnDetailMenu()); |
| 905 EXPECT_FALSE(IsSettingsShownOnDetailMenu()); |
874 CloseDetailMenu(); | 906 CloseDetailMenu(); |
875 } | 907 } |
876 | 908 |
877 INSTANTIATE_TEST_CASE_P(TrayAccessibilityTestInstance, | 909 INSTANTIATE_TEST_CASE_P(TrayAccessibilityTestInstance, |
878 TrayAccessibilityTest, | 910 TrayAccessibilityTest, |
879 testing::Values(PREF_SERVICE, | 911 testing::Values(PREF_SERVICE, |
880 POLICY)); | 912 POLICY)); |
881 | 913 |
882 } // namespace chromeos | 914 } // namespace chromeos |
OLD | NEW |