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