| 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 |