blob: 0caa3a3e7799e4000341e8578c4f8685dcfa0fdd [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 Cookb0bf8e82017-04-09 17:01:445#include "ash/login_status.h"
Qiang Xu4cfec6e62017-11-10 02:14:306#include "ash/public/cpp/accessibility_types.h"
James Cookc63b9fd2017-08-18 18:48:327#include "ash/public/cpp/ash_pref_names.h"
[email protected]806d94e2012-12-16 20:31:268#include "ash/shell.h"
James Cook346c8c62017-07-18 19:38:379#include "ash/shell_test_api.h"
Sammie Quonb5f32e02017-10-10 19:16:1210#include "ash/system/tray/hover_highlight_view.h"
James Cookb0bf8e82017-04-09 17:01:4411#include "ash/system/tray/system_tray.h"
jamescooka1b2a092017-06-08 15:07:5512#include "ash/system/tray/system_tray_test_api.h"
James Cookb0bf8e82017-04-09 17:01:4413#include "ash/system/tray_accessibility.h"
[email protected]aecb6082013-07-09 14:29:4114#include "base/callback.h"
[email protected]806d94e2012-12-16 20:31:2615#include "base/command_line.h"
Gabriel Charette078e3662017-08-28 22:59:0416#include "base/run_loop.h"
[email protected]806d94e2012-12-16 20:31:2617#include "chrome/browser/browser_process.h"
[email protected]fdf40f3e2013-07-11 23:55:4618#include "chrome/browser/chrome_notification_types.h"
[email protected]1dfebfc2013-06-04 03:14:3219#include "chrome/browser/chromeos/accessibility/accessibility_manager.h"
[email protected]806d94e2012-12-16 20:31:2620#include "chrome/browser/chromeos/accessibility/magnification_manager.h"
[email protected]806d94e2012-12-16 20:31:2621#include "chrome/browser/chromeos/login/helper.h"
[email protected]aa8328fb2013-04-19 15:09:0622#include "chrome/browser/chromeos/login/startup_utils.h"
James Cook928f23c2017-11-09 22:45:5023#include "chrome/browser/chromeos/login/test/oobe_base_test.h"
[email protected]806d94e2012-12-16 20:31:2624#include "chrome/browser/profiles/profile.h"
25#include "chrome/browser/profiles/profile_manager.h"
xiyuan233f4e72017-04-06 06:59:5626#include "chrome/browser/ui/ash/session_controller_client.h"
[email protected]806d94e2012-12-16 20:31:2627#include "chrome/common/chrome_switches.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"
James Cook928f23c2017-11-09 22:45:5041#include "ui/compositor/scoped_animation_duration_scale_mode.h"
tdanderson581149422016-10-25 21:37:5842#include "ui/views/controls/button/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]5ace0c232013-05-29 00:48:4146using testing::Return;
47using testing::_;
48using testing::WithParamInterface;
49
[email protected]806d94e2012-12-16 20:31:2650namespace chromeos {
51
[email protected]5ace0c232013-05-29 00:48:4152enum PrefSettingMechanism {
53 PREF_SERVICE,
54 POLICY,
55};
56
James Cook928f23c2017-11-09 22:45:5057////////////////////////////////////////////////////////////////////////////////
58// Changing accessibility settings may change preferences, so these helpers spin
59// the message loop to ensure ash sees the change.
60
[email protected]7585f4c2013-01-10 18:26:4161void SetMagnifierEnabled(bool enabled) {
62 MagnificationManager::Get()->SetMagnifierEnabled(enabled);
James Cook928f23c2017-11-09 22:45:5063 base::RunLoop().RunUntilIdle();
[email protected]806d94e2012-12-16 20:31:2664}
65
James Cook928f23c2017-11-09 22:45:5066void EnableSpokenFeedback(bool enabled,
67 ash::AccessibilityNotificationVisibility notify) {
68 AccessibilityManager::Get()->EnableSpokenFeedback(enabled, notify);
69 base::RunLoop().RunUntilIdle();
xiyuan8c6a4112017-06-19 21:03:4970}
71
James Cook928f23c2017-11-09 22:45:5072void EnableHighContrast(bool enabled) {
73 AccessibilityManager::Get()->EnableHighContrast(enabled);
74 base::RunLoop().RunUntilIdle();
75}
76
77void EnableAutoclick(bool enabled) {
78 AccessibilityManager::Get()->EnableAutoclick(enabled);
79 base::RunLoop().RunUntilIdle();
80}
81
82void EnableVirtualKeyboard(bool enabled) {
83 AccessibilityManager::Get()->EnableVirtualKeyboard(enabled);
84 base::RunLoop().RunUntilIdle();
85}
86
87void EnableLargeCursor(bool enabled) {
88 AccessibilityManager::Get()->EnableLargeCursor(enabled);
89 base::RunLoop().RunUntilIdle();
90}
91
92void EnableMonoAudio(bool enabled) {
93 AccessibilityManager::Get()->EnableMonoAudio(enabled);
94 base::RunLoop().RunUntilIdle();
95}
96
97void SetCaretHighlightEnabled(bool enabled) {
98 AccessibilityManager::Get()->SetCaretHighlightEnabled(enabled);
99 base::RunLoop().RunUntilIdle();
100}
101
102void SetCursorHighlightEnabled(bool enabled) {
103 AccessibilityManager::Get()->SetCursorHighlightEnabled(enabled);
104 base::RunLoop().RunUntilIdle();
105}
106
107void SetFocusHighlightEnabled(bool enabled) {
108 AccessibilityManager::Get()->SetFocusHighlightEnabled(enabled);
109 base::RunLoop().RunUntilIdle();
110}
111
112void EnableStickyKeys(bool enabled) {
113 AccessibilityManager::Get()->EnableStickyKeys(enabled);
114 base::RunLoop().RunUntilIdle();
115}
116
117void EnableTapDragging(bool enabled) {
118 AccessibilityManager::Get()->EnableTapDragging(enabled);
119 base::RunLoop().RunUntilIdle();
120}
121
122// Uses InProcessBrowserTest instead of OobeBaseTest because most of the tests
123// don't need to test the login screen.
[email protected]5ace0c232013-05-29 00:48:41124class TrayAccessibilityTest
[email protected]0b294be2013-08-17 02:18:41125 : public InProcessBrowserTest,
[email protected]5ace0c232013-05-29 00:48:41126 public WithParamInterface<PrefSettingMechanism> {
James Cook928f23c2017-11-09 22:45:50127 public:
128 TrayAccessibilityTest()
129 : disable_animations_(
130 ui::ScopedAnimationDurationScaleMode::ZERO_DURATION) {}
131 ~TrayAccessibilityTest() override = default;
[email protected]25cf28e2013-03-25 19:26:25132
[email protected]a81b2c32014-03-28 06:35:01133 // The profile which should be used by these tests.
[email protected]613b3f52013-12-13 23:37:06134 Profile* GetProfile() { return ProfileManager::GetActiveUserProfile(); }
135
dchengc97a0282015-01-15 23:04:24136 void SetUpInProcessBrowserTestFixture() override {
James Cook928f23c2017-11-09 22:45:50137 InProcessBrowserTest::SetUpInProcessBrowserTestFixture();
[email protected]5ace0c232013-05-29 00:48:41138 EXPECT_CALL(provider_, IsInitializationComplete(_))
139 .WillRepeatedly(Return(true));
[email protected]5ace0c232013-05-29 00:48:41140 policy::BrowserPolicyConnector::SetPolicyProviderForTesting(&provider_);
[email protected]a81b2c32014-03-28 06:35:01141 }
142
[email protected]5ace0c232013-05-29 00:48:41143 void SetShowAccessibilityOptionsInSystemTrayMenu(bool value) {
144 if (GetParam() == PREF_SERVICE) {
[email protected]613b3f52013-12-13 23:37:06145 PrefService* prefs = GetProfile()->GetPrefs();
James Cookc63b9fd2017-08-18 18:48:32146 prefs->SetBoolean(ash::prefs::kShouldAlwaysShowAccessibilityMenu, value);
James Cookb601dd5c2018-01-29 21:07:19147 // Prefs are sent to ash asynchronously.
148 base::RunLoop().RunUntilIdle();
[email protected]5ace0c232013-05-29 00:48:41149 } else if (GetParam() == POLICY) {
150 policy::PolicyMap policy_map;
151 policy_map.Set(policy::key::kShowAccessibilityOptionsInSystemTrayMenu,
dcheng3b344bc22016-05-10 02:26:09152 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER,
fhorschig64834b712015-09-21 14:20:23153 policy::POLICY_SOURCE_CLOUD,
Jinho Bang341ce5b02018-01-17 22:46:03154 std::make_unique<base::Value>(value), nullptr);
[email protected]5ace0c232013-05-29 00:48:41155 provider_.UpdateChromePolicy(policy_map);
156 base::RunLoop().RunUntilIdle();
157 } else {
158 FAIL() << "Unknown test parameterization";
159 }
160 }
161
James Cook928f23c2017-11-09 22:45:50162 static ash::TrayAccessibility* tray() {
jamescooka1b2a092017-06-08 15:07:55163 return ash::SystemTrayTestApi(ash::Shell::Get()->GetPrimarySystemTray())
164 .tray_accessibility();
[email protected]806d94e2012-12-16 20:31:26165 }
166
James Cook928f23c2017-11-09 22:45:50167 // The "tray view" is the icon.
168 bool IsTrayIconVisible() const { return tray()->tray_view()->visible(); }
[email protected]a81b2c32014-03-28 06:35:01169
[email protected]806d94e2012-12-16 20:31:26170 views::View* CreateMenuItem() {
171 return tray()->CreateDefaultView(GetLoginStatus());
172 }
173
Evan Stadee70b0a62017-06-05 20:42:30174 void DestroyMenuItem() { return tray()->OnDefaultViewDestroyed(); }
[email protected]806d94e2012-12-16 20:31:26175
176 bool CanCreateMenuItem() {
177 views::View* menu_item_view = CreateMenuItem();
178 DestroyMenuItem();
Qiang Xu800e3892017-10-03 17:36:26179 return menu_item_view != nullptr;
[email protected]806d94e2012-12-16 20:31:26180 }
181
skye79274a2016-06-08 05:39:02182 void SetLoginStatus(ash::LoginStatus status) {
[email protected]806d94e2012-12-16 20:31:26183 tray()->UpdateAfterLoginStatusChange(status);
184 }
185
skye79274a2016-06-08 05:39:02186 ash::LoginStatus GetLoginStatus() { return tray()->login_; }
[email protected]806d94e2012-12-16 20:31:26187
188 bool CreateDetailedMenu() {
Qiang Xu800e3892017-10-03 17:36:26189 tray()->ShowDetailedView(0);
190 return tray()->detailed_menu_ != nullptr;
[email protected]806d94e2012-12-16 20:31:26191 }
192
Sammie Quonb5f32e02017-10-10 19:16:12193 ash::tray::AccessibilityDetailedView* GetDetailedMenu() {
194 return tray()->detailed_menu_;
195 }
196
[email protected]806d94e2012-12-16 20:31:26197 void CloseDetailMenu() {
Evan Stadee70b0a62017-06-05 20:42:30198 ASSERT_TRUE(tray()->detailed_menu_);
199 tray()->OnDetailedViewDestroyed();
200 EXPECT_FALSE(tray()->detailed_menu_);
[email protected]806d94e2012-12-16 20:31:26201 }
202
James Cook928f23c2017-11-09 22:45:50203 // These helpers may change prefs in ash, so they must spin the message loop
204 // to wait for chrome to observe the change.
[email protected]806d94e2012-12-16 20:31:26205 void ClickSpokenFeedbackOnDetailMenu() {
Sammie Quonb5f32e02017-10-10 19:16:12206 ash::HoverHighlightView* view =
207 tray()->detailed_menu_->spoken_feedback_view_;
Sammie Quonb5f32e02017-10-10 19:16:12208 tray()->detailed_menu_->OnViewClicked(view);
James Cook928f23c2017-11-09 22:45:50209 base::RunLoop().RunUntilIdle();
[email protected]806d94e2012-12-16 20:31:26210 }
211
212 void ClickHighContrastOnDetailMenu() {
Sammie Quonb5f32e02017-10-10 19:16:12213 ash::HoverHighlightView* view = tray()->detailed_menu_->high_contrast_view_;
Sammie Quonb5f32e02017-10-10 19:16:12214 tray()->detailed_menu_->OnViewClicked(view);
James Cook928f23c2017-11-09 22:45:50215 base::RunLoop().RunUntilIdle();
[email protected]806d94e2012-12-16 20:31:26216 }
217
218 void ClickScreenMagnifierOnDetailMenu() {
Sammie Quonb5f32e02017-10-10 19:16:12219 ash::HoverHighlightView* view =
220 tray()->detailed_menu_->screen_magnifier_view_;
Sammie Quonb5f32e02017-10-10 19:16:12221 tray()->detailed_menu_->OnViewClicked(view);
James Cook928f23c2017-11-09 22:45:50222 base::RunLoop().RunUntilIdle();
[email protected]806d94e2012-12-16 20:31:26223 }
224
[email protected]7cfa31a2013-10-23 20:08:13225 void ClickAutoclickOnDetailMenu() {
Sammie Quonb5f32e02017-10-10 19:16:12226 ash::HoverHighlightView* view = tray()->detailed_menu_->autoclick_view_;
Sammie Quonb5f32e02017-10-10 19:16:12227 tray()->detailed_menu_->OnViewClicked(view);
James Cook928f23c2017-11-09 22:45:50228 base::RunLoop().RunUntilIdle();
[email protected]abdd0d72014-02-05 17:18:07229 }
230
231 void ClickVirtualKeyboardOnDetailMenu() {
Sammie Quonb5f32e02017-10-10 19:16:12232 ash::HoverHighlightView* view =
233 tray()->detailed_menu_->virtual_keyboard_view_;
Sammie Quonb5f32e02017-10-10 19:16:12234 tray()->detailed_menu_->OnViewClicked(view);
James Cook928f23c2017-11-09 22:45:50235 base::RunLoop().RunUntilIdle();
[email protected]7cfa31a2013-10-23 20:08:13236 }
237
mincha0b24ab2017-03-31 22:16:01238 void ClickLargeMouseCursorOnDetailMenu() {
Sammie Quonb5f32e02017-10-10 19:16:12239 ash::HoverHighlightView* view = tray()->detailed_menu_->large_cursor_view_;
Sammie Quonb5f32e02017-10-10 19:16:12240 tray()->detailed_menu_->OnViewClicked(view);
James Cook928f23c2017-11-09 22:45:50241 base::RunLoop().RunUntilIdle();
mincha0b24ab2017-03-31 22:16:01242 }
243
244 void ClickMonoAudioOnDetailMenu() {
Sammie Quonb5f32e02017-10-10 19:16:12245 ash::HoverHighlightView* view = tray()->detailed_menu_->mono_audio_view_;
Sammie Quonb5f32e02017-10-10 19:16:12246 tray()->detailed_menu_->OnViewClicked(view);
James Cook928f23c2017-11-09 22:45:50247 base::RunLoop().RunUntilIdle();
mincha0b24ab2017-03-31 22:16:01248 }
249
250 void ClickCaretHighlightOnDetailMenu() {
Sammie Quonb5f32e02017-10-10 19:16:12251 ash::HoverHighlightView* view =
252 tray()->detailed_menu_->caret_highlight_view_;
Sammie Quonb5f32e02017-10-10 19:16:12253 tray()->detailed_menu_->OnViewClicked(view);
James Cook928f23c2017-11-09 22:45:50254 base::RunLoop().RunUntilIdle();
mincha0b24ab2017-03-31 22:16:01255 }
256
257 void ClickHighlightMouseCursorOnDetailMenu() {
Sammie Quonb5f32e02017-10-10 19:16:12258 ash::HoverHighlightView* view =
259 tray()->detailed_menu_->highlight_mouse_cursor_view_;
Sammie Quonb5f32e02017-10-10 19:16:12260 tray()->detailed_menu_->OnViewClicked(view);
James Cook928f23c2017-11-09 22:45:50261 base::RunLoop().RunUntilIdle();
mincha0b24ab2017-03-31 22:16:01262 }
263
Sammie Quonb5f32e02017-10-10 19:16:12264 void ClickHighlightKeyboardFocusOnDetailMenu() {
265 ash::HoverHighlightView* view =
mincha0b24ab2017-03-31 22:16:01266 tray()->detailed_menu_->highlight_keyboard_focus_view_;
Sammie Quonb5f32e02017-10-10 19:16:12267 tray()->detailed_menu_->OnViewClicked(view);
James Cook928f23c2017-11-09 22:45:50268 base::RunLoop().RunUntilIdle();
mincha0b24ab2017-03-31 22:16:01269 }
270
minchd9d542482017-04-07 19:29:56271 void ClickStickyKeysOnDetailMenu() {
Sammie Quonb5f32e02017-10-10 19:16:12272 ash::HoverHighlightView* view = tray()->detailed_menu_->sticky_keys_view_;
Sammie Quonb5f32e02017-10-10 19:16:12273 tray()->detailed_menu_->OnViewClicked(view);
James Cook928f23c2017-11-09 22:45:50274 base::RunLoop().RunUntilIdle();
minchd9d542482017-04-07 19:29:56275 }
276
277 void ClickTapDraggingOnDetailMenu() {
Sammie Quonb5f32e02017-10-10 19:16:12278 ash::HoverHighlightView* view = tray()->detailed_menu_->tap_dragging_view_;
Sammie Quonb5f32e02017-10-10 19:16:12279 tray()->detailed_menu_->OnViewClicked(view);
James Cook928f23c2017-11-09 22:45:50280 base::RunLoop().RunUntilIdle();
minchd9d542482017-04-07 19:29:56281 }
282
[email protected]a81b2c32014-03-28 06:35:01283 bool IsSpokenFeedbackEnabledOnDetailMenu() const {
[email protected]806d94e2012-12-16 20:31:26284 return tray()->detailed_menu_->spoken_feedback_enabled_;
285 }
286
[email protected]a81b2c32014-03-28 06:35:01287 bool IsHighContrastEnabledOnDetailMenu() const {
[email protected]806d94e2012-12-16 20:31:26288 return tray()->detailed_menu_->high_contrast_enabled_;
289 }
290
[email protected]a81b2c32014-03-28 06:35:01291 bool IsScreenMagnifierEnabledOnDetailMenu() const {
[email protected]806d94e2012-12-16 20:31:26292 return tray()->detailed_menu_->screen_magnifier_enabled_;
293 }
[email protected]5ace0c232013-05-29 00:48:41294
[email protected]a81b2c32014-03-28 06:35:01295 bool IsLargeCursorEnabledOnDetailMenu() const {
[email protected]57999022013-06-07 12:52:03296 return tray()->detailed_menu_->large_cursor_enabled_;
297 }
298
[email protected]a81b2c32014-03-28 06:35:01299 bool IsAutoclickEnabledOnDetailMenu() const {
[email protected]7cfa31a2013-10-23 20:08:13300 return tray()->detailed_menu_->autoclick_enabled_;
301 }
[email protected]abdd0d72014-02-05 17:18:07302
[email protected]a81b2c32014-03-28 06:35:01303 bool IsVirtualKeyboardEnabledOnDetailMenu() const {
[email protected]abdd0d72014-02-05 17:18:07304 return tray()->detailed_menu_->virtual_keyboard_enabled_;
305 }
306
mincha0b24ab2017-03-31 22:16:01307 bool IsMonoAudioEnabledOnDetailMenu() const {
308 return tray()->detailed_menu_->mono_audio_enabled_;
309 }
310
311 bool IsCaretHighlightEnabledOnDetailMenu() const {
312 return tray()->detailed_menu_->caret_highlight_enabled_;
313 }
314
315 bool IsHighlightMouseCursorEnabledOnDetailMenu() const {
316 return tray()->detailed_menu_->highlight_mouse_cursor_enabled_;
317 }
318
319 bool IsHighlightKeyboardFocusEnabledOnDetailMenu() const {
320 return tray()->detailed_menu_->highlight_keyboard_focus_enabled_;
321 }
322
minchd9d542482017-04-07 19:29:56323 bool IsStickyKeysEnabledOnDetailMenu() const {
324 return tray()->detailed_menu_->sticky_keys_enabled_;
325 }
326
327 bool IsTapDraggingEnabledOnDetailMenu() const {
328 return tray()->detailed_menu_->tap_dragging_enabled_;
329 }
330
[email protected]a81b2c32014-03-28 06:35:01331 bool IsSpokenFeedbackMenuShownOnDetailMenu() const {
[email protected]57999022013-06-07 12:52:03332 return tray()->detailed_menu_->spoken_feedback_view_;
333 }
334
[email protected]a81b2c32014-03-28 06:35:01335 bool IsHighContrastMenuShownOnDetailMenu() const {
[email protected]57999022013-06-07 12:52:03336 return tray()->detailed_menu_->high_contrast_view_;
337 }
338
[email protected]a81b2c32014-03-28 06:35:01339 bool IsScreenMagnifierMenuShownOnDetailMenu() const {
[email protected]57999022013-06-07 12:52:03340 return tray()->detailed_menu_->screen_magnifier_view_;
341 }
342
[email protected]a81b2c32014-03-28 06:35:01343 bool IsLargeCursorMenuShownOnDetailMenu() const {
[email protected]57999022013-06-07 12:52:03344 return tray()->detailed_menu_->large_cursor_view_;
345 }
346
[email protected]a81b2c32014-03-28 06:35:01347 bool IsAutoclickMenuShownOnDetailMenu() const {
[email protected]7cfa31a2013-10-23 20:08:13348 return tray()->detailed_menu_->autoclick_view_;
349 }
350
[email protected]a81b2c32014-03-28 06:35:01351 bool IsVirtualKeyboardMenuShownOnDetailMenu() const {
[email protected]abdd0d72014-02-05 17:18:07352 return tray()->detailed_menu_->virtual_keyboard_view_;
353 }
354
mincha0b24ab2017-03-31 22:16:01355 bool IsMonoAudioMenuShownOnDetailMenu() const {
356 return tray()->detailed_menu_->mono_audio_view_;
357 }
358
359 bool IsCaretHighlightMenuShownOnDetailMenu() const {
360 return tray()->detailed_menu_->caret_highlight_view_;
361 }
362
363 bool IsHighlightMouseCursorMenuShownOnDetailMenu() const {
364 return tray()->detailed_menu_->highlight_mouse_cursor_view_;
365 }
366
367 bool IsHighlightKeyboardFocusMenuShownOnDetailMenu() const {
368 return tray()->detailed_menu_->highlight_keyboard_focus_view_;
369 }
370
minchd9d542482017-04-07 19:29:56371 bool IsStickyKeysMenuShownOnDetailMenu() const {
372 return tray()->detailed_menu_->sticky_keys_view_;
373 }
374
375 bool IsTapDraggingMenuShownOnDetailMenu() const {
376 return tray()->detailed_menu_->tap_dragging_view_;
377 }
378
tdanderson581149422016-10-25 21:37:58379 // In material design we show the help button but theme it as disabled if
mohsen6faf4f32017-02-09 22:09:41380 // it is not possible to load the help page.
James Cook928f23c2017-11-09 22:45:50381 static bool IsHelpAvailableOnDetailMenu() {
mohsen6faf4f32017-02-09 22:09:41382 return tray()->detailed_menu_->help_view_->state() ==
383 views::Button::STATE_NORMAL;
[email protected]7570bba2014-08-08 08:04:47384 }
385
tdanderson581149422016-10-25 21:37:58386 // In material design we show the settings button but theme it as disabled if
mohsen6faf4f32017-02-09 22:09:41387 // it is not possible to load the settings page.
James Cook928f23c2017-11-09 22:45:50388 static bool IsSettingsAvailableOnDetailMenu() {
mohsen6faf4f32017-02-09 22:09:41389 return tray()->detailed_menu_->settings_view_->state() ==
390 views::Button::STATE_NORMAL;
[email protected]7570bba2014-08-08 08:04:47391 }
392
James Cook928f23c2017-11-09 22:45:50393 // Disable animations so that tray icons hide immediately.
394 ui::ScopedAnimationDurationScaleMode disable_animations_;
395
[email protected]5ace0c232013-05-29 00:48:41396 policy::MockConfigurationPolicyProvider provider_;
[email protected]806d94e2012-12-16 20:31:26397};
398
James Cook928f23c2017-11-09 22:45:50399using TrayAccessibilityLoginScreenTest = OobeBaseTest;
[email protected]806d94e2012-12-16 20:31:26400
James Cook928f23c2017-11-09 22:45:50401// Verify the login screen state in a separate test to avoid having to simulate
402// login repeatedly.
403IN_PROC_BROWSER_TEST_F(TrayAccessibilityLoginScreenTest, LoginStatus) {
404 ui::ScopedAnimationDurationScaleMode disable_animations(
405 ui::ScopedAnimationDurationScaleMode::ZERO_DURATION);
406 WaitForSigninScreen();
[email protected]806d94e2012-12-16 20:31:26407
James Cook928f23c2017-11-09 22:45:50408 // By default the icon is not visible at the login screen.
409 views::View* tray_icon = TrayAccessibilityTest::tray()->tray_view();
410 EXPECT_FALSE(tray_icon->visible());
411
412 // Enabling an accessibility feature shows the icon.
413 EnableLargeCursor(true);
414 EXPECT_TRUE(tray_icon->visible());
415
416 // Disabling the accessibility feature hides the icon.
417 EnableLargeCursor(false);
418 EXPECT_FALSE(tray_icon->visible());
419
420 // Settings and help are not available on the login screen because they use
421 // webui.
422 TrayAccessibilityTest::tray()->ShowDetailedView(0);
423 EXPECT_FALSE(TrayAccessibilityTest::IsHelpAvailableOnDetailMenu());
424 EXPECT_FALSE(TrayAccessibilityTest::IsSettingsAvailableOnDetailMenu());
[email protected]806d94e2012-12-16 20:31:26425}
426
yoshiki064fa9e2015-09-04 06:32:45427IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, ShowTrayIcon) {
[email protected]806d94e2012-12-16 20:31:26428 // Confirms that the icon is invisible just after login.
429 EXPECT_FALSE(IsTrayIconVisible());
430
James Cookfc97f0a2017-08-16 20:05:35431 // Toggling spoken feedback changes the visibility of the icon.
James Cook928f23c2017-11-09 22:45:50432 EnableSpokenFeedback(true, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26433 EXPECT_TRUE(IsTrayIconVisible());
James Cook928f23c2017-11-09 22:45:50434 EnableSpokenFeedback(false, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26435 EXPECT_FALSE(IsTrayIconVisible());
436
James Cookfc97f0a2017-08-16 20:05:35437 // Toggling high contrast changes the visibility of the icon.
James Cook928f23c2017-11-09 22:45:50438 EnableHighContrast(true);
[email protected]806d94e2012-12-16 20:31:26439 EXPECT_TRUE(IsTrayIconVisible());
James Cook928f23c2017-11-09 22:45:50440 EnableHighContrast(false);
[email protected]806d94e2012-12-16 20:31:26441 EXPECT_FALSE(IsTrayIconVisible());
442
James Cookfc97f0a2017-08-16 20:05:35443 // Toggling magnifier changes the visibility of the icon.
[email protected]7585f4c2013-01-10 18:26:41444 SetMagnifierEnabled(true);
[email protected]806d94e2012-12-16 20:31:26445 EXPECT_TRUE(IsTrayIconVisible());
[email protected]7585f4c2013-01-10 18:26:41446 SetMagnifierEnabled(false);
[email protected]806d94e2012-12-16 20:31:26447 EXPECT_FALSE(IsTrayIconVisible());
448
James Cookfc97f0a2017-08-16 20:05:35449 // Toggling automatic clicks changes the visibility of the icon.
James Cook928f23c2017-11-09 22:45:50450 EnableAutoclick(true);
mincha0b24ab2017-03-31 22:16:01451 EXPECT_TRUE(IsTrayIconVisible());
James Cook928f23c2017-11-09 22:45:50452 EnableAutoclick(false);
mincha0b24ab2017-03-31 22:16:01453 EXPECT_FALSE(IsTrayIconVisible());
454
[email protected]abdd0d72014-02-05 17:18:07455 // Toggling the virtual keyboard setting changes the visibility of the a11y
456 // icon.
James Cook928f23c2017-11-09 22:45:50457 EnableVirtualKeyboard(true);
[email protected]abdd0d72014-02-05 17:18:07458 EXPECT_TRUE(IsTrayIconVisible());
James Cook928f23c2017-11-09 22:45:50459 EnableVirtualKeyboard(false);
[email protected]abdd0d72014-02-05 17:18:07460 EXPECT_FALSE(IsTrayIconVisible());
461
James Cookfc97f0a2017-08-16 20:05:35462 // Toggling large cursor changes the visibility of the icon.
James Cook928f23c2017-11-09 22:45:50463 EnableLargeCursor(true);
mincha0b24ab2017-03-31 22:16:01464 EXPECT_TRUE(IsTrayIconVisible());
James Cook928f23c2017-11-09 22:45:50465 EnableLargeCursor(false);
mincha0b24ab2017-03-31 22:16:01466 EXPECT_FALSE(IsTrayIconVisible());
467
James Cookfc97f0a2017-08-16 20:05:35468 // Toggling mono audio changes the visibility of the icon.
James Cook928f23c2017-11-09 22:45:50469 EnableMonoAudio(true);
mincha0b24ab2017-03-31 22:16:01470 EXPECT_TRUE(IsTrayIconVisible());
James Cook928f23c2017-11-09 22:45:50471 EnableMonoAudio(false);
mincha0b24ab2017-03-31 22:16:01472 EXPECT_FALSE(IsTrayIconVisible());
473
James Cookfc97f0a2017-08-16 20:05:35474 // Toggling caret highlight changes the visibility of the icon.
James Cook928f23c2017-11-09 22:45:50475 SetCaretHighlightEnabled(true);
mincha0b24ab2017-03-31 22:16:01476 EXPECT_TRUE(IsTrayIconVisible());
James Cook928f23c2017-11-09 22:45:50477 SetCaretHighlightEnabled(false);
mincha0b24ab2017-03-31 22:16:01478 EXPECT_FALSE(IsTrayIconVisible());
479
James Cookfc97f0a2017-08-16 20:05:35480 // Toggling highlight mouse cursor changes the visibility of the icon.
James Cook928f23c2017-11-09 22:45:50481 SetCursorHighlightEnabled(true);
mincha0b24ab2017-03-31 22:16:01482 EXPECT_TRUE(IsTrayIconVisible());
James Cook928f23c2017-11-09 22:45:50483 SetCursorHighlightEnabled(false);
mincha0b24ab2017-03-31 22:16:01484 EXPECT_FALSE(IsTrayIconVisible());
485
James Cookfc97f0a2017-08-16 20:05:35486 // Toggling highlight keyboard focus changes the visibility of the icon.
James Cook928f23c2017-11-09 22:45:50487 SetFocusHighlightEnabled(true);
mincha0b24ab2017-03-31 22:16:01488 EXPECT_TRUE(IsTrayIconVisible());
James Cook928f23c2017-11-09 22:45:50489 SetFocusHighlightEnabled(false);
mincha0b24ab2017-03-31 22:16:01490 EXPECT_FALSE(IsTrayIconVisible());
491
James Cookfc97f0a2017-08-16 20:05:35492 // Toggling sticky keys changes the visibility of the icon.
James Cook928f23c2017-11-09 22:45:50493 EnableStickyKeys(true);
minchd9d542482017-04-07 19:29:56494 EXPECT_TRUE(IsTrayIconVisible());
James Cook928f23c2017-11-09 22:45:50495 EnableStickyKeys(false);
minchd9d542482017-04-07 19:29:56496 EXPECT_FALSE(IsTrayIconVisible());
497
James Cookfc97f0a2017-08-16 20:05:35498 // Toggling tap dragging changes the visibility of the icon.
James Cook928f23c2017-11-09 22:45:50499 EnableTapDragging(true);
minchd9d542482017-04-07 19:29:56500 EXPECT_TRUE(IsTrayIconVisible());
James Cook928f23c2017-11-09 22:45:50501 EnableTapDragging(false);
minchd9d542482017-04-07 19:29:56502 EXPECT_FALSE(IsTrayIconVisible());
503
[email protected]806d94e2012-12-16 20:31:26504 // Enabling all accessibility features.
[email protected]7585f4c2013-01-10 18:26:41505 SetMagnifierEnabled(true);
[email protected]806d94e2012-12-16 20:31:26506 EXPECT_TRUE(IsTrayIconVisible());
James Cook928f23c2017-11-09 22:45:50507 EnableHighContrast(true);
[email protected]806d94e2012-12-16 20:31:26508 EXPECT_TRUE(IsTrayIconVisible());
James Cook928f23c2017-11-09 22:45:50509 EnableSpokenFeedback(true, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26510 EXPECT_TRUE(IsTrayIconVisible());
James Cook928f23c2017-11-09 22:45:50511 EnableVirtualKeyboard(true);
[email protected]abdd0d72014-02-05 17:18:07512 EXPECT_TRUE(IsTrayIconVisible());
James Cook928f23c2017-11-09 22:45:50513 EnableLargeCursor(true);
mincha0b24ab2017-03-31 22:16:01514 EXPECT_TRUE(IsTrayIconVisible());
James Cook928f23c2017-11-09 22:45:50515 EnableMonoAudio(true);
mincha0b24ab2017-03-31 22:16:01516 EXPECT_TRUE(IsTrayIconVisible());
James Cook928f23c2017-11-09 22:45:50517 SetCaretHighlightEnabled(true);
mincha0b24ab2017-03-31 22:16:01518 EXPECT_TRUE(IsTrayIconVisible());
James Cook928f23c2017-11-09 22:45:50519 SetCursorHighlightEnabled(true);
mincha0b24ab2017-03-31 22:16:01520 EXPECT_TRUE(IsTrayIconVisible());
James Cook928f23c2017-11-09 22:45:50521 SetFocusHighlightEnabled(true);
mincha0b24ab2017-03-31 22:16:01522 EXPECT_TRUE(IsTrayIconVisible());
James Cook928f23c2017-11-09 22:45:50523 EnableStickyKeys(true);
minchd9d542482017-04-07 19:29:56524 EXPECT_TRUE(IsTrayIconVisible());
James Cook928f23c2017-11-09 22:45:50525 EnableTapDragging(true);
minchd9d542482017-04-07 19:29:56526 EXPECT_TRUE(IsTrayIconVisible());
James Cook928f23c2017-11-09 22:45:50527 EnableSpokenFeedback(false, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26528 EXPECT_TRUE(IsTrayIconVisible());
James Cook928f23c2017-11-09 22:45:50529 EnableHighContrast(false);
[email protected]806d94e2012-12-16 20:31:26530 EXPECT_TRUE(IsTrayIconVisible());
[email protected]7585f4c2013-01-10 18:26:41531 SetMagnifierEnabled(false);
[email protected]abdd0d72014-02-05 17:18:07532 EXPECT_TRUE(IsTrayIconVisible());
James Cook928f23c2017-11-09 22:45:50533 EnableVirtualKeyboard(false);
mincha0b24ab2017-03-31 22:16:01534 EXPECT_TRUE(IsTrayIconVisible());
James Cook928f23c2017-11-09 22:45:50535 EnableLargeCursor(false);
mincha0b24ab2017-03-31 22:16:01536 EXPECT_TRUE(IsTrayIconVisible());
James Cook928f23c2017-11-09 22:45:50537 EnableMonoAudio(false);
mincha0b24ab2017-03-31 22:16:01538 EXPECT_TRUE(IsTrayIconVisible());
James Cook928f23c2017-11-09 22:45:50539 SetCaretHighlightEnabled(false);
mincha0b24ab2017-03-31 22:16:01540 EXPECT_TRUE(IsTrayIconVisible());
James Cook928f23c2017-11-09 22:45:50541 SetCursorHighlightEnabled(false);
mincha0b24ab2017-03-31 22:16:01542 EXPECT_TRUE(IsTrayIconVisible());
James Cook928f23c2017-11-09 22:45:50543 SetFocusHighlightEnabled(false);
minchd9d542482017-04-07 19:29:56544 EXPECT_TRUE(IsTrayIconVisible());
James Cook928f23c2017-11-09 22:45:50545 EnableStickyKeys(false);
minchd9d542482017-04-07 19:29:56546 EXPECT_TRUE(IsTrayIconVisible());
James Cook928f23c2017-11-09 22:45:50547 EnableTapDragging(false);
[email protected]806d94e2012-12-16 20:31:26548 EXPECT_FALSE(IsTrayIconVisible());
549
James Cookc63b9fd2017-08-18 18:48:32550 // Confirms that ash::prefs::kShouldAlwaysShowAccessibilityMenu doesn't affect
[email protected]806d94e2012-12-16 20:31:26551 // the icon on the tray.
[email protected]5ace0c232013-05-29 00:48:41552 SetShowAccessibilityOptionsInSystemTrayMenu(true);
James Cook928f23c2017-11-09 22:45:50553 EnableHighContrast(true);
[email protected]806d94e2012-12-16 20:31:26554 EXPECT_TRUE(IsTrayIconVisible());
James Cook928f23c2017-11-09 22:45:50555 EnableHighContrast(false);
[email protected]806d94e2012-12-16 20:31:26556 EXPECT_FALSE(IsTrayIconVisible());
557}
558
yoshiki064fa9e2015-09-04 06:32:45559IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, ShowMenu) {
[email protected]5ace0c232013-05-29 00:48:41560 SetShowAccessibilityOptionsInSystemTrayMenu(false);
[email protected]806d94e2012-12-16 20:31:26561
562 // Confirms that the menu is hidden.
563 EXPECT_FALSE(CanCreateMenuItem());
564
James Cookfc97f0a2017-08-16 20:05:35565 // Toggling spoken feedback changes the visibility of the menu.
James Cook928f23c2017-11-09 22:45:50566 EnableSpokenFeedback(true, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26567 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50568 EnableSpokenFeedback(false, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26569 EXPECT_FALSE(CanCreateMenuItem());
570
James Cookfc97f0a2017-08-16 20:05:35571 // Toggling high contrast changes the visibility of the menu.
James Cook928f23c2017-11-09 22:45:50572 EnableHighContrast(true);
[email protected]806d94e2012-12-16 20:31:26573 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50574 EnableHighContrast(false);
[email protected]806d94e2012-12-16 20:31:26575 EXPECT_FALSE(CanCreateMenuItem());
576
[email protected]5ace0c232013-05-29 00:48:41577 // Toggling screen magnifier changes the visibility of the menu.
[email protected]7585f4c2013-01-10 18:26:41578 SetMagnifierEnabled(true);
[email protected]806d94e2012-12-16 20:31:26579 EXPECT_TRUE(CanCreateMenuItem());
[email protected]7585f4c2013-01-10 18:26:41580 SetMagnifierEnabled(false);
[email protected]806d94e2012-12-16 20:31:26581 EXPECT_FALSE(CanCreateMenuItem());
582
[email protected]7cfa31a2013-10-23 20:08:13583 // Toggling autoclick changes the visibility of the menu.
James Cook928f23c2017-11-09 22:45:50584 EnableAutoclick(true);
[email protected]7cfa31a2013-10-23 20:08:13585 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50586 EnableAutoclick(false);
[email protected]7cfa31a2013-10-23 20:08:13587 EXPECT_FALSE(CanCreateMenuItem());
588
[email protected]abdd0d72014-02-05 17:18:07589 // Toggling virtual keyboard changes the visibility of the menu.
James Cook928f23c2017-11-09 22:45:50590 EnableVirtualKeyboard(true);
[email protected]abdd0d72014-02-05 17:18:07591 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50592 EnableVirtualKeyboard(false);
[email protected]abdd0d72014-02-05 17:18:07593 EXPECT_FALSE(CanCreateMenuItem());
594
mincha0b24ab2017-03-31 22:16:01595 // Toggling large mouse cursor changes the visibility of the menu.
James Cook928f23c2017-11-09 22:45:50596 EnableLargeCursor(true);
mincha0b24ab2017-03-31 22:16:01597 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50598 EnableLargeCursor(false);
mincha0b24ab2017-03-31 22:16:01599 EXPECT_FALSE(CanCreateMenuItem());
600
601 // Toggling mono audio changes the visibility of the menu.
James Cook928f23c2017-11-09 22:45:50602 EnableMonoAudio(true);
mincha0b24ab2017-03-31 22:16:01603 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50604 EnableMonoAudio(false);
mincha0b24ab2017-03-31 22:16:01605 EXPECT_FALSE(CanCreateMenuItem());
606
607 // Toggling caret highlight changes the visibility of the menu.
James Cook928f23c2017-11-09 22:45:50608 SetCaretHighlightEnabled(true);
mincha0b24ab2017-03-31 22:16:01609 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50610 SetCaretHighlightEnabled(false);
mincha0b24ab2017-03-31 22:16:01611 EXPECT_FALSE(CanCreateMenuItem());
612
613 // Toggling highlight mouse cursor changes the visibility of the menu.
James Cook928f23c2017-11-09 22:45:50614 SetCursorHighlightEnabled(true);
mincha0b24ab2017-03-31 22:16:01615 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50616 SetCursorHighlightEnabled(false);
mincha0b24ab2017-03-31 22:16:01617 EXPECT_FALSE(CanCreateMenuItem());
618
619 // Toggling highlight keyboard focus changes the visibility of the menu.
James Cook928f23c2017-11-09 22:45:50620 SetFocusHighlightEnabled(true);
mincha0b24ab2017-03-31 22:16:01621 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50622 SetFocusHighlightEnabled(false);
mincha0b24ab2017-03-31 22:16:01623 EXPECT_FALSE(CanCreateMenuItem());
624
minchd9d542482017-04-07 19:29:56625 // Toggling sticky keys changes the visibility of the menu.
James Cook928f23c2017-11-09 22:45:50626 EnableStickyKeys(true);
minchd9d542482017-04-07 19:29:56627 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50628 EnableStickyKeys(false);
minchd9d542482017-04-07 19:29:56629 EXPECT_FALSE(CanCreateMenuItem());
630
631 // Toggling tap dragging changes the visibility of the menu.
James Cook928f23c2017-11-09 22:45:50632 EnableTapDragging(true);
minchd9d542482017-04-07 19:29:56633 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50634 EnableTapDragging(false);
minchd9d542482017-04-07 19:29:56635 EXPECT_FALSE(CanCreateMenuItem());
636
[email protected]806d94e2012-12-16 20:31:26637 // Enabling all accessibility features.
[email protected]7585f4c2013-01-10 18:26:41638 SetMagnifierEnabled(true);
[email protected]806d94e2012-12-16 20:31:26639 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50640 EnableHighContrast(true);
[email protected]806d94e2012-12-16 20:31:26641 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50642 EnableSpokenFeedback(true, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26643 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50644 EnableAutoclick(true);
[email protected]7cfa31a2013-10-23 20:08:13645 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50646 EnableVirtualKeyboard(true);
[email protected]abdd0d72014-02-05 17:18:07647 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50648 EnableLargeCursor(true);
mincha0b24ab2017-03-31 22:16:01649 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50650 EnableMonoAudio(true);
mincha0b24ab2017-03-31 22:16:01651 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50652 SetCaretHighlightEnabled(true);
mincha0b24ab2017-03-31 22:16:01653 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50654 SetCursorHighlightEnabled(true);
mincha0b24ab2017-03-31 22:16:01655 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50656 SetFocusHighlightEnabled(true);
mincha0b24ab2017-03-31 22:16:01657 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50658 EnableStickyKeys(true);
minchd9d542482017-04-07 19:29:56659 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50660 EnableTapDragging(true);
minchd9d542482017-04-07 19:29:56661 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50662 EnableVirtualKeyboard(false);
[email protected]abdd0d72014-02-05 17:18:07663 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50664 EnableAutoclick(false);
[email protected]7cfa31a2013-10-23 20:08:13665 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50666 EnableSpokenFeedback(false, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26667 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50668 EnableHighContrast(false);
[email protected]806d94e2012-12-16 20:31:26669 EXPECT_TRUE(CanCreateMenuItem());
[email protected]7585f4c2013-01-10 18:26:41670 SetMagnifierEnabled(false);
mincha0b24ab2017-03-31 22:16:01671 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50672 EnableLargeCursor(false);
mincha0b24ab2017-03-31 22:16:01673 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50674 EnableMonoAudio(false);
mincha0b24ab2017-03-31 22:16:01675 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50676 SetCaretHighlightEnabled(false);
mincha0b24ab2017-03-31 22:16:01677 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50678 SetCursorHighlightEnabled(false);
mincha0b24ab2017-03-31 22:16:01679 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50680 SetFocusHighlightEnabled(false);
minchd9d542482017-04-07 19:29:56681 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50682 EnableStickyKeys(false);
minchd9d542482017-04-07 19:29:56683 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50684 EnableTapDragging(false);
[email protected]806d94e2012-12-16 20:31:26685 EXPECT_FALSE(CanCreateMenuItem());
686}
687
yoshiki064fa9e2015-09-04 06:32:45688IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, ShowMenuWithShowMenuOption) {
[email protected]5ace0c232013-05-29 00:48:41689 SetShowAccessibilityOptionsInSystemTrayMenu(true);
[email protected]806d94e2012-12-16 20:31:26690
691 // Confirms that the menu is visible.
692 EXPECT_TRUE(CanCreateMenuItem());
693
[email protected]abdd0d72014-02-05 17:18:07694 // The menu remains visible regardless of toggling spoken feedback.
James Cook928f23c2017-11-09 22:45:50695 EnableSpokenFeedback(true, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26696 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50697 EnableSpokenFeedback(false, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26698 EXPECT_TRUE(CanCreateMenuItem());
699
[email protected]abdd0d72014-02-05 17:18:07700 // The menu remains visible regardless of toggling high contrast.
James Cook928f23c2017-11-09 22:45:50701 EnableHighContrast(true);
[email protected]806d94e2012-12-16 20:31:26702 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50703 EnableHighContrast(false);
[email protected]806d94e2012-12-16 20:31:26704 EXPECT_TRUE(CanCreateMenuItem());
705
[email protected]abdd0d72014-02-05 17:18:07706 // The menu remains visible regardless of toggling screen magnifier.
[email protected]7585f4c2013-01-10 18:26:41707 SetMagnifierEnabled(true);
[email protected]806d94e2012-12-16 20:31:26708 EXPECT_TRUE(CanCreateMenuItem());
[email protected]7585f4c2013-01-10 18:26:41709 SetMagnifierEnabled(false);
[email protected]806d94e2012-12-16 20:31:26710 EXPECT_TRUE(CanCreateMenuItem());
711
[email protected]abdd0d72014-02-05 17:18:07712 // The menu remains visible regardless of toggling autoclick.
James Cook928f23c2017-11-09 22:45:50713 EnableAutoclick(true);
[email protected]7cfa31a2013-10-23 20:08:13714 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50715 EnableAutoclick(false);
[email protected]7cfa31a2013-10-23 20:08:13716 EXPECT_TRUE(CanCreateMenuItem());
717
[email protected]abdd0d72014-02-05 17:18:07718 // The menu remains visible regardless of toggling on-screen keyboard.
James Cook928f23c2017-11-09 22:45:50719 EnableVirtualKeyboard(true);
[email protected]abdd0d72014-02-05 17:18:07720 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50721 EnableVirtualKeyboard(false);
[email protected]abdd0d72014-02-05 17:18:07722 EXPECT_TRUE(CanCreateMenuItem());
723
minchd9d542482017-04-07 19:29:56724 // The menu remains visible regardless of toggling large mouse cursor.
James Cook928f23c2017-11-09 22:45:50725 EnableLargeCursor(true);
mincha0b24ab2017-03-31 22:16:01726 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50727 EnableLargeCursor(false);
mincha0b24ab2017-03-31 22:16:01728 EXPECT_TRUE(CanCreateMenuItem());
729
minchd9d542482017-04-07 19:29:56730 // The menu remains visible regardless of toggling mono audio.
James Cook928f23c2017-11-09 22:45:50731 EnableMonoAudio(true);
mincha0b24ab2017-03-31 22:16:01732 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50733 EnableMonoAudio(false);
mincha0b24ab2017-03-31 22:16:01734 EXPECT_TRUE(CanCreateMenuItem());
735
minchd9d542482017-04-07 19:29:56736 // The menu remains visible regardless of toggling caret highlight.
James Cook928f23c2017-11-09 22:45:50737 SetCaretHighlightEnabled(true);
mincha0b24ab2017-03-31 22:16:01738 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50739 SetCaretHighlightEnabled(false);
mincha0b24ab2017-03-31 22:16:01740 EXPECT_TRUE(CanCreateMenuItem());
741
minchd9d542482017-04-07 19:29:56742 // The menu remains visible regardless of toggling highlight mouse cursor.
James Cook928f23c2017-11-09 22:45:50743 SetCursorHighlightEnabled(true);
mincha0b24ab2017-03-31 22:16:01744 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50745 SetCursorHighlightEnabled(false);
mincha0b24ab2017-03-31 22:16:01746 EXPECT_TRUE(CanCreateMenuItem());
747
minchd9d542482017-04-07 19:29:56748 // The menu remains visible regardless of toggling highlight keyboard focus.
James Cook928f23c2017-11-09 22:45:50749 SetFocusHighlightEnabled(true);
mincha0b24ab2017-03-31 22:16:01750 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50751 SetFocusHighlightEnabled(false);
mincha0b24ab2017-03-31 22:16:01752 EXPECT_TRUE(CanCreateMenuItem());
753
minchd9d542482017-04-07 19:29:56754 // The menu remains visible regardless of the toggling sticky keys.
James Cook928f23c2017-11-09 22:45:50755 EnableStickyKeys(true);
minchd9d542482017-04-07 19:29:56756 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50757 EnableStickyKeys(false);
minchd9d542482017-04-07 19:29:56758 EXPECT_TRUE(CanCreateMenuItem());
759
760 // The menu remains visible regardless of the toggling tap dragging.
James Cook928f23c2017-11-09 22:45:50761 EnableTapDragging(true);
minchd9d542482017-04-07 19:29:56762 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50763 EnableTapDragging(false);
minchd9d542482017-04-07 19:29:56764 EXPECT_TRUE(CanCreateMenuItem());
765
[email protected]806d94e2012-12-16 20:31:26766 // Enabling all accessibility features.
[email protected]7585f4c2013-01-10 18:26:41767 SetMagnifierEnabled(true);
[email protected]806d94e2012-12-16 20:31:26768 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50769 EnableHighContrast(true);
[email protected]806d94e2012-12-16 20:31:26770 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50771 EnableSpokenFeedback(true, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26772 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50773 EnableAutoclick(true);
[email protected]7cfa31a2013-10-23 20:08:13774 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50775 EnableVirtualKeyboard(true);
[email protected]abdd0d72014-02-05 17:18:07776 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50777 EnableLargeCursor(true);
mincha0b24ab2017-03-31 22:16:01778 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50779 EnableMonoAudio(true);
mincha0b24ab2017-03-31 22:16:01780 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50781 SetCaretHighlightEnabled(true);
mincha0b24ab2017-03-31 22:16:01782 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50783 SetCursorHighlightEnabled(true);
mincha0b24ab2017-03-31 22:16:01784 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50785 SetFocusHighlightEnabled(true);
mincha0b24ab2017-03-31 22:16:01786 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50787 EnableStickyKeys(true);
minchd9d542482017-04-07 19:29:56788 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50789 EnableTapDragging(true);
minchd9d542482017-04-07 19:29:56790 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50791 EnableVirtualKeyboard(false);
[email protected]abdd0d72014-02-05 17:18:07792 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50793 EnableAutoclick(false);
[email protected]7cfa31a2013-10-23 20:08:13794 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50795 EnableSpokenFeedback(false, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26796 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50797 EnableHighContrast(false);
[email protected]806d94e2012-12-16 20:31:26798 EXPECT_TRUE(CanCreateMenuItem());
[email protected]7585f4c2013-01-10 18:26:41799 SetMagnifierEnabled(false);
[email protected]806d94e2012-12-16 20:31:26800 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50801 EnableLargeCursor(false);
mincha0b24ab2017-03-31 22:16:01802 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50803 EnableMonoAudio(false);
mincha0b24ab2017-03-31 22:16:01804 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50805 SetCaretHighlightEnabled(false);
mincha0b24ab2017-03-31 22:16:01806 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50807 SetCursorHighlightEnabled(false);
mincha0b24ab2017-03-31 22:16:01808 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50809 SetFocusHighlightEnabled(false);
mincha0b24ab2017-03-31 22:16:01810 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50811 EnableStickyKeys(false);
minchd9d542482017-04-07 19:29:56812 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50813 EnableTapDragging(false);
minchd9d542482017-04-07 19:29:56814 EXPECT_TRUE(CanCreateMenuItem());
[email protected]806d94e2012-12-16 20:31:26815
[email protected]5ace0c232013-05-29 00:48:41816 SetShowAccessibilityOptionsInSystemTrayMenu(false);
[email protected]806d94e2012-12-16 20:31:26817
818 // Confirms that the menu is invisible.
819 EXPECT_FALSE(CanCreateMenuItem());
820}
821
[email protected]5ace0c232013-05-29 00:48:41822IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, ShowMenuWithShowOnLoginScreen) {
skye79274a2016-06-08 05:39:02823 SetLoginStatus(ash::LoginStatus::NOT_LOGGED_IN);
[email protected]806d94e2012-12-16 20:31:26824
825 // Confirms that the menu is visible.
826 EXPECT_TRUE(CanCreateMenuItem());
827
[email protected]abdd0d72014-02-05 17:18:07828 // The menu remains visible regardless of toggling spoken feedback.
James Cook928f23c2017-11-09 22:45:50829 EnableSpokenFeedback(true, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26830 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50831 EnableSpokenFeedback(false, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26832 EXPECT_TRUE(CanCreateMenuItem());
833
[email protected]abdd0d72014-02-05 17:18:07834 // The menu remains visible regardless of toggling high contrast.
James Cook928f23c2017-11-09 22:45:50835 EnableHighContrast(true);
[email protected]806d94e2012-12-16 20:31:26836 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50837 EnableHighContrast(false);
[email protected]806d94e2012-12-16 20:31:26838 EXPECT_TRUE(CanCreateMenuItem());
839
[email protected]abdd0d72014-02-05 17:18:07840 // The menu remains visible regardless of toggling screen magnifier.
[email protected]7585f4c2013-01-10 18:26:41841 SetMagnifierEnabled(true);
[email protected]806d94e2012-12-16 20:31:26842 EXPECT_TRUE(CanCreateMenuItem());
[email protected]7585f4c2013-01-10 18:26:41843 SetMagnifierEnabled(false);
[email protected]806d94e2012-12-16 20:31:26844 EXPECT_TRUE(CanCreateMenuItem());
845
[email protected]abdd0d72014-02-05 17:18:07846 // The menu remains visible regardless of toggling on-screen keyboard.
James Cook928f23c2017-11-09 22:45:50847 EnableVirtualKeyboard(true);
[email protected]abdd0d72014-02-05 17:18:07848 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50849 EnableVirtualKeyboard(false);
[email protected]abdd0d72014-02-05 17:18:07850 EXPECT_TRUE(CanCreateMenuItem());
851
minchd9d542482017-04-07 19:29:56852 // The menu remains visible regardless of toggling large mouse cursor.
James Cook928f23c2017-11-09 22:45:50853 EnableLargeCursor(true);
mincha0b24ab2017-03-31 22:16:01854 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50855 EnableLargeCursor(false);
mincha0b24ab2017-03-31 22:16:01856 EXPECT_TRUE(CanCreateMenuItem());
857
minchd9d542482017-04-07 19:29:56858 // The menu remains visible regardless of toggling mono audio.
James Cook928f23c2017-11-09 22:45:50859 EnableMonoAudio(true);
mincha0b24ab2017-03-31 22:16:01860 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50861 EnableMonoAudio(false);
mincha0b24ab2017-03-31 22:16:01862 EXPECT_TRUE(CanCreateMenuItem());
863
minchd9d542482017-04-07 19:29:56864 // The menu remains visible regardless of toggling caret highlight.
James Cook928f23c2017-11-09 22:45:50865 SetCaretHighlightEnabled(true);
mincha0b24ab2017-03-31 22:16:01866 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50867 SetCaretHighlightEnabled(false);
mincha0b24ab2017-03-31 22:16:01868 EXPECT_TRUE(CanCreateMenuItem());
869
minchd9d542482017-04-07 19:29:56870 // The menu remains visible regardless of toggling highlight mouse cursor.
James Cook928f23c2017-11-09 22:45:50871 SetCursorHighlightEnabled(true);
mincha0b24ab2017-03-31 22:16:01872 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50873 SetCursorHighlightEnabled(false);
mincha0b24ab2017-03-31 22:16:01874 EXPECT_TRUE(CanCreateMenuItem());
875
minchd9d542482017-04-07 19:29:56876 // The menu remains visible regardless of toggling highlight keyboard focus.
James Cook928f23c2017-11-09 22:45:50877 SetFocusHighlightEnabled(true);
mincha0b24ab2017-03-31 22:16:01878 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50879 SetFocusHighlightEnabled(false);
mincha0b24ab2017-03-31 22:16:01880 EXPECT_TRUE(CanCreateMenuItem());
881
minchd9d542482017-04-07 19:29:56882 // The menu remains visible regardless of toggling sticky keys.
James Cook928f23c2017-11-09 22:45:50883 EnableStickyKeys(true);
minchd9d542482017-04-07 19:29:56884 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50885 EnableStickyKeys(false);
minchd9d542482017-04-07 19:29:56886 EXPECT_TRUE(CanCreateMenuItem());
887
888 // The menu remains visible regardless of toggling tap dragging.
James Cook928f23c2017-11-09 22:45:50889 EnableTapDragging(true);
minchd9d542482017-04-07 19:29:56890 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50891 EnableTapDragging(false);
minchd9d542482017-04-07 19:29:56892 EXPECT_TRUE(CanCreateMenuItem());
893
[email protected]806d94e2012-12-16 20:31:26894 // Enabling all accessibility features.
[email protected]7585f4c2013-01-10 18:26:41895 SetMagnifierEnabled(true);
[email protected]806d94e2012-12-16 20:31:26896 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50897 EnableHighContrast(true);
[email protected]806d94e2012-12-16 20:31:26898 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50899 EnableSpokenFeedback(true, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26900 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50901 EnableVirtualKeyboard(true);
[email protected]abdd0d72014-02-05 17:18:07902 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50903 EnableLargeCursor(true);
mincha0b24ab2017-03-31 22:16:01904 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50905 EnableMonoAudio(true);
mincha0b24ab2017-03-31 22:16:01906 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50907 SetCaretHighlightEnabled(true);
mincha0b24ab2017-03-31 22:16:01908 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50909 SetCursorHighlightEnabled(true);
mincha0b24ab2017-03-31 22:16:01910 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50911 SetFocusHighlightEnabled(true);
mincha0b24ab2017-03-31 22:16:01912 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50913 EnableStickyKeys(true);
minchd9d542482017-04-07 19:29:56914 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50915 EnableTapDragging(true);
minchd9d542482017-04-07 19:29:56916 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50917 EnableVirtualKeyboard(false);
[email protected]abdd0d72014-02-05 17:18:07918 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50919 EnableSpokenFeedback(false, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26920 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50921 EnableHighContrast(false);
[email protected]806d94e2012-12-16 20:31:26922 EXPECT_TRUE(CanCreateMenuItem());
[email protected]7585f4c2013-01-10 18:26:41923 SetMagnifierEnabled(false);
[email protected]806d94e2012-12-16 20:31:26924 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50925 EnableLargeCursor(false);
mincha0b24ab2017-03-31 22:16:01926 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50927 EnableMonoAudio(false);
mincha0b24ab2017-03-31 22:16:01928 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50929 SetCaretHighlightEnabled(false);
mincha0b24ab2017-03-31 22:16:01930 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50931 SetCursorHighlightEnabled(false);
mincha0b24ab2017-03-31 22:16:01932 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50933 SetFocusHighlightEnabled(false);
mincha0b24ab2017-03-31 22:16:01934 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50935 EnableStickyKeys(false);
minchd9d542482017-04-07 19:29:56936 EXPECT_TRUE(CanCreateMenuItem());
James Cook928f23c2017-11-09 22:45:50937 EnableTapDragging(false);
minchd9d542482017-04-07 19:29:56938 EXPECT_TRUE(CanCreateMenuItem());
[email protected]806d94e2012-12-16 20:31:26939
[email protected]5ace0c232013-05-29 00:48:41940 SetShowAccessibilityOptionsInSystemTrayMenu(true);
[email protected]806d94e2012-12-16 20:31:26941
[email protected]abdd0d72014-02-05 17:18:07942 // Confirms that the menu remains visible.
[email protected]806d94e2012-12-16 20:31:26943 EXPECT_TRUE(CanCreateMenuItem());
944
[email protected]5ace0c232013-05-29 00:48:41945 SetShowAccessibilityOptionsInSystemTrayMenu(false);
[email protected]806d94e2012-12-16 20:31:26946
[email protected]abdd0d72014-02-05 17:18:07947 // Confirms that the menu remains visible.
[email protected]806d94e2012-12-16 20:31:26948 EXPECT_TRUE(CanCreateMenuItem());
949}
950
[email protected]5ace0c232013-05-29 00:48:41951IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, KeepMenuVisibilityOnLockScreen) {
[email protected]14c95c82013-01-30 06:30:29952 // Enables high contrast mode.
James Cook928f23c2017-11-09 22:45:50953 EnableHighContrast(true);
[email protected]14c95c82013-01-30 06:30:29954 EXPECT_TRUE(CanCreateMenuItem());
955
956 // Locks the screen.
skye79274a2016-06-08 05:39:02957 SetLoginStatus(ash::LoginStatus::LOCKED);
[email protected]14c95c82013-01-30 06:30:29958 EXPECT_TRUE(CanCreateMenuItem());
959
960 // Disables high contrast mode.
James Cook928f23c2017-11-09 22:45:50961 EnableHighContrast(false);
[email protected]14c95c82013-01-30 06:30:29962
963 // Confirms that the menu is still visible.
964 EXPECT_TRUE(CanCreateMenuItem());
965}
966
yoshiki82c93e1c2015-09-02 19:33:17967IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, ClickDetailMenu) {
skye79274a2016-06-08 05:39:02968 SetLoginStatus(ash::LoginStatus::USER);
[email protected]8bacb662013-02-27 03:15:24969
[email protected]806d94e2012-12-16 20:31:26970 // Confirms that the check item toggles the spoken feedback.
[email protected]1dfebfc2013-06-04 03:14:32971 EXPECT_FALSE(AccessibilityManager::Get()->IsSpokenFeedbackEnabled());
[email protected]806d94e2012-12-16 20:31:26972
973 EXPECT_TRUE(CreateDetailedMenu());
974 ClickSpokenFeedbackOnDetailMenu();
[email protected]1dfebfc2013-06-04 03:14:32975 EXPECT_TRUE(AccessibilityManager::Get()->IsSpokenFeedbackEnabled());
[email protected]806d94e2012-12-16 20:31:26976
977 EXPECT_TRUE(CreateDetailedMenu());
978 ClickSpokenFeedbackOnDetailMenu();
[email protected]1dfebfc2013-06-04 03:14:32979 EXPECT_FALSE(AccessibilityManager::Get()->IsSpokenFeedbackEnabled());
[email protected]806d94e2012-12-16 20:31:26980
981 // Confirms that the check item toggles the high contrast.
[email protected]1dfebfc2013-06-04 03:14:32982 EXPECT_FALSE(AccessibilityManager::Get()->IsHighContrastEnabled());
[email protected]806d94e2012-12-16 20:31:26983
984 EXPECT_TRUE(CreateDetailedMenu());
985 ClickHighContrastOnDetailMenu();
[email protected]1dfebfc2013-06-04 03:14:32986 EXPECT_TRUE(AccessibilityManager::Get()->IsHighContrastEnabled());
[email protected]806d94e2012-12-16 20:31:26987
988 EXPECT_TRUE(CreateDetailedMenu());
989 ClickHighContrastOnDetailMenu();
[email protected]1dfebfc2013-06-04 03:14:32990 EXPECT_FALSE(AccessibilityManager::Get()->IsHighContrastEnabled());
[email protected]806d94e2012-12-16 20:31:26991
992 // Confirms that the check item toggles the magnifier.
[email protected]1dfebfc2013-06-04 03:14:32993 EXPECT_FALSE(AccessibilityManager::Get()->IsHighContrastEnabled());
[email protected]806d94e2012-12-16 20:31:26994
[email protected]7585f4c2013-01-10 18:26:41995 EXPECT_FALSE(MagnificationManager::Get()->IsMagnifierEnabled());
[email protected]806d94e2012-12-16 20:31:26996 EXPECT_TRUE(CreateDetailedMenu());
997 ClickScreenMagnifierOnDetailMenu();
[email protected]7585f4c2013-01-10 18:26:41998 EXPECT_TRUE(MagnificationManager::Get()->IsMagnifierEnabled());
[email protected]806d94e2012-12-16 20:31:26999
1000 EXPECT_TRUE(CreateDetailedMenu());
1001 ClickScreenMagnifierOnDetailMenu();
[email protected]7585f4c2013-01-10 18:26:411002 EXPECT_FALSE(MagnificationManager::Get()->IsMagnifierEnabled());
[email protected]7cfa31a2013-10-23 20:08:131003
1004 // Confirms that the check item toggles autoclick.
1005 EXPECT_FALSE(AccessibilityManager::Get()->IsAutoclickEnabled());
1006
1007 EXPECT_TRUE(CreateDetailedMenu());
1008 ClickAutoclickOnDetailMenu();
1009 EXPECT_TRUE(AccessibilityManager::Get()->IsAutoclickEnabled());
1010
1011 EXPECT_TRUE(CreateDetailedMenu());
1012 ClickAutoclickOnDetailMenu();
1013 EXPECT_FALSE(AccessibilityManager::Get()->IsAutoclickEnabled());
[email protected]abdd0d72014-02-05 17:18:071014
1015 // Confirms that the check item toggles on-screen keyboard.
1016 EXPECT_FALSE(AccessibilityManager::Get()->IsVirtualKeyboardEnabled());
1017
1018 EXPECT_TRUE(CreateDetailedMenu());
1019 ClickVirtualKeyboardOnDetailMenu();
1020 EXPECT_TRUE(AccessibilityManager::Get()->IsVirtualKeyboardEnabled());
1021
1022 EXPECT_TRUE(CreateDetailedMenu());
1023 ClickVirtualKeyboardOnDetailMenu();
1024 EXPECT_FALSE(AccessibilityManager::Get()->IsVirtualKeyboardEnabled());
mincha0b24ab2017-03-31 22:16:011025
1026 // Confirms that the check item toggles large mouse cursor.
1027 EXPECT_FALSE(AccessibilityManager::Get()->IsLargeCursorEnabled());
1028
1029 EXPECT_TRUE(CreateDetailedMenu());
1030 ClickLargeMouseCursorOnDetailMenu();
1031 EXPECT_TRUE(AccessibilityManager::Get()->IsLargeCursorEnabled());
1032
1033 EXPECT_TRUE(CreateDetailedMenu());
1034 ClickLargeMouseCursorOnDetailMenu();
1035 EXPECT_FALSE(AccessibilityManager::Get()->IsLargeCursorEnabled());
1036
1037 // Confirms that the check item toggles mono audio.
1038 EXPECT_FALSE(AccessibilityManager::Get()->IsMonoAudioEnabled());
1039
1040 EXPECT_TRUE(CreateDetailedMenu());
1041 ClickMonoAudioOnDetailMenu();
1042 EXPECT_TRUE(AccessibilityManager::Get()->IsMonoAudioEnabled());
1043
1044 EXPECT_TRUE(CreateDetailedMenu());
1045 ClickMonoAudioOnDetailMenu();
1046 EXPECT_FALSE(AccessibilityManager::Get()->IsMonoAudioEnabled());
1047
1048 // Confirms that the check item toggles caret highlight.
1049 EXPECT_FALSE(AccessibilityManager::Get()->IsCaretHighlightEnabled());
1050
1051 EXPECT_TRUE(CreateDetailedMenu());
1052 ClickCaretHighlightOnDetailMenu();
1053 EXPECT_TRUE(AccessibilityManager::Get()->IsCaretHighlightEnabled());
1054
1055 EXPECT_TRUE(CreateDetailedMenu());
1056 ClickCaretHighlightOnDetailMenu();
1057 EXPECT_FALSE(AccessibilityManager::Get()->IsCaretHighlightEnabled());
1058
1059 // Confirms that the check item toggles highlight mouse cursor.
1060 EXPECT_FALSE(AccessibilityManager::Get()->IsCursorHighlightEnabled());
1061
1062 EXPECT_TRUE(CreateDetailedMenu());
1063 ClickHighlightMouseCursorOnDetailMenu();
1064 EXPECT_TRUE(AccessibilityManager::Get()->IsCursorHighlightEnabled());
1065
1066 EXPECT_TRUE(CreateDetailedMenu());
1067 ClickHighlightMouseCursorOnDetailMenu();
1068 EXPECT_FALSE(AccessibilityManager::Get()->IsCursorHighlightEnabled());
1069
1070 // Confirms that the check item toggles highlight keyboard focus.
1071 EXPECT_FALSE(AccessibilityManager::Get()->IsFocusHighlightEnabled());
1072
1073 EXPECT_TRUE(CreateDetailedMenu());
Sammie Quonb5f32e02017-10-10 19:16:121074 ClickHighlightKeyboardFocusOnDetailMenu();
mincha0b24ab2017-03-31 22:16:011075 EXPECT_TRUE(AccessibilityManager::Get()->IsFocusHighlightEnabled());
1076
1077 EXPECT_TRUE(CreateDetailedMenu());
Sammie Quonb5f32e02017-10-10 19:16:121078 ClickHighlightKeyboardFocusOnDetailMenu();
mincha0b24ab2017-03-31 22:16:011079 EXPECT_FALSE(AccessibilityManager::Get()->IsFocusHighlightEnabled());
minchd9d542482017-04-07 19:29:561080
1081 // Confirms that the check item toggles sticky keys.
1082 EXPECT_FALSE(AccessibilityManager::Get()->IsStickyKeysEnabled());
1083
1084 EXPECT_TRUE(CreateDetailedMenu());
1085 ClickStickyKeysOnDetailMenu();
1086 EXPECT_TRUE(AccessibilityManager::Get()->IsStickyKeysEnabled());
1087
1088 EXPECT_TRUE(CreateDetailedMenu());
1089 ClickStickyKeysOnDetailMenu();
1090 EXPECT_FALSE(AccessibilityManager::Get()->IsStickyKeysEnabled());
1091
1092 // Confirms that the check item toggles tap dragging.
1093 EXPECT_FALSE(AccessibilityManager::Get()->IsTapDraggingEnabled());
1094
1095 EXPECT_TRUE(CreateDetailedMenu());
1096 ClickTapDraggingOnDetailMenu();
1097 EXPECT_TRUE(AccessibilityManager::Get()->IsTapDraggingEnabled());
1098
1099 EXPECT_TRUE(CreateDetailedMenu());
1100 ClickTapDraggingOnDetailMenu();
1101 EXPECT_FALSE(AccessibilityManager::Get()->IsTapDraggingEnabled());
[email protected]806d94e2012-12-16 20:31:261102}
1103
[email protected]5ace0c232013-05-29 00:48:411104IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, CheckMarksOnDetailMenu) {
skye79274a2016-06-08 05:39:021105 SetLoginStatus(ash::LoginStatus::NOT_LOGGED_IN);
[email protected]57999022013-06-07 12:52:031106
[email protected]806d94e2012-12-16 20:31:261107 // At first, all of the check is unchecked.
1108 EXPECT_TRUE(CreateDetailedMenu());
1109 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1110 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1111 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031112 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131113 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071114 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011115 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1116 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1117 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1118 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561119 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1120 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
[email protected]806d94e2012-12-16 20:31:261121 CloseDetailMenu();
1122
1123 // Enabling spoken feedback.
James Cook928f23c2017-11-09 22:45:501124 EnableSpokenFeedback(true, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:261125 EXPECT_TRUE(CreateDetailedMenu());
1126 EXPECT_TRUE(IsSpokenFeedbackEnabledOnDetailMenu());
1127 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1128 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031129 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131130 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071131 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011132 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1133 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1134 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1135 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561136 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1137 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
[email protected]806d94e2012-12-16 20:31:261138 CloseDetailMenu();
1139
1140 // Disabling spoken feedback.
James Cook928f23c2017-11-09 22:45:501141 EnableSpokenFeedback(false, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:261142 EXPECT_TRUE(CreateDetailedMenu());
1143 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1144 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1145 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031146 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131147 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071148 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011149 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1150 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1151 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1152 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561153 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1154 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
[email protected]806d94e2012-12-16 20:31:261155 CloseDetailMenu();
1156
1157 // Enabling high contrast.
James Cook928f23c2017-11-09 22:45:501158 EnableHighContrast(true);
[email protected]806d94e2012-12-16 20:31:261159 EXPECT_TRUE(CreateDetailedMenu());
1160 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1161 EXPECT_TRUE(IsHighContrastEnabledOnDetailMenu());
1162 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031163 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131164 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071165 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011166 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1167 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1168 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1169 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561170 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1171 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
[email protected]806d94e2012-12-16 20:31:261172 CloseDetailMenu();
1173
1174 // Disabling high contrast.
James Cook928f23c2017-11-09 22:45:501175 EnableHighContrast(false);
[email protected]806d94e2012-12-16 20:31:261176 EXPECT_TRUE(CreateDetailedMenu());
1177 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1178 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1179 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031180 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131181 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071182 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011183 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1184 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1185 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1186 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561187 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1188 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
[email protected]806d94e2012-12-16 20:31:261189 CloseDetailMenu();
1190
1191 // Enabling full screen magnifier.
[email protected]7585f4c2013-01-10 18:26:411192 SetMagnifierEnabled(true);
[email protected]806d94e2012-12-16 20:31:261193 EXPECT_TRUE(CreateDetailedMenu());
1194 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1195 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1196 EXPECT_TRUE(IsScreenMagnifierEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031197 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131198 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071199 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011200 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1201 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1202 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1203 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561204 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1205 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
[email protected]806d94e2012-12-16 20:31:261206 CloseDetailMenu();
1207
1208 // Disabling screen magnifier.
[email protected]7585f4c2013-01-10 18:26:411209 SetMagnifierEnabled(false);
[email protected]806d94e2012-12-16 20:31:261210 EXPECT_TRUE(CreateDetailedMenu());
1211 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1212 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1213 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031214 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131215 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071216 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011217 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1218 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1219 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1220 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561221 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1222 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031223 CloseDetailMenu();
1224
1225 // Enabling large cursor.
James Cook928f23c2017-11-09 22:45:501226 EnableLargeCursor(true);
[email protected]57999022013-06-07 12:52:031227 EXPECT_TRUE(CreateDetailedMenu());
1228 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1229 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1230 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1231 EXPECT_TRUE(IsLargeCursorEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131232 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071233 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011234 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1235 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1236 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1237 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561238 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1239 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031240 CloseDetailMenu();
1241
1242 // Disabling large cursor.
James Cook928f23c2017-11-09 22:45:501243 EnableLargeCursor(false);
[email protected]57999022013-06-07 12:52:031244 EXPECT_TRUE(CreateDetailedMenu());
1245 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1246 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1247 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1248 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131249 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071250 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011251 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1252 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1253 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1254 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561255 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1256 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071257 CloseDetailMenu();
1258
1259 // Enable on-screen keyboard.
James Cook928f23c2017-11-09 22:45:501260 EnableVirtualKeyboard(true);
[email protected]abdd0d72014-02-05 17:18:071261 EXPECT_TRUE(CreateDetailedMenu());
1262 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1263 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1264 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1265 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1266 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1267 EXPECT_TRUE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011268 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1269 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1270 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1271 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561272 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1273 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071274 CloseDetailMenu();
1275
1276 // Disable on-screen keyboard.
James Cook928f23c2017-11-09 22:45:501277 EnableVirtualKeyboard(false);
[email protected]abdd0d72014-02-05 17:18:071278 EXPECT_TRUE(CreateDetailedMenu());
1279 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1280 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1281 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1282 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1283 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1284 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011285 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1286 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1287 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1288 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561289 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1290 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011291 CloseDetailMenu();
1292
1293 // Enabling mono audio.
James Cook928f23c2017-11-09 22:45:501294 EnableMonoAudio(true);
mincha0b24ab2017-03-31 22:16:011295 EXPECT_TRUE(CreateDetailedMenu());
1296 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1297 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1298 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1299 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1300 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1301 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
1302 EXPECT_TRUE(IsMonoAudioEnabledOnDetailMenu());
1303 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1304 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1305 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561306 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1307 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011308 CloseDetailMenu();
1309
1310 // Disabling mono audio.
James Cook928f23c2017-11-09 22:45:501311 EnableMonoAudio(false);
mincha0b24ab2017-03-31 22:16:011312 EXPECT_TRUE(CreateDetailedMenu());
1313 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1314 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1315 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1316 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1317 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1318 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
1319 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1320 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1321 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1322 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561323 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1324 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011325 CloseDetailMenu();
1326
1327 // Enabling caret highlight.
James Cook928f23c2017-11-09 22:45:501328 SetCaretHighlightEnabled(true);
mincha0b24ab2017-03-31 22:16:011329 EXPECT_TRUE(CreateDetailedMenu());
1330 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1331 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1332 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1333 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1334 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1335 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
1336 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1337 EXPECT_TRUE(IsCaretHighlightEnabledOnDetailMenu());
1338 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1339 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561340 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1341 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011342 CloseDetailMenu();
1343
1344 // Disabling caret highlight.
James Cook928f23c2017-11-09 22:45:501345 SetCaretHighlightEnabled(false);
mincha0b24ab2017-03-31 22:16:011346 EXPECT_TRUE(CreateDetailedMenu());
1347 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1348 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1349 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1350 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1351 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1352 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
1353 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1354 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1355 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1356 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561357 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1358 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011359 CloseDetailMenu();
1360
1361 // Enabling highlight mouse cursor.
James Cook928f23c2017-11-09 22:45:501362 SetCursorHighlightEnabled(true);
mincha0b24ab2017-03-31 22:16:011363 EXPECT_TRUE(CreateDetailedMenu());
1364 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1365 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1366 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1367 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1368 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1369 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
1370 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1371 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1372 EXPECT_TRUE(IsHighlightMouseCursorEnabledOnDetailMenu());
1373 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561374 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1375 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011376 CloseDetailMenu();
1377
1378 // Disabling highlight mouse cursor.
James Cook928f23c2017-11-09 22:45:501379 SetCursorHighlightEnabled(false);
mincha0b24ab2017-03-31 22:16:011380 EXPECT_TRUE(CreateDetailedMenu());
1381 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1382 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1383 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1384 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1385 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1386 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
1387 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1388 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1389 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1390 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561391 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1392 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011393 CloseDetailMenu();
1394
1395 // Enabling highlight keyboard focus.
James Cook928f23c2017-11-09 22:45:501396 SetFocusHighlightEnabled(true);
mincha0b24ab2017-03-31 22:16:011397 EXPECT_TRUE(CreateDetailedMenu());
1398 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1399 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1400 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1401 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1402 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1403 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
1404 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1405 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1406 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1407 EXPECT_TRUE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561408 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1409 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011410 CloseDetailMenu();
1411
1412 // Disabling highlight keyboard focus.
James Cook928f23c2017-11-09 22:45:501413 SetFocusHighlightEnabled(false);
mincha0b24ab2017-03-31 22:16:011414 EXPECT_TRUE(CreateDetailedMenu());
1415 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1416 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1417 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1418 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1419 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1420 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
1421 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1422 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1423 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1424 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561425 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1426 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
1427 CloseDetailMenu();
1428
1429 // Enabling sticky keys.
James Cook928f23c2017-11-09 22:45:501430 EnableStickyKeys(true);
minchd9d542482017-04-07 19:29:561431 EXPECT_TRUE(CreateDetailedMenu());
1432 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1433 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1434 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1435 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1436 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1437 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
1438 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1439 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1440 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1441 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
1442 EXPECT_TRUE(IsStickyKeysEnabledOnDetailMenu());
1443 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
1444 CloseDetailMenu();
1445
1446 // Disabling sticky keys.
James Cook928f23c2017-11-09 22:45:501447 EnableStickyKeys(false);
minchd9d542482017-04-07 19:29:561448 EXPECT_TRUE(CreateDetailedMenu());
1449 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1450 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1451 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1452 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1453 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1454 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
1455 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1456 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1457 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1458 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
1459 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1460 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
1461 CloseDetailMenu();
1462
1463 // Enabling tap dragging.
James Cook928f23c2017-11-09 22:45:501464 EnableTapDragging(true);
minchd9d542482017-04-07 19:29:561465 EXPECT_TRUE(CreateDetailedMenu());
1466 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1467 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1468 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1469 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1470 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1471 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
1472 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1473 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1474 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1475 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
1476 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1477 EXPECT_TRUE(IsTapDraggingEnabledOnDetailMenu());
1478 CloseDetailMenu();
1479
1480 // Disabling tap dragging.
James Cook928f23c2017-11-09 22:45:501481 EnableTapDragging(false);
minchd9d542482017-04-07 19:29:561482 EXPECT_TRUE(CreateDetailedMenu());
1483 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1484 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1485 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1486 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1487 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1488 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
1489 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1490 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1491 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1492 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
1493 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1494 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
[email protected]806d94e2012-12-16 20:31:261495 CloseDetailMenu();
1496
1497 // Enabling all of the a11y features.
James Cook928f23c2017-11-09 22:45:501498 EnableSpokenFeedback(true, ash::A11Y_NOTIFICATION_NONE);
1499 EnableHighContrast(true);
[email protected]7585f4c2013-01-10 18:26:411500 SetMagnifierEnabled(true);
James Cook928f23c2017-11-09 22:45:501501 EnableLargeCursor(true);
1502 EnableVirtualKeyboard(true);
1503 EnableAutoclick(true);
1504 EnableMonoAudio(true);
1505 SetCaretHighlightEnabled(true);
1506 SetCursorHighlightEnabled(true);
1507 SetFocusHighlightEnabled(true);
1508 EnableStickyKeys(true);
1509 EnableTapDragging(true);
[email protected]806d94e2012-12-16 20:31:261510 EXPECT_TRUE(CreateDetailedMenu());
1511 EXPECT_TRUE(IsSpokenFeedbackEnabledOnDetailMenu());
1512 EXPECT_TRUE(IsHighContrastEnabledOnDetailMenu());
1513 EXPECT_TRUE(IsScreenMagnifierEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031514 EXPECT_TRUE(IsLargeCursorEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011515 EXPECT_TRUE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071516 EXPECT_TRUE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011517 EXPECT_TRUE(IsMonoAudioEnabledOnDetailMenu());
1518 EXPECT_TRUE(IsCaretHighlightEnabledOnDetailMenu());
1519 EXPECT_TRUE(IsHighlightMouseCursorEnabledOnDetailMenu());
1520 // Focus highlighting can't be on when spoken feedback is on
1521 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561522 EXPECT_TRUE(IsStickyKeysEnabledOnDetailMenu());
1523 EXPECT_TRUE(IsTapDraggingEnabledOnDetailMenu());
[email protected]806d94e2012-12-16 20:31:261524 CloseDetailMenu();
1525
1526 // Disabling all of the a11y features.
James Cook928f23c2017-11-09 22:45:501527 EnableSpokenFeedback(false, ash::A11Y_NOTIFICATION_NONE);
1528 EnableHighContrast(false);
[email protected]7585f4c2013-01-10 18:26:411529 SetMagnifierEnabled(false);
James Cook928f23c2017-11-09 22:45:501530 EnableLargeCursor(false);
1531 EnableVirtualKeyboard(false);
1532 EnableAutoclick(false);
1533 EnableMonoAudio(false);
1534 SetCaretHighlightEnabled(false);
1535 SetCursorHighlightEnabled(false);
1536 SetFocusHighlightEnabled(false);
1537 EnableStickyKeys(false);
1538 EnableTapDragging(false);
[email protected]806d94e2012-12-16 20:31:261539 EXPECT_TRUE(CreateDetailedMenu());
1540 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1541 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1542 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031543 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131544 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071545 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011546 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1547 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1548 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1549 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561550 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1551 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131552 CloseDetailMenu();
1553
[email protected]7cfa31a2013-10-23 20:08:131554 // Enabling autoclick.
James Cook928f23c2017-11-09 22:45:501555 EnableAutoclick(true);
[email protected]7cfa31a2013-10-23 20:08:131556 EXPECT_TRUE(CreateDetailedMenu());
1557 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1558 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1559 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1560 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1561 EXPECT_TRUE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071562 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011563 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1564 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1565 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1566 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561567 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1568 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131569 CloseDetailMenu();
1570
1571 // Disabling autoclick.
James Cook928f23c2017-11-09 22:45:501572 EnableAutoclick(false);
[email protected]7cfa31a2013-10-23 20:08:131573 EXPECT_TRUE(CreateDetailedMenu());
1574 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1575 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1576 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1577 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1578 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071579 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011580 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1581 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1582 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1583 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561584 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1585 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031586 CloseDetailMenu();
1587}
1588
James Cookb601dd5c2018-01-29 21:07:191589IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, CheckMenuVisibilityOnDetailMenu) {
mincha0b24ab2017-03-31 22:16:011590 // Except help & settings, others should be kept the same
1591 // in LOGIN | NOT LOGIN | LOCKED. https://crbug.com/632107.
[email protected]57999022013-06-07 12:52:031592 EXPECT_TRUE(CreateDetailedMenu());
1593 EXPECT_TRUE(IsSpokenFeedbackMenuShownOnDetailMenu());
1594 EXPECT_TRUE(IsHighContrastMenuShownOnDetailMenu());
1595 EXPECT_TRUE(IsScreenMagnifierMenuShownOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131596 EXPECT_TRUE(IsAutoclickMenuShownOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071597 EXPECT_TRUE(IsVirtualKeyboardMenuShownOnDetailMenu());
tdanderson581149422016-10-25 21:37:581598 EXPECT_TRUE(IsHelpAvailableOnDetailMenu());
1599 EXPECT_TRUE(IsSettingsAvailableOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011600 EXPECT_TRUE(IsLargeCursorMenuShownOnDetailMenu());
1601 EXPECT_TRUE(IsMonoAudioMenuShownOnDetailMenu());
1602 EXPECT_TRUE(IsCaretHighlightMenuShownOnDetailMenu());
1603 EXPECT_TRUE(IsHighlightMouseCursorMenuShownOnDetailMenu());
1604 EXPECT_TRUE(IsHighlightKeyboardFocusMenuShownOnDetailMenu());
minchd9d542482017-04-07 19:29:561605 EXPECT_TRUE(IsStickyKeysMenuShownOnDetailMenu());
1606 EXPECT_TRUE(IsTapDraggingMenuShownOnDetailMenu());
[email protected]57999022013-06-07 12:52:031607 CloseDetailMenu();
1608
jamescook85312ee5e2017-04-18 22:47:201609 // Simulate screen lock.
1610 session_manager::SessionManager::Get()->SetSessionState(
1611 session_manager::SessionState::LOCKED);
1612 // Flush to ensure the session state reaches ash and updates login status.
1613 SessionControllerClient::FlushForTesting();
[email protected]57999022013-06-07 12:52:031614 EXPECT_TRUE(CreateDetailedMenu());
1615 EXPECT_TRUE(IsSpokenFeedbackMenuShownOnDetailMenu());
1616 EXPECT_TRUE(IsHighContrastMenuShownOnDetailMenu());
1617 EXPECT_TRUE(IsScreenMagnifierMenuShownOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131618 EXPECT_TRUE(IsAutoclickMenuShownOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071619 EXPECT_TRUE(IsVirtualKeyboardMenuShownOnDetailMenu());
tdanderson581149422016-10-25 21:37:581620 EXPECT_FALSE(IsHelpAvailableOnDetailMenu());
1621 EXPECT_FALSE(IsSettingsAvailableOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011622 EXPECT_TRUE(IsLargeCursorMenuShownOnDetailMenu());
1623 EXPECT_TRUE(IsMonoAudioMenuShownOnDetailMenu());
1624 EXPECT_TRUE(IsCaretHighlightMenuShownOnDetailMenu());
1625 EXPECT_TRUE(IsHighlightMouseCursorMenuShownOnDetailMenu());
1626 EXPECT_TRUE(IsHighlightKeyboardFocusMenuShownOnDetailMenu());
minchd9d542482017-04-07 19:29:561627 EXPECT_TRUE(IsStickyKeysMenuShownOnDetailMenu());
1628 EXPECT_TRUE(IsTapDraggingMenuShownOnDetailMenu());
[email protected]7570bba2014-08-08 08:04:471629 CloseDetailMenu();
1630
jamescook85312ee5e2017-04-18 22:47:201631 // Simulate adding multiprofile user.
xiyuanf1ff14d2017-03-20 20:28:141632 session_manager::SessionManager::Get()->SetSessionState(
1633 session_manager::SessionState::LOGIN_SECONDARY);
xiyuan233f4e72017-04-06 06:59:561634 // Flush to ensure the session state reaches ash and updates login status.
1635 SessionControllerClient::FlushForTesting();
[email protected]7570bba2014-08-08 08:04:471636 EXPECT_TRUE(CreateDetailedMenu());
1637 EXPECT_TRUE(IsSpokenFeedbackMenuShownOnDetailMenu());
1638 EXPECT_TRUE(IsHighContrastMenuShownOnDetailMenu());
1639 EXPECT_TRUE(IsScreenMagnifierMenuShownOnDetailMenu());
[email protected]7570bba2014-08-08 08:04:471640 EXPECT_TRUE(IsAutoclickMenuShownOnDetailMenu());
1641 EXPECT_TRUE(IsVirtualKeyboardMenuShownOnDetailMenu());
tdanderson581149422016-10-25 21:37:581642 EXPECT_FALSE(IsHelpAvailableOnDetailMenu());
1643 EXPECT_FALSE(IsSettingsAvailableOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011644 EXPECT_TRUE(IsLargeCursorMenuShownOnDetailMenu());
1645 EXPECT_TRUE(IsMonoAudioMenuShownOnDetailMenu());
1646 EXPECT_TRUE(IsCaretHighlightMenuShownOnDetailMenu());
1647 EXPECT_TRUE(IsHighlightMouseCursorMenuShownOnDetailMenu());
1648 EXPECT_TRUE(IsHighlightKeyboardFocusMenuShownOnDetailMenu());
minchd9d542482017-04-07 19:29:561649 EXPECT_TRUE(IsStickyKeysMenuShownOnDetailMenu());
1650 EXPECT_TRUE(IsTapDraggingMenuShownOnDetailMenu());
[email protected]806d94e2012-12-16 20:31:261651 CloseDetailMenu();
1652}
1653
Sammie Quonb5f32e02017-10-10 19:16:121654// Verify that the accessiblity system detailed menu remains open when an item
1655// is selected or deselected.
1656IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, DetailMenuRemainsOpen) {
1657 EXPECT_TRUE(CreateDetailedMenu());
1658 ASSERT_TRUE(IsAutoclickMenuShownOnDetailMenu());
1659
1660 ClickAutoclickOnDetailMenu();
1661 EXPECT_TRUE(IsAutoclickEnabledOnDetailMenu());
1662 {
1663 base::RunLoop run_loop;
1664 run_loop.RunUntilIdle();
1665 }
1666 EXPECT_TRUE(GetDetailedMenu());
1667
1668 ClickAutoclickOnDetailMenu();
1669 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1670 {
1671 base::RunLoop run_loop;
1672 run_loop.RunUntilIdle();
1673 }
1674 EXPECT_TRUE(GetDetailedMenu());
1675}
1676
[email protected]5ace0c232013-05-29 00:48:411677INSTANTIATE_TEST_CASE_P(TrayAccessibilityTestInstance,
1678 TrayAccessibilityTest,
1679 testing::Values(PREF_SERVICE,
1680 POLICY));
1681
[email protected]cce1bad62013-01-04 02:26:381682} // namespace chromeos