blob: 561a403594d483477ebc72e0ea442caaa80bc82c [file] [log] [blame]
[email protected]806d94e2012-12-16 20:31:261// 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
3// found in the LICENSE file.
4
James Cook6316a552017-03-05 21:46:215#include "ash/common/accessibility_types.h"
6#include "ash/common/login_status.h"
James Cook6def4d9d2017-03-05 22:13:477#include "ash/common/system/tray/system_tray.h"
8#include "ash/common/system/tray_accessibility.h"
[email protected]806d94e2012-12-16 20:31:269#include "ash/magnifier/magnification_controller.h"
10#include "ash/shell.h"
[email protected]7570bba2014-08-08 08:04:4711#include "ash/test/shell_test_api.h"
[email protected]aecb6082013-07-09 14:29:4112#include "base/callback.h"
[email protected]806d94e2012-12-16 20:31:2613#include "base/command_line.h"
fdorayba121422016-12-23 19:51:4814#include "base/memory/ptr_util.h"
[email protected]a81b2c32014-03-28 06:35:0115#include "base/strings/utf_string_conversions.h"
[email protected]806d94e2012-12-16 20:31:2616#include "chrome/browser/browser_process.h"
[email protected]fdf40f3e2013-07-11 23:55:4617#include "chrome/browser/chrome_notification_types.h"
[email protected]1dfebfc2013-06-04 03:14:3218#include "chrome/browser/chromeos/accessibility/accessibility_manager.h"
[email protected]806d94e2012-12-16 20:31:2619#include "chrome/browser/chromeos/accessibility/magnification_manager.h"
[email protected]806d94e2012-12-16 20:31:2620#include "chrome/browser/chromeos/login/helper.h"
[email protected]aa8328fb2013-04-19 15:09:0621#include "chrome/browser/chromeos/login/startup_utils.h"
[email protected]a81b2c32014-03-28 06:35:0122#include "chrome/browser/extensions/api/braille_display_private/mock_braille_controller.h"
[email protected]806d94e2012-12-16 20:31:2623#include "chrome/browser/profiles/profile.h"
24#include "chrome/browser/profiles/profile_manager.h"
xiyuan233f4e72017-04-06 06:59:5625#include "chrome/browser/ui/ash/session_controller_client.h"
[email protected]806d94e2012-12-16 20:31:2626#include "chrome/common/chrome_switches.h"
27#include "chrome/common/pref_names.h"
[email protected]0b294be2013-08-17 02:18:4128#include "chrome/test/base/in_process_browser_test.h"
[email protected]806d94e2012-12-16 20:31:2629#include "chrome/test/base/testing_profile.h"
[email protected]931d1042013-04-05 17:50:4430#include "chromeos/chromeos_switches.h"
[email protected]97275822014-01-21 19:30:3631#include "components/policy/core/browser/browser_policy_connector.h"
[email protected]c4a138a2013-11-21 19:54:5732#include "components/policy/core/common/external_data_fetcher.h"
[email protected]f20a3a22013-12-03 16:12:3733#include "components/policy/core/common/mock_configuration_policy_provider.h"
[email protected]c4a138a2013-11-21 19:54:5734#include "components/policy/core/common/policy_map.h"
35#include "components/policy/core/common/policy_types.h"
brettw39d6ba42016-08-24 16:56:3836#include "components/policy/policy_constants.h"
brettwb1fc1b82016-02-02 00:19:0837#include "components/prefs/pref_service.h"
xiyuan834f3bc2016-10-26 19:40:5338#include "components/session_manager/core/session_manager.h"
[email protected]806d94e2012-12-16 20:31:2639#include "content/public/test/test_utils.h"
40#include "testing/gtest/include/gtest/gtest.h"
tdanderson581149422016-10-25 21:37:5841#include "ui/views/controls/button/button.h"
42#include "ui/views/controls/button/custom_button.h"
[email protected]a81b2c32014-03-28 06:35:0143#include "ui/views/controls/label.h"
[email protected]806d94e2012-12-16 20:31:2644#include "ui/views/widget/widget.h"
45
[email protected]a81b2c32014-03-28 06:35:0146using extensions::api::braille_display_private::BrailleObserver;
47using extensions::api::braille_display_private::DisplayState;
48using extensions::api::braille_display_private::MockBrailleController;
[email protected]5ace0c232013-05-29 00:48:4149using testing::Return;
50using testing::_;
51using testing::WithParamInterface;
52
[email protected]806d94e2012-12-16 20:31:2653namespace chromeos {
54
[email protected]5ace0c232013-05-29 00:48:4155enum PrefSettingMechanism {
56 PREF_SERVICE,
57 POLICY,
58};
59
[email protected]7585f4c2013-01-10 18:26:4160void SetMagnifierEnabled(bool enabled) {
61 MagnificationManager::Get()->SetMagnifierEnabled(enabled);
[email protected]806d94e2012-12-16 20:31:2662}
63
[email protected]5ace0c232013-05-29 00:48:4164class TrayAccessibilityTest
[email protected]0b294be2013-08-17 02:18:4165 : public InProcessBrowserTest,
[email protected]5ace0c232013-05-29 00:48:4166 public WithParamInterface<PrefSettingMechanism> {
[email protected]806d94e2012-12-16 20:31:2667 protected:
68 TrayAccessibilityTest() {}
69 virtual ~TrayAccessibilityTest() {}
[email protected]25cf28e2013-03-25 19:26:2570
[email protected]a81b2c32014-03-28 06:35:0171 // The profile which should be used by these tests.
[email protected]613b3f52013-12-13 23:37:0672 Profile* GetProfile() { return ProfileManager::GetActiveUserProfile(); }
73
dchengc97a0282015-01-15 23:04:2474 void SetUpInProcessBrowserTestFixture() override {
[email protected]5ace0c232013-05-29 00:48:4175 EXPECT_CALL(provider_, IsInitializationComplete(_))
76 .WillRepeatedly(Return(true));
[email protected]5ace0c232013-05-29 00:48:4177 policy::BrowserPolicyConnector::SetPolicyProviderForTesting(&provider_);
[email protected]a81b2c32014-03-28 06:35:0178 AccessibilityManager::SetBrailleControllerForTest(&braille_controller_);
[email protected]5ace0c232013-05-29 00:48:4179 }
80
dchengc97a0282015-01-15 23:04:2481 void SetUpCommandLine(base::CommandLine* command_line) override {
[email protected]806d94e2012-12-16 20:31:2682 command_line->AppendSwitch(switches::kLoginManager);
83 command_line->AppendSwitchASCII(switches::kLoginProfile,
84 TestingProfile::kTestUserProfileDir);
85 }
86
dchengc97a0282015-01-15 23:04:2487 void SetUpOnMainThread() override {
[email protected]613b3f52013-12-13 23:37:0688 AccessibilityManager::Get()->SetProfileForTest(GetProfile());
89 MagnificationManager::Get()->SetProfileForTest(GetProfile());
[email protected]d80f19302013-06-07 13:12:1490 }
91
dchengc97a0282015-01-15 23:04:2492 void RunTestOnMainThreadLoop() override {
[email protected]25cf28e2013-03-25 19:26:2593 // Need to mark oobe completed to show detailed views.
[email protected]aa8328fb2013-04-19 15:09:0694 StartupUtils::MarkOobeCompleted();
[email protected]0b294be2013-08-17 02:18:4195 InProcessBrowserTest::RunTestOnMainThreadLoop();
[email protected]25cf28e2013-03-25 19:26:2596 }
97
dchengc97a0282015-01-15 23:04:2498 void TearDownOnMainThread() override {
[email protected]a81b2c32014-03-28 06:35:0199 AccessibilityManager::SetBrailleControllerForTest(NULL);
100 }
101
[email protected]5ace0c232013-05-29 00:48:41102 void SetShowAccessibilityOptionsInSystemTrayMenu(bool value) {
103 if (GetParam() == PREF_SERVICE) {
[email protected]613b3f52013-12-13 23:37:06104 PrefService* prefs = GetProfile()->GetPrefs();
[email protected]5ace0c232013-05-29 00:48:41105 prefs->SetBoolean(prefs::kShouldAlwaysShowAccessibilityMenu, value);
106 } else if (GetParam() == POLICY) {
107 policy::PolicyMap policy_map;
108 policy_map.Set(policy::key::kShowAccessibilityOptionsInSystemTrayMenu,
dcheng3b344bc22016-05-10 02:26:09109 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER,
fhorschig64834b712015-09-21 14:20:23110 policy::POLICY_SOURCE_CLOUD,
jdoerrie239723572017-03-02 12:09:19111 base::MakeUnique<base::Value>(value), nullptr);
[email protected]5ace0c232013-05-29 00:48:41112 provider_.UpdateChromePolicy(policy_map);
113 base::RunLoop().RunUntilIdle();
114 } else {
115 FAIL() << "Unknown test parameterization";
116 }
117 }
118
[email protected]093b8d642014-04-03 20:59:28119 ash::TrayAccessibility* tray() {
[email protected]806d94e2012-12-16 20:31:26120 return ash::Shell::GetInstance()->GetPrimarySystemTray()->
121 GetTrayAccessibilityForTest();
122 }
123
[email protected]093b8d642014-04-03 20:59:28124 const ash::TrayAccessibility* tray() const {
[email protected]a81b2c32014-03-28 06:35:01125 return ash::Shell::GetInstance()
126 ->GetPrimarySystemTray()
127 ->GetTrayAccessibilityForTest();
[email protected]806d94e2012-12-16 20:31:26128 }
129
[email protected]a81b2c32014-03-28 06:35:01130 bool IsTrayIconVisible() const { return tray()->tray_icon_visible_; }
131
[email protected]806d94e2012-12-16 20:31:26132 views::View* CreateMenuItem() {
133 return tray()->CreateDefaultView(GetLoginStatus());
134 }
135
136 void DestroyMenuItem() {
137 return tray()->DestroyDefaultView();
138 }
139
140 bool CanCreateMenuItem() {
141 views::View* menu_item_view = CreateMenuItem();
142 DestroyMenuItem();
143 return menu_item_view != NULL;
144 }
145
skye79274a2016-06-08 05:39:02146 void SetLoginStatus(ash::LoginStatus status) {
[email protected]806d94e2012-12-16 20:31:26147 tray()->UpdateAfterLoginStatusChange(status);
148 }
149
skye79274a2016-06-08 05:39:02150 ash::LoginStatus GetLoginStatus() { return tray()->login_; }
[email protected]806d94e2012-12-16 20:31:26151
152 bool CreateDetailedMenu() {
estadeb0df1652017-03-22 22:41:10153 tray()->ShowDetailedView(0, false);
[email protected]806d94e2012-12-16 20:31:26154 return tray()->detailed_menu_ != NULL;
155 }
156
157 void CloseDetailMenu() {
158 CHECK(tray()->detailed_menu_);
159 tray()->DestroyDetailedView();
160 tray()->detailed_menu_ = NULL;
161 }
162
163 void ClickSpokenFeedbackOnDetailMenu() {
164 views::View* button = tray()->detailed_menu_->spoken_feedback_view_;
[email protected]abdd0d72014-02-05 17:18:07165 ASSERT_TRUE(button);
[email protected]acd0fd7a2013-03-04 22:00:53166 tray()->detailed_menu_->OnViewClicked(button);
[email protected]806d94e2012-12-16 20:31:26167 }
168
169 void ClickHighContrastOnDetailMenu() {
170 views::View* button = tray()->detailed_menu_->high_contrast_view_;
[email protected]abdd0d72014-02-05 17:18:07171 ASSERT_TRUE(button);
[email protected]acd0fd7a2013-03-04 22:00:53172 tray()->detailed_menu_->OnViewClicked(button);
[email protected]806d94e2012-12-16 20:31:26173 }
174
175 void ClickScreenMagnifierOnDetailMenu() {
176 views::View* button = tray()->detailed_menu_->screen_magnifier_view_;
[email protected]abdd0d72014-02-05 17:18:07177 ASSERT_TRUE(button);
[email protected]acd0fd7a2013-03-04 22:00:53178 tray()->detailed_menu_->OnViewClicked(button);
[email protected]806d94e2012-12-16 20:31:26179 }
180
[email protected]7cfa31a2013-10-23 20:08:13181 void ClickAutoclickOnDetailMenu() {
182 views::View* button = tray()->detailed_menu_->autoclick_view_;
[email protected]abdd0d72014-02-05 17:18:07183 ASSERT_TRUE(button);
184 tray()->detailed_menu_->OnViewClicked(button);
185 }
186
187 void ClickVirtualKeyboardOnDetailMenu() {
188 views::View* button = tray()->detailed_menu_->virtual_keyboard_view_;
189 ASSERT_TRUE(button);
[email protected]7cfa31a2013-10-23 20:08:13190 tray()->detailed_menu_->OnViewClicked(button);
191 }
192
mincha0b24ab2017-03-31 22:16:01193 void ClickLargeMouseCursorOnDetailMenu() {
194 views::View* button = tray()->detailed_menu_->large_cursor_view_;
195 ASSERT_TRUE(button);
196 tray()->detailed_menu_->OnViewClicked(button);
197 }
198
199 void ClickMonoAudioOnDetailMenu() {
200 views::View* button = tray()->detailed_menu_->mono_audio_view_;
201 ASSERT_TRUE(button);
202 tray()->detailed_menu_->OnViewClicked(button);
203 }
204
205 void ClickCaretHighlightOnDetailMenu() {
206 views::View* button = tray()->detailed_menu_->caret_highlight_view_;
207 ASSERT_TRUE(button);
208 tray()->detailed_menu_->OnViewClicked(button);
209 }
210
211 void ClickHighlightMouseCursorOnDetailMenu() {
212 views::View* button = tray()->detailed_menu_->highlight_mouse_cursor_view_;
213 ASSERT_TRUE(button);
214 tray()->detailed_menu_->OnViewClicked(button);
215 }
216
217 void ClickHighlishtKeyboardFocusOnDetailMenu() {
218 views::View* button =
219 tray()->detailed_menu_->highlight_keyboard_focus_view_;
220 ASSERT_TRUE(button);
221 tray()->detailed_menu_->OnViewClicked(button);
222 }
223
[email protected]a81b2c32014-03-28 06:35:01224 bool IsSpokenFeedbackEnabledOnDetailMenu() const {
[email protected]806d94e2012-12-16 20:31:26225 return tray()->detailed_menu_->spoken_feedback_enabled_;
226 }
227
[email protected]a81b2c32014-03-28 06:35:01228 bool IsHighContrastEnabledOnDetailMenu() const {
[email protected]806d94e2012-12-16 20:31:26229 return tray()->detailed_menu_->high_contrast_enabled_;
230 }
231
[email protected]a81b2c32014-03-28 06:35:01232 bool IsScreenMagnifierEnabledOnDetailMenu() const {
[email protected]806d94e2012-12-16 20:31:26233 return tray()->detailed_menu_->screen_magnifier_enabled_;
234 }
[email protected]5ace0c232013-05-29 00:48:41235
[email protected]a81b2c32014-03-28 06:35:01236 bool IsLargeCursorEnabledOnDetailMenu() const {
[email protected]57999022013-06-07 12:52:03237 return tray()->detailed_menu_->large_cursor_enabled_;
238 }
239
[email protected]a81b2c32014-03-28 06:35:01240 bool IsAutoclickEnabledOnDetailMenu() const {
[email protected]7cfa31a2013-10-23 20:08:13241 return tray()->detailed_menu_->autoclick_enabled_;
242 }
[email protected]abdd0d72014-02-05 17:18:07243
[email protected]a81b2c32014-03-28 06:35:01244 bool IsVirtualKeyboardEnabledOnDetailMenu() const {
[email protected]abdd0d72014-02-05 17:18:07245 return tray()->detailed_menu_->virtual_keyboard_enabled_;
246 }
247
mincha0b24ab2017-03-31 22:16:01248 bool IsMonoAudioEnabledOnDetailMenu() const {
249 return tray()->detailed_menu_->mono_audio_enabled_;
250 }
251
252 bool IsCaretHighlightEnabledOnDetailMenu() const {
253 return tray()->detailed_menu_->caret_highlight_enabled_;
254 }
255
256 bool IsHighlightMouseCursorEnabledOnDetailMenu() const {
257 return tray()->detailed_menu_->highlight_mouse_cursor_enabled_;
258 }
259
260 bool IsHighlightKeyboardFocusEnabledOnDetailMenu() const {
261 return tray()->detailed_menu_->highlight_keyboard_focus_enabled_;
262 }
263
[email protected]a81b2c32014-03-28 06:35:01264 bool IsSpokenFeedbackMenuShownOnDetailMenu() const {
[email protected]57999022013-06-07 12:52:03265 return tray()->detailed_menu_->spoken_feedback_view_;
266 }
267
[email protected]a81b2c32014-03-28 06:35:01268 bool IsHighContrastMenuShownOnDetailMenu() const {
[email protected]57999022013-06-07 12:52:03269 return tray()->detailed_menu_->high_contrast_view_;
270 }
271
[email protected]a81b2c32014-03-28 06:35:01272 bool IsScreenMagnifierMenuShownOnDetailMenu() const {
[email protected]57999022013-06-07 12:52:03273 return tray()->detailed_menu_->screen_magnifier_view_;
274 }
275
[email protected]a81b2c32014-03-28 06:35:01276 bool IsLargeCursorMenuShownOnDetailMenu() const {
[email protected]57999022013-06-07 12:52:03277 return tray()->detailed_menu_->large_cursor_view_;
278 }
279
[email protected]a81b2c32014-03-28 06:35:01280 bool IsAutoclickMenuShownOnDetailMenu() const {
[email protected]7cfa31a2013-10-23 20:08:13281 return tray()->detailed_menu_->autoclick_view_;
282 }
283
[email protected]a81b2c32014-03-28 06:35:01284 bool IsVirtualKeyboardMenuShownOnDetailMenu() const {
[email protected]abdd0d72014-02-05 17:18:07285 return tray()->detailed_menu_->virtual_keyboard_view_;
286 }
287
mincha0b24ab2017-03-31 22:16:01288 bool IsMonoAudioMenuShownOnDetailMenu() const {
289 return tray()->detailed_menu_->mono_audio_view_;
290 }
291
292 bool IsCaretHighlightMenuShownOnDetailMenu() const {
293 return tray()->detailed_menu_->caret_highlight_view_;
294 }
295
296 bool IsHighlightMouseCursorMenuShownOnDetailMenu() const {
297 return tray()->detailed_menu_->highlight_mouse_cursor_view_;
298 }
299
300 bool IsHighlightKeyboardFocusMenuShownOnDetailMenu() const {
301 return tray()->detailed_menu_->highlight_keyboard_focus_view_;
302 }
303
tdanderson581149422016-10-25 21:37:58304 // In material design we show the help button but theme it as disabled if
mohsen6faf4f32017-02-09 22:09:41305 // it is not possible to load the help page.
tdanderson581149422016-10-25 21:37:58306 bool IsHelpAvailableOnDetailMenu() const {
mohsen6faf4f32017-02-09 22:09:41307 return tray()->detailed_menu_->help_view_->state() ==
308 views::Button::STATE_NORMAL;
[email protected]7570bba2014-08-08 08:04:47309 }
310
tdanderson581149422016-10-25 21:37:58311 // In material design we show the settings button but theme it as disabled if
mohsen6faf4f32017-02-09 22:09:41312 // it is not possible to load the settings page.
tdanderson581149422016-10-25 21:37:58313 bool IsSettingsAvailableOnDetailMenu() const {
mohsen6faf4f32017-02-09 22:09:41314 return tray()->detailed_menu_->settings_view_->state() ==
315 views::Button::STATE_NORMAL;
[email protected]7570bba2014-08-08 08:04:47316 }
317
[email protected]a81b2c32014-03-28 06:35:01318 bool IsNotificationShown() const {
319 return (tray()->detailed_popup_ &&
320 !tray()->detailed_popup_->GetWidget()->IsClosed());
321 }
322
323 base::string16 GetNotificationText() const {
324 if (IsNotificationShown())
325 return tray()->detailed_popup_->label_for_test()->text();
326 else
327 return base::string16();
328 }
329
330 void SetBrailleConnected(bool connected) {
331 braille_controller_.SetAvailable(connected);
[email protected]2e5e0b12014-05-07 13:30:20332 braille_controller_.GetObserver()->OnBrailleDisplayStateChanged(
[email protected]a81b2c32014-03-28 06:35:01333 *braille_controller_.GetDisplayState());
334 }
335
[email protected]5ace0c232013-05-29 00:48:41336 policy::MockConfigurationPolicyProvider provider_;
[email protected]a81b2c32014-03-28 06:35:01337 MockBrailleController braille_controller_;
[email protected]806d94e2012-12-16 20:31:26338};
339
[email protected]5ace0c232013-05-29 00:48:41340IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, LoginStatus) {
skye79274a2016-06-08 05:39:02341 EXPECT_EQ(ash::LoginStatus::NOT_LOGGED_IN, GetLoginStatus());
[email protected]806d94e2012-12-16 20:31:26342
xiyuan30e213c2016-11-01 20:00:57343 session_manager::SessionManager::Get()->CreateSession(
344 AccountId::FromUserEmail("[email protected]"), "[email protected]");
xiyuan834f3bc2016-10-26 19:40:53345 session_manager::SessionManager::Get()->SessionStarted();
xiyuan233f4e72017-04-06 06:59:56346 // Flush to ensure the session state reaches ash and updates login status.
347 SessionControllerClient::FlushForTesting();
[email protected]806d94e2012-12-16 20:31:26348
skye79274a2016-06-08 05:39:02349 EXPECT_EQ(ash::LoginStatus::USER, GetLoginStatus());
[email protected]806d94e2012-12-16 20:31:26350}
351
yoshiki064fa9e2015-09-04 06:32:45352IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, ShowTrayIcon) {
skye79274a2016-06-08 05:39:02353 SetLoginStatus(ash::LoginStatus::NOT_LOGGED_IN);
[email protected]806d94e2012-12-16 20:31:26354
355 // Confirms that the icon is invisible before login.
356 EXPECT_FALSE(IsTrayIconVisible());
357
xiyuan30e213c2016-11-01 20:00:57358 session_manager::SessionManager::Get()->CreateSession(
359 AccountId::FromUserEmail("[email protected]"), "[email protected]");
xiyuan834f3bc2016-10-26 19:40:53360 session_manager::SessionManager::Get()->SessionStarted();
[email protected]806d94e2012-12-16 20:31:26361
362 // Confirms that the icon is invisible just after login.
363 EXPECT_FALSE(IsTrayIconVisible());
364
[email protected]1dfebfc2013-06-04 03:14:32365 // Toggling spoken feedback changes the visibillity of the icon.
366 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03367 true, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26368 EXPECT_TRUE(IsTrayIconVisible());
[email protected]1dfebfc2013-06-04 03:14:32369 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03370 false, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26371 EXPECT_FALSE(IsTrayIconVisible());
372
[email protected]1dfebfc2013-06-04 03:14:32373 // Toggling high contrast the visibillity of the icon.
374 AccessibilityManager::Get()->EnableHighContrast(true);
[email protected]806d94e2012-12-16 20:31:26375 EXPECT_TRUE(IsTrayIconVisible());
[email protected]1dfebfc2013-06-04 03:14:32376 AccessibilityManager::Get()->EnableHighContrast(false);
[email protected]806d94e2012-12-16 20:31:26377 EXPECT_FALSE(IsTrayIconVisible());
378
[email protected]5ace0c232013-05-29 00:48:41379 // Toggling magnifier the visibility of the icon.
[email protected]7585f4c2013-01-10 18:26:41380 SetMagnifierEnabled(true);
[email protected]806d94e2012-12-16 20:31:26381 EXPECT_TRUE(IsTrayIconVisible());
[email protected]7585f4c2013-01-10 18:26:41382 SetMagnifierEnabled(false);
[email protected]806d94e2012-12-16 20:31:26383 EXPECT_FALSE(IsTrayIconVisible());
384
mincha0b24ab2017-03-31 22:16:01385 // Toggling automatic clicks changes the visibility of the icon
386 AccessibilityManager::Get()->EnableAutoclick(true);
387 EXPECT_TRUE(IsTrayIconVisible());
388 AccessibilityManager::Get()->EnableAutoclick(false);
389 EXPECT_FALSE(IsTrayIconVisible());
390
[email protected]abdd0d72014-02-05 17:18:07391 // Toggling the virtual keyboard setting changes the visibility of the a11y
392 // icon.
393 AccessibilityManager::Get()->EnableVirtualKeyboard(true);
394 EXPECT_TRUE(IsTrayIconVisible());
395 AccessibilityManager::Get()->EnableVirtualKeyboard(false);
396 EXPECT_FALSE(IsTrayIconVisible());
397
mincha0b24ab2017-03-31 22:16:01398 // Toggling the higlight large cursor changes the visibility of the icon
399 AccessibilityManager::Get()->EnableLargeCursor(true);
400 EXPECT_TRUE(IsTrayIconVisible());
401 AccessibilityManager::Get()->EnableLargeCursor(false);
402 EXPECT_FALSE(IsTrayIconVisible());
403
404 // Toggling the mono audio changes the visibility of the icon
405 AccessibilityManager::Get()->EnableMonoAudio(true);
406 EXPECT_TRUE(IsTrayIconVisible());
407 AccessibilityManager::Get()->EnableMonoAudio(false);
408 EXPECT_FALSE(IsTrayIconVisible());
409
410 // Toggling the caret highlight changes the visibility of the icon
411 AccessibilityManager::Get()->SetCaretHighlightEnabled(true);
412 EXPECT_TRUE(IsTrayIconVisible());
413 AccessibilityManager::Get()->SetCaretHighlightEnabled(false);
414 EXPECT_FALSE(IsTrayIconVisible());
415
416 // Toggling the highlight mouse cursor changes the visibility of the icon
417 AccessibilityManager::Get()->SetCursorHighlightEnabled(true);
418 EXPECT_TRUE(IsTrayIconVisible());
419 AccessibilityManager::Get()->SetCursorHighlightEnabled(false);
420 EXPECT_FALSE(IsTrayIconVisible());
421
422 // Toggling the highlight keyboard focus changes the visibility of the icon
423 AccessibilityManager::Get()->SetFocusHighlightEnabled(true);
424 EXPECT_TRUE(IsTrayIconVisible());
425 AccessibilityManager::Get()->SetFocusHighlightEnabled(false);
426 EXPECT_FALSE(IsTrayIconVisible());
427
[email protected]806d94e2012-12-16 20:31:26428 // Enabling all accessibility features.
[email protected]7585f4c2013-01-10 18:26:41429 SetMagnifierEnabled(true);
[email protected]806d94e2012-12-16 20:31:26430 EXPECT_TRUE(IsTrayIconVisible());
[email protected]1dfebfc2013-06-04 03:14:32431 AccessibilityManager::Get()->EnableHighContrast(true);
[email protected]806d94e2012-12-16 20:31:26432 EXPECT_TRUE(IsTrayIconVisible());
[email protected]1dfebfc2013-06-04 03:14:32433 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03434 true, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26435 EXPECT_TRUE(IsTrayIconVisible());
[email protected]abdd0d72014-02-05 17:18:07436 AccessibilityManager::Get()->EnableVirtualKeyboard(true);
437 EXPECT_TRUE(IsTrayIconVisible());
mincha0b24ab2017-03-31 22:16:01438 AccessibilityManager::Get()->EnableLargeCursor(true);
439 EXPECT_TRUE(IsTrayIconVisible());
440 AccessibilityManager::Get()->EnableMonoAudio(true);
441 EXPECT_TRUE(IsTrayIconVisible());
442 AccessibilityManager::Get()->SetCaretHighlightEnabled(true);
443 EXPECT_TRUE(IsTrayIconVisible());
444 AccessibilityManager::Get()->SetCursorHighlightEnabled(true);
445 EXPECT_TRUE(IsTrayIconVisible());
446 AccessibilityManager::Get()->SetFocusHighlightEnabled(true);
447 EXPECT_TRUE(IsTrayIconVisible());
[email protected]1dfebfc2013-06-04 03:14:32448 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03449 false, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26450 EXPECT_TRUE(IsTrayIconVisible());
[email protected]1dfebfc2013-06-04 03:14:32451 AccessibilityManager::Get()->EnableHighContrast(false);
[email protected]806d94e2012-12-16 20:31:26452 EXPECT_TRUE(IsTrayIconVisible());
[email protected]7585f4c2013-01-10 18:26:41453 SetMagnifierEnabled(false);
[email protected]abdd0d72014-02-05 17:18:07454 EXPECT_TRUE(IsTrayIconVisible());
455 AccessibilityManager::Get()->EnableVirtualKeyboard(false);
mincha0b24ab2017-03-31 22:16:01456 EXPECT_TRUE(IsTrayIconVisible());
457 AccessibilityManager::Get()->EnableLargeCursor(false);
458 EXPECT_TRUE(IsTrayIconVisible());
459 AccessibilityManager::Get()->EnableMonoAudio(false);
460 EXPECT_TRUE(IsTrayIconVisible());
461 AccessibilityManager::Get()->SetCaretHighlightEnabled(false);
462 EXPECT_TRUE(IsTrayIconVisible());
463 AccessibilityManager::Get()->SetCursorHighlightEnabled(false);
464 EXPECT_TRUE(IsTrayIconVisible());
465 AccessibilityManager::Get()->SetFocusHighlightEnabled(false);
[email protected]806d94e2012-12-16 20:31:26466 EXPECT_FALSE(IsTrayIconVisible());
467
468 // Confirms that prefs::kShouldAlwaysShowAccessibilityMenu doesn't affect
469 // the icon on the tray.
[email protected]5ace0c232013-05-29 00:48:41470 SetShowAccessibilityOptionsInSystemTrayMenu(true);
[email protected]1dfebfc2013-06-04 03:14:32471 AccessibilityManager::Get()->EnableHighContrast(true);
[email protected]806d94e2012-12-16 20:31:26472 EXPECT_TRUE(IsTrayIconVisible());
[email protected]1dfebfc2013-06-04 03:14:32473 AccessibilityManager::Get()->EnableHighContrast(false);
[email protected]806d94e2012-12-16 20:31:26474 EXPECT_FALSE(IsTrayIconVisible());
475}
476
yoshiki064fa9e2015-09-04 06:32:45477IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, ShowMenu) {
[email protected]806d94e2012-12-16 20:31:26478 // Login
xiyuan30e213c2016-11-01 20:00:57479 session_manager::SessionManager::Get()->CreateSession(
480 AccountId::FromUserEmail("[email protected]"), "[email protected]");
xiyuan834f3bc2016-10-26 19:40:53481 session_manager::SessionManager::Get()->SessionStarted();
xiyuan233f4e72017-04-06 06:59:56482 // Flush to ensure the session state reaches ash and updates login status.
483 SessionControllerClient::FlushForTesting();
[email protected]806d94e2012-12-16 20:31:26484
[email protected]5ace0c232013-05-29 00:48:41485 SetShowAccessibilityOptionsInSystemTrayMenu(false);
[email protected]806d94e2012-12-16 20:31:26486
487 // Confirms that the menu is hidden.
488 EXPECT_FALSE(CanCreateMenuItem());
489
[email protected]1dfebfc2013-06-04 03:14:32490 // Toggling spoken feedback changes the visibillity of the menu.
491 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03492 true, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26493 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32494 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03495 false, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26496 EXPECT_FALSE(CanCreateMenuItem());
497
[email protected]1dfebfc2013-06-04 03:14:32498 // Toggling high contrast changes the visibillity of the menu.
499 AccessibilityManager::Get()->EnableHighContrast(true);
[email protected]806d94e2012-12-16 20:31:26500 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32501 AccessibilityManager::Get()->EnableHighContrast(false);
[email protected]806d94e2012-12-16 20:31:26502 EXPECT_FALSE(CanCreateMenuItem());
503
[email protected]5ace0c232013-05-29 00:48:41504 // Toggling screen magnifier changes the visibility of the menu.
[email protected]7585f4c2013-01-10 18:26:41505 SetMagnifierEnabled(true);
[email protected]806d94e2012-12-16 20:31:26506 EXPECT_TRUE(CanCreateMenuItem());
[email protected]7585f4c2013-01-10 18:26:41507 SetMagnifierEnabled(false);
[email protected]806d94e2012-12-16 20:31:26508 EXPECT_FALSE(CanCreateMenuItem());
509
[email protected]7cfa31a2013-10-23 20:08:13510 // Toggling autoclick changes the visibility of the menu.
511 AccessibilityManager::Get()->EnableAutoclick(true);
512 EXPECT_TRUE(CanCreateMenuItem());
513 AccessibilityManager::Get()->EnableAutoclick(false);
514 EXPECT_FALSE(CanCreateMenuItem());
515
[email protected]abdd0d72014-02-05 17:18:07516 // Toggling virtual keyboard changes the visibility of the menu.
517 AccessibilityManager::Get()->EnableVirtualKeyboard(true);
518 EXPECT_TRUE(CanCreateMenuItem());
519 AccessibilityManager::Get()->EnableVirtualKeyboard(false);
520 EXPECT_FALSE(CanCreateMenuItem());
521
mincha0b24ab2017-03-31 22:16:01522 // Toggling large mouse cursor changes the visibility of the menu.
523 AccessibilityManager::Get()->EnableLargeCursor(true);
524 EXPECT_TRUE(CanCreateMenuItem());
525 AccessibilityManager::Get()->EnableLargeCursor(false);
526 EXPECT_FALSE(CanCreateMenuItem());
527
528 // Toggling mono audio changes the visibility of the menu.
529 AccessibilityManager::Get()->EnableMonoAudio(true);
530 EXPECT_TRUE(CanCreateMenuItem());
531 AccessibilityManager::Get()->EnableMonoAudio(false);
532 EXPECT_FALSE(CanCreateMenuItem());
533
534 // Toggling caret highlight changes the visibility of the menu.
535 AccessibilityManager::Get()->SetCaretHighlightEnabled(true);
536 EXPECT_TRUE(CanCreateMenuItem());
537 AccessibilityManager::Get()->SetCaretHighlightEnabled(false);
538 EXPECT_FALSE(CanCreateMenuItem());
539
540 // Toggling highlight mouse cursor changes the visibility of the menu.
541 AccessibilityManager::Get()->SetCursorHighlightEnabled(true);
542 EXPECT_TRUE(CanCreateMenuItem());
543 AccessibilityManager::Get()->SetCursorHighlightEnabled(false);
544 EXPECT_FALSE(CanCreateMenuItem());
545
546 // Toggling highlight keyboard focus changes the visibility of the menu.
547 AccessibilityManager::Get()->SetFocusHighlightEnabled(true);
548 EXPECT_TRUE(CanCreateMenuItem());
549 AccessibilityManager::Get()->SetFocusHighlightEnabled(false);
550 EXPECT_FALSE(CanCreateMenuItem());
551
[email protected]806d94e2012-12-16 20:31:26552 // Enabling all accessibility features.
[email protected]7585f4c2013-01-10 18:26:41553 SetMagnifierEnabled(true);
[email protected]806d94e2012-12-16 20:31:26554 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32555 AccessibilityManager::Get()->EnableHighContrast(true);
[email protected]806d94e2012-12-16 20:31:26556 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32557 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03558 true, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26559 EXPECT_TRUE(CanCreateMenuItem());
[email protected]7cfa31a2013-10-23 20:08:13560 AccessibilityManager::Get()->EnableAutoclick(true);
561 EXPECT_TRUE(CanCreateMenuItem());
[email protected]abdd0d72014-02-05 17:18:07562 AccessibilityManager::Get()->EnableVirtualKeyboard(true);
563 EXPECT_TRUE(CanCreateMenuItem());
mincha0b24ab2017-03-31 22:16:01564 AccessibilityManager::Get()->EnableLargeCursor(true);
565 EXPECT_TRUE(CanCreateMenuItem());
566 AccessibilityManager::Get()->EnableMonoAudio(true);
567 EXPECT_TRUE(CanCreateMenuItem());
568 AccessibilityManager::Get()->SetCaretHighlightEnabled(true);
569 EXPECT_TRUE(CanCreateMenuItem());
570 AccessibilityManager::Get()->SetCursorHighlightEnabled(true);
571 EXPECT_TRUE(CanCreateMenuItem());
572 AccessibilityManager::Get()->SetFocusHighlightEnabled(true);
573 EXPECT_TRUE(CanCreateMenuItem());
[email protected]abdd0d72014-02-05 17:18:07574 AccessibilityManager::Get()->EnableVirtualKeyboard(false);
575 EXPECT_TRUE(CanCreateMenuItem());
[email protected]7cfa31a2013-10-23 20:08:13576 AccessibilityManager::Get()->EnableAutoclick(false);
577 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32578 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03579 false, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26580 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32581 AccessibilityManager::Get()->EnableHighContrast(false);
[email protected]806d94e2012-12-16 20:31:26582 EXPECT_TRUE(CanCreateMenuItem());
[email protected]7585f4c2013-01-10 18:26:41583 SetMagnifierEnabled(false);
mincha0b24ab2017-03-31 22:16:01584 EXPECT_TRUE(CanCreateMenuItem());
585 AccessibilityManager::Get()->EnableLargeCursor(false);
586 EXPECT_TRUE(CanCreateMenuItem());
587 AccessibilityManager::Get()->EnableMonoAudio(false);
588 EXPECT_TRUE(CanCreateMenuItem());
589 AccessibilityManager::Get()->SetCaretHighlightEnabled(false);
590 EXPECT_TRUE(CanCreateMenuItem());
591 AccessibilityManager::Get()->SetCursorHighlightEnabled(false);
592 EXPECT_TRUE(CanCreateMenuItem());
593 AccessibilityManager::Get()->SetFocusHighlightEnabled(false);
[email protected]806d94e2012-12-16 20:31:26594 EXPECT_FALSE(CanCreateMenuItem());
595}
596
yoshiki064fa9e2015-09-04 06:32:45597IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, ShowMenuWithShowMenuOption) {
[email protected]806d94e2012-12-16 20:31:26598 // Login
xiyuan30e213c2016-11-01 20:00:57599 session_manager::SessionManager::Get()->CreateSession(
600 AccountId::FromUserEmail("[email protected]"), "[email protected]");
xiyuan834f3bc2016-10-26 19:40:53601 session_manager::SessionManager::Get()->SessionStarted();
xiyuan233f4e72017-04-06 06:59:56602 // Flush to ensure the session state reaches ash and updates login status.
603 SessionControllerClient::FlushForTesting();
[email protected]806d94e2012-12-16 20:31:26604
[email protected]5ace0c232013-05-29 00:48:41605 SetShowAccessibilityOptionsInSystemTrayMenu(true);
[email protected]806d94e2012-12-16 20:31:26606
607 // Confirms that the menu is visible.
608 EXPECT_TRUE(CanCreateMenuItem());
609
[email protected]abdd0d72014-02-05 17:18:07610 // The menu remains visible regardless of toggling spoken feedback.
[email protected]1dfebfc2013-06-04 03:14:32611 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03612 true, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26613 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32614 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03615 false, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26616 EXPECT_TRUE(CanCreateMenuItem());
617
[email protected]abdd0d72014-02-05 17:18:07618 // The menu remains visible regardless of toggling high contrast.
[email protected]1dfebfc2013-06-04 03:14:32619 AccessibilityManager::Get()->EnableHighContrast(true);
[email protected]806d94e2012-12-16 20:31:26620 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32621 AccessibilityManager::Get()->EnableHighContrast(false);
[email protected]806d94e2012-12-16 20:31:26622 EXPECT_TRUE(CanCreateMenuItem());
623
[email protected]abdd0d72014-02-05 17:18:07624 // The menu remains visible regardless of toggling screen magnifier.
[email protected]7585f4c2013-01-10 18:26:41625 SetMagnifierEnabled(true);
[email protected]806d94e2012-12-16 20:31:26626 EXPECT_TRUE(CanCreateMenuItem());
[email protected]7585f4c2013-01-10 18:26:41627 SetMagnifierEnabled(false);
[email protected]806d94e2012-12-16 20:31:26628 EXPECT_TRUE(CanCreateMenuItem());
629
[email protected]abdd0d72014-02-05 17:18:07630 // The menu remains visible regardless of toggling autoclick.
[email protected]7cfa31a2013-10-23 20:08:13631 AccessibilityManager::Get()->EnableAutoclick(true);
632 EXPECT_TRUE(CanCreateMenuItem());
633 AccessibilityManager::Get()->EnableAutoclick(false);
634 EXPECT_TRUE(CanCreateMenuItem());
635
[email protected]abdd0d72014-02-05 17:18:07636 // The menu remains visible regardless of toggling on-screen keyboard.
637 AccessibilityManager::Get()->EnableVirtualKeyboard(true);
638 EXPECT_TRUE(CanCreateMenuItem());
639 AccessibilityManager::Get()->EnableVirtualKeyboard(false);
640 EXPECT_TRUE(CanCreateMenuItem());
641
mincha0b24ab2017-03-31 22:16:01642 // The menu remains visibile regardless of toggling large mouse cursor.
643 AccessibilityManager::Get()->EnableLargeCursor(true);
644 EXPECT_TRUE(CanCreateMenuItem());
645 AccessibilityManager::Get()->EnableLargeCursor(false);
646 EXPECT_TRUE(CanCreateMenuItem());
647
648 // The menu remains visibile regardless of toggling mono audio.
649 AccessibilityManager::Get()->EnableMonoAudio(true);
650 EXPECT_TRUE(CanCreateMenuItem());
651 AccessibilityManager::Get()->EnableMonoAudio(false);
652 EXPECT_TRUE(CanCreateMenuItem());
653
654 // The menu remains visibile regardless of toggling caret highlight.
655 AccessibilityManager::Get()->SetCaretHighlightEnabled(true);
656 EXPECT_TRUE(CanCreateMenuItem());
657 AccessibilityManager::Get()->SetCaretHighlightEnabled(false);
658 EXPECT_TRUE(CanCreateMenuItem());
659
660 // The menu remains visibile regardless of toggling highlight mouse cursor.
661 AccessibilityManager::Get()->SetCursorHighlightEnabled(true);
662 EXPECT_TRUE(CanCreateMenuItem());
663 AccessibilityManager::Get()->SetCursorHighlightEnabled(false);
664 EXPECT_TRUE(CanCreateMenuItem());
665
666 // The menu remains visibile regardless of toggling highlight keyboard focus.
667 AccessibilityManager::Get()->SetFocusHighlightEnabled(true);
668 EXPECT_TRUE(CanCreateMenuItem());
669 AccessibilityManager::Get()->SetFocusHighlightEnabled(false);
670 EXPECT_TRUE(CanCreateMenuItem());
671
[email protected]806d94e2012-12-16 20:31:26672 // Enabling all accessibility features.
[email protected]7585f4c2013-01-10 18:26:41673 SetMagnifierEnabled(true);
[email protected]806d94e2012-12-16 20:31:26674 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32675 AccessibilityManager::Get()->EnableHighContrast(true);
[email protected]806d94e2012-12-16 20:31:26676 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32677 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03678 true, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26679 EXPECT_TRUE(CanCreateMenuItem());
[email protected]7cfa31a2013-10-23 20:08:13680 AccessibilityManager::Get()->EnableAutoclick(true);
681 EXPECT_TRUE(CanCreateMenuItem());
[email protected]abdd0d72014-02-05 17:18:07682 AccessibilityManager::Get()->EnableVirtualKeyboard(true);
683 EXPECT_TRUE(CanCreateMenuItem());
mincha0b24ab2017-03-31 22:16:01684 AccessibilityManager::Get()->EnableLargeCursor(true);
685 EXPECT_TRUE(CanCreateMenuItem());
686 AccessibilityManager::Get()->EnableMonoAudio(true);
687 EXPECT_TRUE(CanCreateMenuItem());
688 AccessibilityManager::Get()->SetCaretHighlightEnabled(true);
689 EXPECT_TRUE(CanCreateMenuItem());
690 AccessibilityManager::Get()->SetCursorHighlightEnabled(true);
691 EXPECT_TRUE(CanCreateMenuItem());
692 AccessibilityManager::Get()->SetFocusHighlightEnabled(true);
693 EXPECT_TRUE(CanCreateMenuItem());
[email protected]abdd0d72014-02-05 17:18:07694 AccessibilityManager::Get()->EnableVirtualKeyboard(false);
695 EXPECT_TRUE(CanCreateMenuItem());
[email protected]7cfa31a2013-10-23 20:08:13696 AccessibilityManager::Get()->EnableAutoclick(false);
697 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32698 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03699 false, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26700 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32701 AccessibilityManager::Get()->EnableHighContrast(false);
[email protected]806d94e2012-12-16 20:31:26702 EXPECT_TRUE(CanCreateMenuItem());
[email protected]7585f4c2013-01-10 18:26:41703 SetMagnifierEnabled(false);
[email protected]806d94e2012-12-16 20:31:26704 EXPECT_TRUE(CanCreateMenuItem());
mincha0b24ab2017-03-31 22:16:01705 AccessibilityManager::Get()->EnableLargeCursor(false);
706 EXPECT_TRUE(CanCreateMenuItem());
707 AccessibilityManager::Get()->EnableMonoAudio(false);
708 EXPECT_TRUE(CanCreateMenuItem());
709 AccessibilityManager::Get()->SetCaretHighlightEnabled(false);
710 EXPECT_TRUE(CanCreateMenuItem());
711 AccessibilityManager::Get()->SetCursorHighlightEnabled(false);
712 EXPECT_TRUE(CanCreateMenuItem());
713 AccessibilityManager::Get()->SetFocusHighlightEnabled(false);
714 EXPECT_TRUE(CanCreateMenuItem());
[email protected]806d94e2012-12-16 20:31:26715
[email protected]5ace0c232013-05-29 00:48:41716 SetShowAccessibilityOptionsInSystemTrayMenu(false);
[email protected]806d94e2012-12-16 20:31:26717
718 // Confirms that the menu is invisible.
719 EXPECT_FALSE(CanCreateMenuItem());
720}
721
[email protected]5ace0c232013-05-29 00:48:41722IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, ShowMenuWithShowOnLoginScreen) {
skye79274a2016-06-08 05:39:02723 SetLoginStatus(ash::LoginStatus::NOT_LOGGED_IN);
[email protected]806d94e2012-12-16 20:31:26724
725 // Confirms that the menu is visible.
726 EXPECT_TRUE(CanCreateMenuItem());
727
[email protected]abdd0d72014-02-05 17:18:07728 // The menu remains visible regardless of toggling spoken feedback.
[email protected]1dfebfc2013-06-04 03:14:32729 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03730 true, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26731 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32732 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03733 false, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26734 EXPECT_TRUE(CanCreateMenuItem());
735
[email protected]abdd0d72014-02-05 17:18:07736 // The menu remains visible regardless of toggling high contrast.
[email protected]1dfebfc2013-06-04 03:14:32737 AccessibilityManager::Get()->EnableHighContrast(true);
[email protected]806d94e2012-12-16 20:31:26738 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32739 AccessibilityManager::Get()->EnableHighContrast(false);
[email protected]806d94e2012-12-16 20:31:26740 EXPECT_TRUE(CanCreateMenuItem());
741
[email protected]abdd0d72014-02-05 17:18:07742 // The menu remains visible regardless of toggling screen magnifier.
[email protected]7585f4c2013-01-10 18:26:41743 SetMagnifierEnabled(true);
[email protected]806d94e2012-12-16 20:31:26744 EXPECT_TRUE(CanCreateMenuItem());
[email protected]7585f4c2013-01-10 18:26:41745 SetMagnifierEnabled(false);
[email protected]806d94e2012-12-16 20:31:26746 EXPECT_TRUE(CanCreateMenuItem());
747
[email protected]abdd0d72014-02-05 17:18:07748 // The menu remains visible regardless of toggling on-screen keyboard.
749 AccessibilityManager::Get()->EnableVirtualKeyboard(true);
750 EXPECT_TRUE(CanCreateMenuItem());
751 AccessibilityManager::Get()->EnableVirtualKeyboard(false);
752 EXPECT_TRUE(CanCreateMenuItem());
753
mincha0b24ab2017-03-31 22:16:01754 // The menu remains visibile regardless of toggling large mouse cursor.
755 AccessibilityManager::Get()->EnableLargeCursor(true);
756 EXPECT_TRUE(CanCreateMenuItem());
757 AccessibilityManager::Get()->EnableLargeCursor(false);
758 EXPECT_TRUE(CanCreateMenuItem());
759
760 // The menu remains visibile regardless of toggling mono audio.
761 AccessibilityManager::Get()->EnableMonoAudio(true);
762 EXPECT_TRUE(CanCreateMenuItem());
763 AccessibilityManager::Get()->EnableMonoAudio(false);
764 EXPECT_TRUE(CanCreateMenuItem());
765
766 // The menu remains visibile regardless of toggling caret highlight.
767 AccessibilityManager::Get()->SetCaretHighlightEnabled(true);
768 EXPECT_TRUE(CanCreateMenuItem());
769 AccessibilityManager::Get()->SetCaretHighlightEnabled(false);
770 EXPECT_TRUE(CanCreateMenuItem());
771
772 // The menu remains visibile regardless of toggling highlight mouse cursor.
773 AccessibilityManager::Get()->SetCursorHighlightEnabled(true);
774 EXPECT_TRUE(CanCreateMenuItem());
775 AccessibilityManager::Get()->SetCursorHighlightEnabled(false);
776 EXPECT_TRUE(CanCreateMenuItem());
777
778 // The menu remains visibile regardless of toggling highlight keyboard focus.
779 AccessibilityManager::Get()->SetFocusHighlightEnabled(true);
780 EXPECT_TRUE(CanCreateMenuItem());
781 AccessibilityManager::Get()->SetFocusHighlightEnabled(false);
782 EXPECT_TRUE(CanCreateMenuItem());
783
[email protected]806d94e2012-12-16 20:31:26784 // Enabling all accessibility features.
[email protected]7585f4c2013-01-10 18:26:41785 SetMagnifierEnabled(true);
[email protected]806d94e2012-12-16 20:31:26786 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32787 AccessibilityManager::Get()->EnableHighContrast(true);
[email protected]806d94e2012-12-16 20:31:26788 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32789 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03790 true, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26791 EXPECT_TRUE(CanCreateMenuItem());
[email protected]abdd0d72014-02-05 17:18:07792 AccessibilityManager::Get()->EnableVirtualKeyboard(true);
793 EXPECT_TRUE(CanCreateMenuItem());
mincha0b24ab2017-03-31 22:16:01794 AccessibilityManager::Get()->EnableLargeCursor(true);
795 EXPECT_TRUE(CanCreateMenuItem());
796 AccessibilityManager::Get()->EnableMonoAudio(true);
797 EXPECT_TRUE(CanCreateMenuItem());
798 AccessibilityManager::Get()->SetCaretHighlightEnabled(true);
799 EXPECT_TRUE(CanCreateMenuItem());
800 AccessibilityManager::Get()->SetCursorHighlightEnabled(true);
801 EXPECT_TRUE(CanCreateMenuItem());
802 AccessibilityManager::Get()->SetFocusHighlightEnabled(true);
803 EXPECT_TRUE(CanCreateMenuItem());
[email protected]abdd0d72014-02-05 17:18:07804 AccessibilityManager::Get()->EnableVirtualKeyboard(false);
805 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32806 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03807 false, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26808 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32809 AccessibilityManager::Get()->EnableHighContrast(false);
[email protected]806d94e2012-12-16 20:31:26810 EXPECT_TRUE(CanCreateMenuItem());
[email protected]7585f4c2013-01-10 18:26:41811 SetMagnifierEnabled(false);
[email protected]806d94e2012-12-16 20:31:26812 EXPECT_TRUE(CanCreateMenuItem());
mincha0b24ab2017-03-31 22:16:01813 AccessibilityManager::Get()->EnableLargeCursor(false);
814 EXPECT_TRUE(CanCreateMenuItem());
815 AccessibilityManager::Get()->EnableMonoAudio(false);
816 EXPECT_TRUE(CanCreateMenuItem());
817 AccessibilityManager::Get()->SetCaretHighlightEnabled(false);
818 EXPECT_TRUE(CanCreateMenuItem());
819 AccessibilityManager::Get()->SetCursorHighlightEnabled(false);
820 EXPECT_TRUE(CanCreateMenuItem());
821 AccessibilityManager::Get()->SetFocusHighlightEnabled(false);
822 EXPECT_TRUE(CanCreateMenuItem());
[email protected]806d94e2012-12-16 20:31:26823
[email protected]5ace0c232013-05-29 00:48:41824 SetShowAccessibilityOptionsInSystemTrayMenu(true);
[email protected]806d94e2012-12-16 20:31:26825
[email protected]abdd0d72014-02-05 17:18:07826 // Confirms that the menu remains visible.
[email protected]806d94e2012-12-16 20:31:26827 EXPECT_TRUE(CanCreateMenuItem());
828
[email protected]5ace0c232013-05-29 00:48:41829 SetShowAccessibilityOptionsInSystemTrayMenu(false);
[email protected]806d94e2012-12-16 20:31:26830
[email protected]abdd0d72014-02-05 17:18:07831 // Confirms that the menu remains visible.
[email protected]806d94e2012-12-16 20:31:26832 EXPECT_TRUE(CanCreateMenuItem());
833}
834
[email protected]a81b2c32014-03-28 06:35:01835IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, ShowNotification) {
836 const base::string16 BRAILLE_CONNECTED =
837 base::ASCIIToUTF16("Braille display connected.");
838 const base::string16 CHROMEVOX_ENABLED = base::ASCIIToUTF16(
839 "ChromeVox (spoken feedback) is enabled.\nPress Ctrl+Alt+Z to disable.");
840 const base::string16 BRAILLE_CONNECTED_AND_CHROMEVOX_ENABLED(
841 BRAILLE_CONNECTED + base::ASCIIToUTF16(" ") + CHROMEVOX_ENABLED);
842
843 EXPECT_FALSE(AccessibilityManager::Get()->IsSpokenFeedbackEnabled());
844
845 // Enabling spoken feedback should show the notification.
846 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03847 true, ash::A11Y_NOTIFICATION_SHOW);
[email protected]a81b2c32014-03-28 06:35:01848 EXPECT_EQ(CHROMEVOX_ENABLED, GetNotificationText());
849
850 // Connecting a braille display when spoken feedback is already enabled
851 // should only show the message about the braille display.
852 SetBrailleConnected(true);
853 EXPECT_EQ(BRAILLE_CONNECTED, GetNotificationText());
854
855 // Neither disconnecting a braille display, nor disabling spoken feedback
856 // should show any notification.
857 SetBrailleConnected(false);
858 EXPECT_TRUE(AccessibilityManager::Get()->IsSpokenFeedbackEnabled());
859 EXPECT_FALSE(IsNotificationShown());
860 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03861 false, ash::A11Y_NOTIFICATION_SHOW);
[email protected]a81b2c32014-03-28 06:35:01862 EXPECT_FALSE(IsNotificationShown());
863 EXPECT_FALSE(AccessibilityManager::Get()->IsSpokenFeedbackEnabled());
864
865 // Connecting a braille display should enable spoken feedback and show
866 // both messages.
867 SetBrailleConnected(true);
868 EXPECT_TRUE(AccessibilityManager::Get()->IsSpokenFeedbackEnabled());
869 EXPECT_EQ(BRAILLE_CONNECTED_AND_CHROMEVOX_ENABLED, GetNotificationText());
870}
871
[email protected]5ace0c232013-05-29 00:48:41872IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, KeepMenuVisibilityOnLockScreen) {
[email protected]14c95c82013-01-30 06:30:29873 // Enables high contrast mode.
[email protected]1dfebfc2013-06-04 03:14:32874 AccessibilityManager::Get()->EnableHighContrast(true);
[email protected]14c95c82013-01-30 06:30:29875 EXPECT_TRUE(CanCreateMenuItem());
876
877 // Locks the screen.
skye79274a2016-06-08 05:39:02878 SetLoginStatus(ash::LoginStatus::LOCKED);
[email protected]14c95c82013-01-30 06:30:29879 EXPECT_TRUE(CanCreateMenuItem());
880
881 // Disables high contrast mode.
[email protected]1dfebfc2013-06-04 03:14:32882 AccessibilityManager::Get()->EnableHighContrast(false);
[email protected]14c95c82013-01-30 06:30:29883
884 // Confirms that the menu is still visible.
885 EXPECT_TRUE(CanCreateMenuItem());
886}
887
yoshiki82c93e1c2015-09-02 19:33:17888IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, ClickDetailMenu) {
skye79274a2016-06-08 05:39:02889 SetLoginStatus(ash::LoginStatus::USER);
[email protected]8bacb662013-02-27 03:15:24890
[email protected]806d94e2012-12-16 20:31:26891 // Confirms that the check item toggles the spoken feedback.
[email protected]1dfebfc2013-06-04 03:14:32892 EXPECT_FALSE(AccessibilityManager::Get()->IsSpokenFeedbackEnabled());
[email protected]806d94e2012-12-16 20:31:26893
894 EXPECT_TRUE(CreateDetailedMenu());
895 ClickSpokenFeedbackOnDetailMenu();
[email protected]1dfebfc2013-06-04 03:14:32896 EXPECT_TRUE(AccessibilityManager::Get()->IsSpokenFeedbackEnabled());
[email protected]806d94e2012-12-16 20:31:26897
898 EXPECT_TRUE(CreateDetailedMenu());
899 ClickSpokenFeedbackOnDetailMenu();
[email protected]1dfebfc2013-06-04 03:14:32900 EXPECT_FALSE(AccessibilityManager::Get()->IsSpokenFeedbackEnabled());
[email protected]806d94e2012-12-16 20:31:26901
902 // Confirms that the check item toggles the high contrast.
[email protected]1dfebfc2013-06-04 03:14:32903 EXPECT_FALSE(AccessibilityManager::Get()->IsHighContrastEnabled());
[email protected]806d94e2012-12-16 20:31:26904
905 EXPECT_TRUE(CreateDetailedMenu());
906 ClickHighContrastOnDetailMenu();
[email protected]1dfebfc2013-06-04 03:14:32907 EXPECT_TRUE(AccessibilityManager::Get()->IsHighContrastEnabled());
[email protected]806d94e2012-12-16 20:31:26908
909 EXPECT_TRUE(CreateDetailedMenu());
910 ClickHighContrastOnDetailMenu();
[email protected]1dfebfc2013-06-04 03:14:32911 EXPECT_FALSE(AccessibilityManager::Get()->IsHighContrastEnabled());
[email protected]806d94e2012-12-16 20:31:26912
913 // Confirms that the check item toggles the magnifier.
[email protected]1dfebfc2013-06-04 03:14:32914 EXPECT_FALSE(AccessibilityManager::Get()->IsHighContrastEnabled());
[email protected]806d94e2012-12-16 20:31:26915
[email protected]7585f4c2013-01-10 18:26:41916 EXPECT_FALSE(MagnificationManager::Get()->IsMagnifierEnabled());
[email protected]806d94e2012-12-16 20:31:26917 EXPECT_TRUE(CreateDetailedMenu());
918 ClickScreenMagnifierOnDetailMenu();
[email protected]7585f4c2013-01-10 18:26:41919 EXPECT_TRUE(MagnificationManager::Get()->IsMagnifierEnabled());
[email protected]806d94e2012-12-16 20:31:26920
921 EXPECT_TRUE(CreateDetailedMenu());
922 ClickScreenMagnifierOnDetailMenu();
[email protected]7585f4c2013-01-10 18:26:41923 EXPECT_FALSE(MagnificationManager::Get()->IsMagnifierEnabled());
[email protected]7cfa31a2013-10-23 20:08:13924
925 // Confirms that the check item toggles autoclick.
926 EXPECT_FALSE(AccessibilityManager::Get()->IsAutoclickEnabled());
927
928 EXPECT_TRUE(CreateDetailedMenu());
929 ClickAutoclickOnDetailMenu();
930 EXPECT_TRUE(AccessibilityManager::Get()->IsAutoclickEnabled());
931
932 EXPECT_TRUE(CreateDetailedMenu());
933 ClickAutoclickOnDetailMenu();
934 EXPECT_FALSE(AccessibilityManager::Get()->IsAutoclickEnabled());
[email protected]abdd0d72014-02-05 17:18:07935
936 // Confirms that the check item toggles on-screen keyboard.
937 EXPECT_FALSE(AccessibilityManager::Get()->IsVirtualKeyboardEnabled());
938
939 EXPECT_TRUE(CreateDetailedMenu());
940 ClickVirtualKeyboardOnDetailMenu();
941 EXPECT_TRUE(AccessibilityManager::Get()->IsVirtualKeyboardEnabled());
942
943 EXPECT_TRUE(CreateDetailedMenu());
944 ClickVirtualKeyboardOnDetailMenu();
945 EXPECT_FALSE(AccessibilityManager::Get()->IsVirtualKeyboardEnabled());
mincha0b24ab2017-03-31 22:16:01946
947 // Confirms that the check item toggles large mouse cursor.
948 EXPECT_FALSE(AccessibilityManager::Get()->IsLargeCursorEnabled());
949
950 EXPECT_TRUE(CreateDetailedMenu());
951 ClickLargeMouseCursorOnDetailMenu();
952 EXPECT_TRUE(AccessibilityManager::Get()->IsLargeCursorEnabled());
953
954 EXPECT_TRUE(CreateDetailedMenu());
955 ClickLargeMouseCursorOnDetailMenu();
956 EXPECT_FALSE(AccessibilityManager::Get()->IsLargeCursorEnabled());
957
958 // Confirms that the check item toggles mono audio.
959 EXPECT_FALSE(AccessibilityManager::Get()->IsMonoAudioEnabled());
960
961 EXPECT_TRUE(CreateDetailedMenu());
962 ClickMonoAudioOnDetailMenu();
963 EXPECT_TRUE(AccessibilityManager::Get()->IsMonoAudioEnabled());
964
965 EXPECT_TRUE(CreateDetailedMenu());
966 ClickMonoAudioOnDetailMenu();
967 EXPECT_FALSE(AccessibilityManager::Get()->IsMonoAudioEnabled());
968
969 // Confirms that the check item toggles caret highlight.
970 EXPECT_FALSE(AccessibilityManager::Get()->IsCaretHighlightEnabled());
971
972 EXPECT_TRUE(CreateDetailedMenu());
973 ClickCaretHighlightOnDetailMenu();
974 EXPECT_TRUE(AccessibilityManager::Get()->IsCaretHighlightEnabled());
975
976 EXPECT_TRUE(CreateDetailedMenu());
977 ClickCaretHighlightOnDetailMenu();
978 EXPECT_FALSE(AccessibilityManager::Get()->IsCaretHighlightEnabled());
979
980 // Confirms that the check item toggles highlight mouse cursor.
981 EXPECT_FALSE(AccessibilityManager::Get()->IsCursorHighlightEnabled());
982
983 EXPECT_TRUE(CreateDetailedMenu());
984 ClickHighlightMouseCursorOnDetailMenu();
985 EXPECT_TRUE(AccessibilityManager::Get()->IsCursorHighlightEnabled());
986
987 EXPECT_TRUE(CreateDetailedMenu());
988 ClickHighlightMouseCursorOnDetailMenu();
989 EXPECT_FALSE(AccessibilityManager::Get()->IsCursorHighlightEnabled());
990
991 // Confirms that the check item toggles highlight keyboard focus.
992 EXPECT_FALSE(AccessibilityManager::Get()->IsFocusHighlightEnabled());
993
994 EXPECT_TRUE(CreateDetailedMenu());
995 ClickHighlishtKeyboardFocusOnDetailMenu();
996 EXPECT_TRUE(AccessibilityManager::Get()->IsFocusHighlightEnabled());
997
998 EXPECT_TRUE(CreateDetailedMenu());
999 ClickHighlishtKeyboardFocusOnDetailMenu();
1000 EXPECT_FALSE(AccessibilityManager::Get()->IsFocusHighlightEnabled());
[email protected]806d94e2012-12-16 20:31:261001}
1002
[email protected]5ace0c232013-05-29 00:48:411003IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, CheckMarksOnDetailMenu) {
skye79274a2016-06-08 05:39:021004 SetLoginStatus(ash::LoginStatus::NOT_LOGGED_IN);
[email protected]57999022013-06-07 12:52:031005
[email protected]806d94e2012-12-16 20:31:261006 // At first, all of the check is unchecked.
1007 EXPECT_TRUE(CreateDetailedMenu());
1008 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1009 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1010 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031011 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131012 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071013 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011014 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1015 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1016 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1017 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
[email protected]806d94e2012-12-16 20:31:261018 CloseDetailMenu();
1019
1020 // Enabling spoken feedback.
[email protected]1dfebfc2013-06-04 03:14:321021 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:031022 true, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:261023 EXPECT_TRUE(CreateDetailedMenu());
1024 EXPECT_TRUE(IsSpokenFeedbackEnabledOnDetailMenu());
1025 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1026 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031027 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131028 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071029 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011030 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1031 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1032 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1033 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
[email protected]806d94e2012-12-16 20:31:261034 CloseDetailMenu();
1035
1036 // Disabling spoken feedback.
[email protected]1dfebfc2013-06-04 03:14:321037 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:031038 false, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:261039 EXPECT_TRUE(CreateDetailedMenu());
1040 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1041 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1042 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031043 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131044 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071045 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011046 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1047 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1048 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1049 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
[email protected]806d94e2012-12-16 20:31:261050 CloseDetailMenu();
1051
1052 // Enabling high contrast.
[email protected]1dfebfc2013-06-04 03:14:321053 AccessibilityManager::Get()->EnableHighContrast(true);
[email protected]806d94e2012-12-16 20:31:261054 EXPECT_TRUE(CreateDetailedMenu());
1055 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1056 EXPECT_TRUE(IsHighContrastEnabledOnDetailMenu());
1057 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031058 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131059 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071060 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011061 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1062 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1063 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1064 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
[email protected]806d94e2012-12-16 20:31:261065 CloseDetailMenu();
1066
1067 // Disabling high contrast.
[email protected]1dfebfc2013-06-04 03:14:321068 AccessibilityManager::Get()->EnableHighContrast(false);
[email protected]806d94e2012-12-16 20:31:261069 EXPECT_TRUE(CreateDetailedMenu());
1070 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1071 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1072 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031073 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131074 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071075 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011076 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1077 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1078 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1079 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
[email protected]806d94e2012-12-16 20:31:261080 CloseDetailMenu();
1081
1082 // Enabling full screen magnifier.
[email protected]7585f4c2013-01-10 18:26:411083 SetMagnifierEnabled(true);
[email protected]806d94e2012-12-16 20:31:261084 EXPECT_TRUE(CreateDetailedMenu());
1085 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1086 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1087 EXPECT_TRUE(IsScreenMagnifierEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031088 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131089 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071090 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011091 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1092 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1093 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1094 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
[email protected]806d94e2012-12-16 20:31:261095 CloseDetailMenu();
1096
1097 // Disabling screen magnifier.
[email protected]7585f4c2013-01-10 18:26:411098 SetMagnifierEnabled(false);
[email protected]806d94e2012-12-16 20:31:261099 EXPECT_TRUE(CreateDetailedMenu());
1100 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1101 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1102 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031103 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131104 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071105 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011106 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1107 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1108 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1109 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031110 CloseDetailMenu();
1111
1112 // Enabling large cursor.
1113 AccessibilityManager::Get()->EnableLargeCursor(true);
1114 EXPECT_TRUE(CreateDetailedMenu());
1115 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1116 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1117 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1118 EXPECT_TRUE(IsLargeCursorEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131119 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071120 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011121 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1122 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1123 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1124 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031125 CloseDetailMenu();
1126
1127 // Disabling large cursor.
1128 AccessibilityManager::Get()->EnableLargeCursor(false);
1129 EXPECT_TRUE(CreateDetailedMenu());
1130 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1131 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1132 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1133 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131134 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071135 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011136 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1137 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1138 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1139 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071140 CloseDetailMenu();
1141
1142 // Enable on-screen keyboard.
1143 AccessibilityManager::Get()->EnableVirtualKeyboard(true);
1144 EXPECT_TRUE(CreateDetailedMenu());
1145 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1146 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1147 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1148 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1149 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1150 EXPECT_TRUE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011151 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1152 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1153 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1154 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071155 CloseDetailMenu();
1156
1157 // Disable on-screen keyboard.
1158 AccessibilityManager::Get()->EnableVirtualKeyboard(false);
1159 EXPECT_TRUE(CreateDetailedMenu());
1160 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1161 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1162 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1163 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1164 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1165 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011166 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1167 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1168 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1169 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
1170 CloseDetailMenu();
1171
1172 // Enabling mono audio.
1173 AccessibilityManager::Get()->EnableMonoAudio(true);
1174 EXPECT_TRUE(CreateDetailedMenu());
1175 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1176 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1177 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1178 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1179 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1180 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
1181 EXPECT_TRUE(IsMonoAudioEnabledOnDetailMenu());
1182 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1183 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1184 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
1185 CloseDetailMenu();
1186
1187 // Disabling mono audio.
1188 AccessibilityManager::Get()->EnableMonoAudio(false);
1189 EXPECT_TRUE(CreateDetailedMenu());
1190 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1191 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1192 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1193 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1194 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1195 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
1196 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1197 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1198 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1199 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
1200 CloseDetailMenu();
1201
1202 // Enabling caret highlight.
1203 AccessibilityManager::Get()->SetCaretHighlightEnabled(true);
1204 EXPECT_TRUE(CreateDetailedMenu());
1205 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1206 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1207 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1208 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1209 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1210 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
1211 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1212 EXPECT_TRUE(IsCaretHighlightEnabledOnDetailMenu());
1213 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1214 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
1215 CloseDetailMenu();
1216
1217 // Disabling caret highlight.
1218 AccessibilityManager::Get()->SetCaretHighlightEnabled(false);
1219 EXPECT_TRUE(CreateDetailedMenu());
1220 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1221 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1222 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1223 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1224 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1225 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
1226 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1227 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1228 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1229 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
1230 CloseDetailMenu();
1231
1232 // Enabling highlight mouse cursor.
1233 AccessibilityManager::Get()->SetCursorHighlightEnabled(true);
1234 EXPECT_TRUE(CreateDetailedMenu());
1235 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1236 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1237 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1238 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1239 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1240 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
1241 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1242 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1243 EXPECT_TRUE(IsHighlightMouseCursorEnabledOnDetailMenu());
1244 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
1245 CloseDetailMenu();
1246
1247 // Disabling highlight mouse cursor.
1248 AccessibilityManager::Get()->SetCursorHighlightEnabled(false);
1249 EXPECT_TRUE(CreateDetailedMenu());
1250 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1251 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1252 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1253 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1254 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1255 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
1256 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1257 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1258 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1259 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
1260 CloseDetailMenu();
1261
1262 // Enabling highlight keyboard focus.
1263 AccessibilityManager::Get()->SetFocusHighlightEnabled(true);
1264 EXPECT_TRUE(CreateDetailedMenu());
1265 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1266 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1267 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1268 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1269 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1270 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
1271 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1272 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1273 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1274 EXPECT_TRUE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
1275 CloseDetailMenu();
1276
1277 // Disabling highlight keyboard focus.
1278 AccessibilityManager::Get()->SetFocusHighlightEnabled(false);
1279 EXPECT_TRUE(CreateDetailedMenu());
1280 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1281 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1282 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1283 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1284 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1285 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
1286 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1287 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1288 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1289 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
[email protected]806d94e2012-12-16 20:31:261290 CloseDetailMenu();
1291
1292 // Enabling all of the a11y features.
[email protected]1dfebfc2013-06-04 03:14:321293 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:031294 true, ash::A11Y_NOTIFICATION_NONE);
[email protected]1dfebfc2013-06-04 03:14:321295 AccessibilityManager::Get()->EnableHighContrast(true);
[email protected]7585f4c2013-01-10 18:26:411296 SetMagnifierEnabled(true);
[email protected]57999022013-06-07 12:52:031297 AccessibilityManager::Get()->EnableLargeCursor(true);
[email protected]abdd0d72014-02-05 17:18:071298 AccessibilityManager::Get()->EnableVirtualKeyboard(true);
mincha0b24ab2017-03-31 22:16:011299 AccessibilityManager::Get()->EnableAutoclick(true);
1300 AccessibilityManager::Get()->EnableMonoAudio(true);
1301 AccessibilityManager::Get()->SetCaretHighlightEnabled(true);
1302 AccessibilityManager::Get()->SetCursorHighlightEnabled(true);
1303 AccessibilityManager::Get()->SetFocusHighlightEnabled(true);
[email protected]806d94e2012-12-16 20:31:261304 EXPECT_TRUE(CreateDetailedMenu());
1305 EXPECT_TRUE(IsSpokenFeedbackEnabledOnDetailMenu());
1306 EXPECT_TRUE(IsHighContrastEnabledOnDetailMenu());
1307 EXPECT_TRUE(IsScreenMagnifierEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031308 EXPECT_TRUE(IsLargeCursorEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011309 EXPECT_TRUE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071310 EXPECT_TRUE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011311 EXPECT_TRUE(IsMonoAudioEnabledOnDetailMenu());
1312 EXPECT_TRUE(IsCaretHighlightEnabledOnDetailMenu());
1313 EXPECT_TRUE(IsHighlightMouseCursorEnabledOnDetailMenu());
1314 // Focus highlighting can't be on when spoken feedback is on
1315 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
[email protected]806d94e2012-12-16 20:31:261316 CloseDetailMenu();
1317
1318 // Disabling all of the a11y features.
[email protected]1dfebfc2013-06-04 03:14:321319 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:031320 false, ash::A11Y_NOTIFICATION_NONE);
[email protected]1dfebfc2013-06-04 03:14:321321 AccessibilityManager::Get()->EnableHighContrast(false);
[email protected]7585f4c2013-01-10 18:26:411322 SetMagnifierEnabled(false);
[email protected]57999022013-06-07 12:52:031323 AccessibilityManager::Get()->EnableLargeCursor(false);
[email protected]abdd0d72014-02-05 17:18:071324 AccessibilityManager::Get()->EnableVirtualKeyboard(false);
mincha0b24ab2017-03-31 22:16:011325 AccessibilityManager::Get()->EnableAutoclick(false);
1326 AccessibilityManager::Get()->EnableMonoAudio(false);
1327 AccessibilityManager::Get()->SetCaretHighlightEnabled(false);
1328 AccessibilityManager::Get()->SetCursorHighlightEnabled(false);
1329 AccessibilityManager::Get()->SetFocusHighlightEnabled(false);
[email protected]806d94e2012-12-16 20:31:261330 EXPECT_TRUE(CreateDetailedMenu());
1331 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1332 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1333 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031334 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131335 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071336 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011337 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1338 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1339 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1340 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131341 CloseDetailMenu();
1342
[email protected]7cfa31a2013-10-23 20:08:131343 // Enabling autoclick.
1344 AccessibilityManager::Get()->EnableAutoclick(true);
1345 EXPECT_TRUE(CreateDetailedMenu());
1346 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1347 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1348 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1349 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1350 EXPECT_TRUE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071351 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011352 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1353 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1354 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1355 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131356 CloseDetailMenu();
1357
1358 // Disabling autoclick.
1359 AccessibilityManager::Get()->EnableAutoclick(false);
1360 EXPECT_TRUE(CreateDetailedMenu());
1361 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1362 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1363 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1364 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1365 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071366 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011367 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1368 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1369 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1370 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031371 CloseDetailMenu();
1372}
1373
1374IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, CheckMenuVisibilityOnDetailMenu) {
mincha0b24ab2017-03-31 22:16:011375 // Except help & settings, others should be kept the same
1376 // in LOGIN | NOT LOGIN | LOCKED. https://crbug.com/632107.
skye79274a2016-06-08 05:39:021377 SetLoginStatus(ash::LoginStatus::NOT_LOGGED_IN);
[email protected]57999022013-06-07 12:52:031378 EXPECT_TRUE(CreateDetailedMenu());
1379 EXPECT_TRUE(IsSpokenFeedbackMenuShownOnDetailMenu());
1380 EXPECT_TRUE(IsHighContrastMenuShownOnDetailMenu());
1381 EXPECT_TRUE(IsScreenMagnifierMenuShownOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011382 EXPECT_TRUE(IsAutoclickMenuShownOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071383 EXPECT_TRUE(IsVirtualKeyboardMenuShownOnDetailMenu());
tdanderson581149422016-10-25 21:37:581384 EXPECT_FALSE(IsHelpAvailableOnDetailMenu());
1385 EXPECT_FALSE(IsSettingsAvailableOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011386 EXPECT_TRUE(IsLargeCursorMenuShownOnDetailMenu());
1387 EXPECT_TRUE(IsMonoAudioMenuShownOnDetailMenu());
1388 EXPECT_TRUE(IsCaretHighlightMenuShownOnDetailMenu());
1389 EXPECT_TRUE(IsHighlightMouseCursorMenuShownOnDetailMenu());
1390 EXPECT_TRUE(IsHighlightKeyboardFocusMenuShownOnDetailMenu());
[email protected]57999022013-06-07 12:52:031391 CloseDetailMenu();
1392
skye79274a2016-06-08 05:39:021393 SetLoginStatus(ash::LoginStatus::USER);
[email protected]57999022013-06-07 12:52:031394 EXPECT_TRUE(CreateDetailedMenu());
1395 EXPECT_TRUE(IsSpokenFeedbackMenuShownOnDetailMenu());
1396 EXPECT_TRUE(IsHighContrastMenuShownOnDetailMenu());
1397 EXPECT_TRUE(IsScreenMagnifierMenuShownOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131398 EXPECT_TRUE(IsAutoclickMenuShownOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071399 EXPECT_TRUE(IsVirtualKeyboardMenuShownOnDetailMenu());
tdanderson581149422016-10-25 21:37:581400 EXPECT_TRUE(IsHelpAvailableOnDetailMenu());
1401 EXPECT_TRUE(IsSettingsAvailableOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011402 EXPECT_TRUE(IsLargeCursorMenuShownOnDetailMenu());
1403 EXPECT_TRUE(IsMonoAudioMenuShownOnDetailMenu());
1404 EXPECT_TRUE(IsCaretHighlightMenuShownOnDetailMenu());
1405 EXPECT_TRUE(IsHighlightMouseCursorMenuShownOnDetailMenu());
1406 EXPECT_TRUE(IsHighlightKeyboardFocusMenuShownOnDetailMenu());
[email protected]57999022013-06-07 12:52:031407 CloseDetailMenu();
1408
skye79274a2016-06-08 05:39:021409 SetLoginStatus(ash::LoginStatus::LOCKED);
[email protected]57999022013-06-07 12:52:031410 EXPECT_TRUE(CreateDetailedMenu());
1411 EXPECT_TRUE(IsSpokenFeedbackMenuShownOnDetailMenu());
1412 EXPECT_TRUE(IsHighContrastMenuShownOnDetailMenu());
1413 EXPECT_TRUE(IsScreenMagnifierMenuShownOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131414 EXPECT_TRUE(IsAutoclickMenuShownOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071415 EXPECT_TRUE(IsVirtualKeyboardMenuShownOnDetailMenu());
tdanderson581149422016-10-25 21:37:581416 EXPECT_FALSE(IsHelpAvailableOnDetailMenu());
1417 EXPECT_FALSE(IsSettingsAvailableOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011418 EXPECT_TRUE(IsLargeCursorMenuShownOnDetailMenu());
1419 EXPECT_TRUE(IsMonoAudioMenuShownOnDetailMenu());
1420 EXPECT_TRUE(IsCaretHighlightMenuShownOnDetailMenu());
1421 EXPECT_TRUE(IsHighlightMouseCursorMenuShownOnDetailMenu());
1422 EXPECT_TRUE(IsHighlightKeyboardFocusMenuShownOnDetailMenu());
[email protected]7570bba2014-08-08 08:04:471423 CloseDetailMenu();
1424
xiyuanf1ff14d2017-03-20 20:28:141425 session_manager::SessionManager::Get()->SetSessionState(
1426 session_manager::SessionState::LOGIN_SECONDARY);
xiyuan233f4e72017-04-06 06:59:561427 // Flush to ensure the session state reaches ash and updates login status.
1428 SessionControllerClient::FlushForTesting();
skye79274a2016-06-08 05:39:021429 SetLoginStatus(ash::LoginStatus::USER);
[email protected]7570bba2014-08-08 08:04:471430 EXPECT_TRUE(CreateDetailedMenu());
1431 EXPECT_TRUE(IsSpokenFeedbackMenuShownOnDetailMenu());
1432 EXPECT_TRUE(IsHighContrastMenuShownOnDetailMenu());
1433 EXPECT_TRUE(IsScreenMagnifierMenuShownOnDetailMenu());
[email protected]7570bba2014-08-08 08:04:471434 EXPECT_TRUE(IsAutoclickMenuShownOnDetailMenu());
1435 EXPECT_TRUE(IsVirtualKeyboardMenuShownOnDetailMenu());
tdanderson581149422016-10-25 21:37:581436 EXPECT_FALSE(IsHelpAvailableOnDetailMenu());
1437 EXPECT_FALSE(IsSettingsAvailableOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011438 EXPECT_TRUE(IsLargeCursorMenuShownOnDetailMenu());
1439 EXPECT_TRUE(IsMonoAudioMenuShownOnDetailMenu());
1440 EXPECT_TRUE(IsCaretHighlightMenuShownOnDetailMenu());
1441 EXPECT_TRUE(IsHighlightMouseCursorMenuShownOnDetailMenu());
1442 EXPECT_TRUE(IsHighlightKeyboardFocusMenuShownOnDetailMenu());
[email protected]806d94e2012-12-16 20:31:261443 CloseDetailMenu();
1444}
1445
[email protected]5ace0c232013-05-29 00:48:411446INSTANTIATE_TEST_CASE_P(TrayAccessibilityTestInstance,
1447 TrayAccessibilityTest,
1448 testing::Values(PREF_SERVICE,
1449 POLICY));
1450
[email protected]cce1bad62013-01-04 02:26:381451} // namespace chromeos