Commit e9a93954 authored by Avi Drissman's avatar Avi Drissman Committed by Commit Bot

Revert "[Ash] Simplify accessibility tray view"

This reverts commit 249ce21a.

Reason for revert: 

Suspicion of breaking 30-odd accessibility tests (DumpAccessibilityEventsTest.*, DumpAccessibilityTreeTest.*) starting with

https://ci.chromium.org/p/chromium/builders/ci/linux-trusty-rel/15793
https://ci.chromium.org/p/chromium/builders/ci/Linux%20MSan%20Tests/25463


Original change's description:
> [Ash] Simplify accessibility tray view
> 
> After refactoring of AccessibilityControllerImpl, we can finally
> leverage that modularity by removing tons of identical calls.
> 
> Bug: 2390184
> Change-Id: I1c42bff577a844af80584ba6acd8da81e7b9b704
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2398687
> Commit-Queue: Anatoliy Potapchuk <apotapchuk@chromium.org>
> Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#806594}

TBR=xiyuan@chromium.org,apotapchuk@chromium.org

Change-Id: Iaee9d02267fd87eabc94930da410ff870079282c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 2390184
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2410341Reviewed-by: default avatarAvi Drissman <avi@chromium.org>
Commit-Queue: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#806658}
parent 834b0fa2
...@@ -88,7 +88,7 @@ const FeatureData kFeatures[] = { ...@@ -88,7 +88,7 @@ const FeatureData kFeatures[] = {
&kSystemMenuAccessibilityAutoClickIcon}, &kSystemMenuAccessibilityAutoClickIcon},
{FeatureType::kCaretHighlight, prefs::kAccessibilityCaretHighlightEnabled, {FeatureType::kCaretHighlight, prefs::kAccessibilityCaretHighlightEnabled,
nullptr}, nullptr},
{FeatureType::kCursorHighlight, prefs::kAccessibilityCursorHighlightEnabled, {FeatureType::KCursorHighlight, prefs::kAccessibilityCursorHighlightEnabled,
nullptr}, nullptr},
{FeatureType::kCursorColor, prefs::kAccessibilityCursorColorEnabled, {FeatureType::kCursorColor, prefs::kAccessibilityCursorColorEnabled,
nullptr}, nullptr},
...@@ -565,14 +565,6 @@ void AccessibilityControllerImpl::CreateAccessibilityFeatures() { ...@@ -565,14 +565,6 @@ void AccessibilityControllerImpl::CreateAccessibilityFeatures() {
for (auto feature_data : kFeatures) { for (auto feature_data : kFeatures) {
DCHECK(!features_[feature_data.type]); DCHECK(!features_[feature_data.type]);
auto it = dialogs.find(feature_data.type); auto it = dialogs.find(feature_data.type);
// Some features have custom logic.
if (feature_data.type == FeatureType::kSwitchAccess) {
features_[feature_data.type] = std::make_unique<SwitchAccessFeature>(
feature_data.type, feature_data.pref, feature_data.icon, this);
continue;
}
if (it == dialogs.end()) { if (it == dialogs.end()) {
features_[feature_data.type] = std::make_unique<Feature>( features_[feature_data.type] = std::make_unique<Feature>(
feature_data.type, feature_data.pref, feature_data.icon, this); feature_data.type, feature_data.pref, feature_data.icon, this);
...@@ -581,8 +573,6 @@ void AccessibilityControllerImpl::CreateAccessibilityFeatures() { ...@@ -581,8 +573,6 @@ void AccessibilityControllerImpl::CreateAccessibilityFeatures() {
feature_data.type, feature_data.pref, feature_data.icon, it->second, feature_data.type, feature_data.pref, feature_data.icon, it->second,
this); this);
} }
features_[feature_data.type]->SetConflictingFeature(
feature_data.conflicting_feature);
} }
} }
...@@ -778,7 +768,7 @@ AccessibilityControllerImpl::caret_highlight() const { ...@@ -778,7 +768,7 @@ AccessibilityControllerImpl::caret_highlight() const {
AccessibilityControllerImpl::Feature& AccessibilityControllerImpl::Feature&
AccessibilityControllerImpl::cursor_highlight() const { AccessibilityControllerImpl::cursor_highlight() const {
return GetFeature(FeatureType::kCursorHighlight); return GetFeature(FeatureType::KCursorHighlight);
} }
AccessibilityControllerImpl::Feature& AccessibilityControllerImpl::Feature&
...@@ -854,6 +844,113 @@ AccessibilityControllerImpl::virtual_keyboard() const { ...@@ -854,6 +844,113 @@ AccessibilityControllerImpl::virtual_keyboard() const {
return GetFeature(FeatureType::kVirtualKeyboard); return GetFeature(FeatureType::kVirtualKeyboard);
} }
bool AccessibilityControllerImpl::IsAutoclickSettingVisibleInTray() {
return autoclick().IsVisibleInTray();
}
bool AccessibilityControllerImpl::IsEnterpriseIconVisibleForAutoclick() {
return autoclick().IsEnterpriseIconVisible();
}
bool AccessibilityControllerImpl::IsPrimarySettingsViewVisibleInTray() {
return (IsSpokenFeedbackSettingVisibleInTray() ||
IsSelectToSpeakSettingVisibleInTray() ||
IsDictationSettingVisibleInTray() ||
IsHighContrastSettingVisibleInTray() ||
IsFullScreenMagnifierSettingVisibleInTray() ||
IsDockedMagnifierSettingVisibleInTray() ||
IsAutoclickSettingVisibleInTray() ||
IsVirtualKeyboardSettingVisibleInTray() ||
IsSwitchAccessSettingVisibleInTray());
}
bool AccessibilityControllerImpl::IsAdditionalSettingsViewVisibleInTray() {
return (IsLargeCursorSettingVisibleInTray() ||
IsMonoAudioSettingVisibleInTray() ||
IsCaretHighlightSettingVisibleInTray() ||
IsCursorHighlightSettingVisibleInTray() ||
IsFocusHighlightSettingVisibleInTray() ||
IsStickyKeysSettingVisibleInTray());
}
bool AccessibilityControllerImpl::IsAdditionalSettingsSeparatorVisibleInTray() {
return IsPrimarySettingsViewVisibleInTray() &&
IsAdditionalSettingsViewVisibleInTray();
}
bool AccessibilityControllerImpl::IsCaretHighlightSettingVisibleInTray() {
return caret_highlight().IsVisibleInTray();
}
bool AccessibilityControllerImpl::IsEnterpriseIconVisibleForCaretHighlight() {
return caret_highlight().IsEnterpriseIconVisible();
}
bool AccessibilityControllerImpl::IsCursorHighlightSettingVisibleInTray() {
return cursor_highlight().IsVisibleInTray();
}
bool AccessibilityControllerImpl::IsEnterpriseIconVisibleForCursorHighlight() {
return cursor_highlight().IsEnterpriseIconVisible();
}
bool AccessibilityControllerImpl::IsDictationSettingVisibleInTray() {
return dictation().IsVisibleInTray();
}
bool AccessibilityControllerImpl::IsEnterpriseIconVisibleForDictation() {
return dictation().IsEnterpriseIconVisible();
}
bool AccessibilityControllerImpl::IsFocusHighlightSettingVisibleInTray() {
return focus_highlight().IsVisibleInTray();
}
bool AccessibilityControllerImpl::IsEnterpriseIconVisibleForFocusHighlight() {
return focus_highlight().IsEnterpriseIconVisible();
}
bool AccessibilityControllerImpl::IsFullScreenMagnifierSettingVisibleInTray() {
return fullscreen_magnifier().IsVisibleInTray();
}
bool AccessibilityControllerImpl::
IsEnterpriseIconVisibleForFullScreenMagnifier() {
return fullscreen_magnifier().IsEnterpriseIconVisible();
}
bool AccessibilityControllerImpl::IsDockedMagnifierSettingVisibleInTray() {
return docked_magnifier().IsVisibleInTray();
}
bool AccessibilityControllerImpl::IsEnterpriseIconVisibleForDockedMagnifier() {
return docked_magnifier().IsEnterpriseIconVisible();
}
bool AccessibilityControllerImpl::IsHighContrastSettingVisibleInTray() {
return high_contrast().IsVisibleInTray();
}
bool AccessibilityControllerImpl::IsEnterpriseIconVisibleForHighContrast() {
return high_contrast().IsEnterpriseIconVisible();
}
bool AccessibilityControllerImpl::IsLargeCursorSettingVisibleInTray() {
return large_cursor().IsVisibleInTray();
}
bool AccessibilityControllerImpl::IsEnterpriseIconVisibleForLargeCursor() {
return large_cursor().IsEnterpriseIconVisible();
}
bool AccessibilityControllerImpl::IsMonoAudioSettingVisibleInTray() {
return mono_audio().IsVisibleInTray();
}
bool AccessibilityControllerImpl::IsEnterpriseIconVisibleForMonoAudio() {
return mono_audio().IsEnterpriseIconVisible();
}
void AccessibilityControllerImpl::SetSpokenFeedbackEnabled( void AccessibilityControllerImpl::SetSpokenFeedbackEnabled(
bool enabled, bool enabled,
AccessibilityNotificationVisibility notify) { AccessibilityNotificationVisibility notify) {
...@@ -870,6 +967,22 @@ void AccessibilityControllerImpl::SetSpokenFeedbackEnabled( ...@@ -870,6 +967,22 @@ void AccessibilityControllerImpl::SetSpokenFeedbackEnabled(
ShowAccessibilityNotification(type); ShowAccessibilityNotification(type);
} }
bool AccessibilityControllerImpl::IsSpokenFeedbackSettingVisibleInTray() {
return spoken_feedback().IsVisibleInTray();
}
bool AccessibilityControllerImpl::IsEnterpriseIconVisibleForSpokenFeedback() {
return spoken_feedback().IsEnterpriseIconVisible();
}
bool AccessibilityControllerImpl::IsSelectToSpeakSettingVisibleInTray() {
return select_to_speak().IsVisibleInTray();
}
bool AccessibilityControllerImpl::IsEnterpriseIconVisibleForSelectToSpeak() {
return select_to_speak().IsEnterpriseIconVisible();
}
void AccessibilityControllerImpl::RequestSelectToSpeakStateChange() { void AccessibilityControllerImpl::RequestSelectToSpeakStateChange() {
client_->RequestSelectToSpeakStateChange(); client_->RequestSelectToSpeakStateChange();
} }
...@@ -902,14 +1015,21 @@ bool AccessibilityControllerImpl::IsSwitchAccessRunning() const { ...@@ -902,14 +1015,21 @@ bool AccessibilityControllerImpl::IsSwitchAccessRunning() const {
return switch_access().enabled() || switch_access_disable_dialog_showing_; return switch_access().enabled() || switch_access_disable_dialog_showing_;
} }
bool AccessibilityControllerImpl::SwitchAccessFeature::IsVisibleInTray() const { bool AccessibilityControllerImpl::IsSwitchAccessSettingVisibleInTray() {
// Switch Access cannot be enabled on the sign-in page because there is no way // Switch Access cannot be enabled on the sign-in page because there is no way
// to configure switches while the device is locked. // to configure switches while the device is locked.
if (!enabled() && Shell::Get()->session_controller()->login_status() == if (!switch_access().enabled() &&
Shell::Get()->session_controller()->login_status() ==
ash::LoginStatus::NOT_LOGGED_IN) { ash::LoginStatus::NOT_LOGGED_IN) {
return false; return false;
} }
return Feature::IsVisibleInTray(); return switch_access().IsVisibleInTray();
return IsEnterpriseIconVisibleInTrayMenu(
prefs::kAccessibilitySwitchAccessEnabled);
}
bool AccessibilityControllerImpl::IsEnterpriseIconVisibleForSwitchAccess() {
return switch_access().IsEnterpriseIconVisible();
} }
void AccessibilityControllerImpl::SetAccessibilityEventRewriter( void AccessibilityControllerImpl::SetAccessibilityEventRewriter(
...@@ -952,6 +1072,22 @@ void AccessibilityControllerImpl::StartPointScanning() { ...@@ -952,6 +1072,22 @@ void AccessibilityControllerImpl::StartPointScanning() {
point_scan_controller_->Start(); point_scan_controller_->Start();
} }
bool AccessibilityControllerImpl::IsStickyKeysSettingVisibleInTray() {
return sticky_keys().IsVisibleInTray();
}
bool AccessibilityControllerImpl::IsEnterpriseIconVisibleForStickyKeys() {
return sticky_keys().IsEnterpriseIconVisible();
}
bool AccessibilityControllerImpl::IsVirtualKeyboardSettingVisibleInTray() {
return virtual_keyboard().IsVisibleInTray();
}
bool AccessibilityControllerImpl::IsEnterpriseIconVisibleForVirtualKeyboard() {
return virtual_keyboard().IsEnterpriseIconVisible();
}
void AccessibilityControllerImpl::ShowFloatingMenuIfEnabled() { void AccessibilityControllerImpl::ShowFloatingMenuIfEnabled() {
if (floating_menu().enabled() && !floating_menu_controller_) { if (floating_menu().enabled() && !floating_menu_controller_) {
floating_menu_controller_ = floating_menu_controller_ =
...@@ -1699,7 +1835,7 @@ void AccessibilityControllerImpl::UpdateFeatureFromPref(FeatureType feature) { ...@@ -1699,7 +1835,7 @@ void AccessibilityControllerImpl::UpdateFeatureFromPref(FeatureType feature) {
case FeatureType::kCaretHighlight: case FeatureType::kCaretHighlight:
UpdateAccessibilityHighlightingFromPrefs(); UpdateAccessibilityHighlightingFromPrefs();
break; break;
case FeatureType::kCursorHighlight: case FeatureType::KCursorHighlight:
UpdateAccessibilityHighlightingFromPrefs(); UpdateAccessibilityHighlightingFromPrefs();
break; break;
case FeatureType::kDictation: case FeatureType::kDictation:
......
...@@ -60,7 +60,7 @@ class ASH_EXPORT AccessibilityControllerImpl : public AccessibilityController, ...@@ -60,7 +60,7 @@ class ASH_EXPORT AccessibilityControllerImpl : public AccessibilityController,
enum FeatureType { enum FeatureType {
kAutoclick = 0, kAutoclick = 0,
kCaretHighlight, kCaretHighlight,
kCursorHighlight, KCursorHighlight,
kDictation, kDictation,
kFloatingMenu, kFloatingMenu,
kFocusHighlight, kFocusHighlight,
...@@ -98,7 +98,7 @@ class ASH_EXPORT AccessibilityControllerImpl : public AccessibilityController, ...@@ -98,7 +98,7 @@ class ASH_EXPORT AccessibilityControllerImpl : public AccessibilityController,
// - there is an other feature, which conflicts with the current one. // - there is an other feature, which conflicts with the current one.
virtual void SetEnabled(bool enabled); virtual void SetEnabled(bool enabled);
bool enabled() const { return enabled_; } bool enabled() const { return enabled_; }
virtual bool IsVisibleInTray() const; bool IsVisibleInTray() const;
bool IsEnterpriseIconVisible() const; bool IsEnterpriseIconVisible() const;
const std::string& pref_name() const { return pref_name_; } const std::string& pref_name() const { return pref_name_; }
const gfx::VectorIcon& icon() const; const gfx::VectorIcon& icon() const;
...@@ -154,13 +154,6 @@ class ASH_EXPORT AccessibilityControllerImpl : public AccessibilityController, ...@@ -154,13 +154,6 @@ class ASH_EXPORT AccessibilityControllerImpl : public AccessibilityController,
Dialog dialog_; Dialog dialog_;
}; };
// Switch access has custom tray visibility logic.
class SwitchAccessFeature : public Feature {
public:
using Feature::Feature;
bool IsVisibleInTray() const override;
};
AccessibilityControllerImpl(); AccessibilityControllerImpl();
~AccessibilityControllerImpl() override; ~AccessibilityControllerImpl() override;
...@@ -196,6 +189,9 @@ class ASH_EXPORT AccessibilityControllerImpl : public AccessibilityController, ...@@ -196,6 +189,9 @@ class ASH_EXPORT AccessibilityControllerImpl : public AccessibilityController,
void SetDisplayRotationAcceleratorDialogBeenAccepted(); void SetDisplayRotationAcceleratorDialogBeenAccepted();
bool HasDisplayRotationAcceleratorDialogBeenAccepted() const; bool HasDisplayRotationAcceleratorDialogBeenAccepted() const;
bool IsAutoclickSettingVisibleInTray();
bool IsEnterpriseIconVisibleForAutoclick();
void SetAutoclickEventType(AutoclickEventType event_type); void SetAutoclickEventType(AutoclickEventType event_type);
AutoclickEventType GetAutoclickEventType(); AutoclickEventType GetAutoclickEventType();
void SetAutoclickMenuPosition(FloatingMenuPosition position); void SetAutoclickMenuPosition(FloatingMenuPosition position);
...@@ -211,18 +207,58 @@ class ASH_EXPORT AccessibilityControllerImpl : public AccessibilityController, ...@@ -211,18 +207,58 @@ class ASH_EXPORT AccessibilityControllerImpl : public AccessibilityController,
// virtual keyboard position). // virtual keyboard position).
void UpdateAutoclickMenuBoundsIfNeeded(); void UpdateAutoclickMenuBoundsIfNeeded();
bool IsCaretHighlightSettingVisibleInTray();
bool IsEnterpriseIconVisibleForCaretHighlight();
bool IsCursorHighlightSettingVisibleInTray();
bool IsEnterpriseIconVisibleForCursorHighlight();
bool IsDictationSettingVisibleInTray();
bool IsEnterpriseIconVisibleForDictation();
bool IsFocusHighlightSettingVisibleInTray();
bool IsEnterpriseIconVisibleForFocusHighlight();
bool IsFullScreenMagnifierSettingVisibleInTray();
bool IsEnterpriseIconVisibleForFullScreenMagnifier();
bool IsDockedMagnifierSettingVisibleInTray();
bool IsEnterpriseIconVisibleForDockedMagnifier();
bool IsHighContrastSettingVisibleInTray();
bool IsEnterpriseIconVisibleForHighContrast();
bool IsLargeCursorSettingVisibleInTray();
bool IsEnterpriseIconVisibleForLargeCursor();
bool IsMonoAudioSettingVisibleInTray();
bool IsEnterpriseIconVisibleForMonoAudio();
void SetSpokenFeedbackEnabled(bool enabled, void SetSpokenFeedbackEnabled(bool enabled,
AccessibilityNotificationVisibility notify); AccessibilityNotificationVisibility notify);
bool IsSpokenFeedbackSettingVisibleInTray();
bool IsEnterpriseIconVisibleForSpokenFeedback();
bool IsSelectToSpeakSettingVisibleInTray();
bool IsEnterpriseIconVisibleForSelectToSpeak();
void RequestSelectToSpeakStateChange(); void RequestSelectToSpeakStateChange();
SelectToSpeakState GetSelectToSpeakState() const; SelectToSpeakState GetSelectToSpeakState() const;
bool IsStickyKeysSettingVisibleInTray();
bool IsEnterpriseIconVisibleForStickyKeys();
// Switch access may be disabled in prefs but still running when the disable // Switch access may be disabled in prefs but still running when the disable
// dialog is displaying. // dialog is displaying.
bool IsSwitchAccessRunning() const; bool IsSwitchAccessRunning() const;
bool IsSwitchAccessSettingVisibleInTray();
bool IsEnterpriseIconVisibleForSwitchAccess();
void SetAccessibilityEventRewriter( void SetAccessibilityEventRewriter(
AccessibilityEventRewriter* accessibility_event_rewriter); AccessibilityEventRewriter* accessibility_event_rewriter);
bool IsVirtualKeyboardSettingVisibleInTray();
bool IsEnterpriseIconVisibleForVirtualKeyboard();
void SetTabletModeShelfNavigationButtonsEnabled(bool enabled); void SetTabletModeShelfNavigationButtonsEnabled(bool enabled);
bool tablet_mode_shelf_navigation_buttons_enabled() const { bool tablet_mode_shelf_navigation_buttons_enabled() const {
return tablet_mode_shelf_navigation_buttons_enabled_; return tablet_mode_shelf_navigation_buttons_enabled_;
...@@ -280,6 +316,20 @@ class ASH_EXPORT AccessibilityControllerImpl : public AccessibilityController, ...@@ -280,6 +316,20 @@ class ASH_EXPORT AccessibilityControllerImpl : public AccessibilityController,
// by a policy and false otherwise. // by a policy and false otherwise.
bool IsEnterpriseIconVisibleInTrayMenu(const std::string& path); bool IsEnterpriseIconVisibleInTrayMenu(const std::string& path);
// Returns true if at least one of the primary settings of the accessibility
// features is going to be visible in the accessibility tray menu.
bool IsPrimarySettingsViewVisibleInTray();
// Returns true if at least one of the additional settings of the
// accessibility features is going to be visible in the accessibility tray
// menu.
bool IsAdditionalSettingsViewVisibleInTray();
// Returns true if there exist one of the additional accessibility features
// and one of the primary accessibility features which are going to visible on
// accessibility tray menu.
bool IsAdditionalSettingsSeparatorVisibleInTray();
// Starts point scanning, to select a point onscreen without using a mouse // Starts point scanning, to select a point onscreen without using a mouse
// (as used by Switch Access). // (as used by Switch Access).
void StartPointScanning(); void StartPointScanning();
......
...@@ -205,13 +205,13 @@ TEST_F(AccessibilityControllerTest, LargeCursorTrayMenuVisibility) { ...@@ -205,13 +205,13 @@ TEST_F(AccessibilityControllerTest, LargeCursorTrayMenuVisibility) {
EXPECT_TRUE(controller->large_cursor().enabled()); EXPECT_TRUE(controller->large_cursor().enabled());
EXPECT_FALSE( EXPECT_FALSE(
prefs->IsManagedPreference(prefs::kAccessibilityLargeCursorEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityLargeCursorEnabled));
EXPECT_TRUE(controller->large_cursor().IsVisibleInTray()); EXPECT_TRUE(controller->IsLargeCursorSettingVisibleInTray());
// Check when the value is false and not being controlled by any policy. // Check when the value is false and not being controlled by any policy.
controller->large_cursor().SetEnabled(false); controller->large_cursor().SetEnabled(false);
EXPECT_FALSE(controller->large_cursor().enabled()); EXPECT_FALSE(controller->large_cursor().enabled());
EXPECT_FALSE( EXPECT_FALSE(
prefs->IsManagedPreference(prefs::kAccessibilityLargeCursorEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityLargeCursorEnabled));
EXPECT_TRUE(controller->large_cursor().IsVisibleInTray()); EXPECT_TRUE(controller->IsLargeCursorSettingVisibleInTray());
// Check that when the pref is managed and being forced on then it will be // Check that when the pref is managed and being forced on then it will be
// visible. // visible.
...@@ -221,7 +221,7 @@ TEST_F(AccessibilityControllerTest, LargeCursorTrayMenuVisibility) { ...@@ -221,7 +221,7 @@ TEST_F(AccessibilityControllerTest, LargeCursorTrayMenuVisibility) {
EXPECT_TRUE( EXPECT_TRUE(
prefs->IsManagedPreference(prefs::kAccessibilityLargeCursorEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityLargeCursorEnabled));
EXPECT_TRUE(controller->large_cursor().enabled()); EXPECT_TRUE(controller->large_cursor().enabled());
EXPECT_TRUE(controller->large_cursor().IsVisibleInTray()); EXPECT_TRUE(controller->IsLargeCursorSettingVisibleInTray());
// Check that when the pref is managed and only being forced off then it will // Check that when the pref is managed and only being forced off then it will
// be invisible. // be invisible.
static_cast<TestingPrefServiceSimple*>(prefs)->SetManagedPref( static_cast<TestingPrefServiceSimple*>(prefs)->SetManagedPref(
...@@ -230,7 +230,7 @@ TEST_F(AccessibilityControllerTest, LargeCursorTrayMenuVisibility) { ...@@ -230,7 +230,7 @@ TEST_F(AccessibilityControllerTest, LargeCursorTrayMenuVisibility) {
EXPECT_TRUE( EXPECT_TRUE(
prefs->IsManagedPreference(prefs::kAccessibilityLargeCursorEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityLargeCursorEnabled));
EXPECT_FALSE(controller->large_cursor().enabled()); EXPECT_FALSE(controller->large_cursor().enabled());
EXPECT_FALSE(controller->large_cursor().IsVisibleInTray()); EXPECT_FALSE(controller->IsLargeCursorSettingVisibleInTray());
} }
TEST_F(AccessibilityControllerTest, HighContrastTrayMenuVisibility) { TEST_F(AccessibilityControllerTest, HighContrastTrayMenuVisibility) {
...@@ -245,13 +245,13 @@ TEST_F(AccessibilityControllerTest, HighContrastTrayMenuVisibility) { ...@@ -245,13 +245,13 @@ TEST_F(AccessibilityControllerTest, HighContrastTrayMenuVisibility) {
EXPECT_FALSE( EXPECT_FALSE(
prefs->IsManagedPreference(prefs::kAccessibilityHighContrastEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityHighContrastEnabled));
EXPECT_TRUE(controller->high_contrast().enabled()); EXPECT_TRUE(controller->high_contrast().enabled());
EXPECT_TRUE(controller->high_contrast().IsVisibleInTray()); EXPECT_TRUE(controller->IsHighContrastSettingVisibleInTray());
// Check when the value is false and not being controlled by any policy. // Check when the value is false and not being controlled by any policy.
controller->high_contrast().SetEnabled(false); controller->high_contrast().SetEnabled(false);
EXPECT_FALSE( EXPECT_FALSE(
prefs->IsManagedPreference(prefs::kAccessibilityHighContrastEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityHighContrastEnabled));
EXPECT_FALSE(controller->high_contrast().enabled()); EXPECT_FALSE(controller->high_contrast().enabled());
EXPECT_TRUE(controller->high_contrast().IsVisibleInTray()); EXPECT_TRUE(controller->IsHighContrastSettingVisibleInTray());
// Check that when the pref is managed and being forced on then it will be // Check that when the pref is managed and being forced on then it will be
// visible. // visible.
...@@ -260,7 +260,7 @@ TEST_F(AccessibilityControllerTest, HighContrastTrayMenuVisibility) { ...@@ -260,7 +260,7 @@ TEST_F(AccessibilityControllerTest, HighContrastTrayMenuVisibility) {
std::make_unique<base::Value>(true)); std::make_unique<base::Value>(true));
EXPECT_TRUE( EXPECT_TRUE(
prefs->IsManagedPreference(prefs::kAccessibilityHighContrastEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityHighContrastEnabled));
EXPECT_TRUE(controller->high_contrast().IsVisibleInTray()); EXPECT_TRUE(controller->IsHighContrastSettingVisibleInTray());
// Check that when the pref is managed and only being forced off then it will // Check that when the pref is managed and only being forced off then it will
// be invisible. // be invisible.
static_cast<TestingPrefServiceSimple*>(prefs)->SetManagedPref( static_cast<TestingPrefServiceSimple*>(prefs)->SetManagedPref(
...@@ -269,7 +269,7 @@ TEST_F(AccessibilityControllerTest, HighContrastTrayMenuVisibility) { ...@@ -269,7 +269,7 @@ TEST_F(AccessibilityControllerTest, HighContrastTrayMenuVisibility) {
EXPECT_TRUE( EXPECT_TRUE(
prefs->IsManagedPreference(prefs::kAccessibilityHighContrastEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityHighContrastEnabled));
EXPECT_FALSE(controller->high_contrast().enabled()); EXPECT_FALSE(controller->high_contrast().enabled());
EXPECT_FALSE(controller->high_contrast().IsVisibleInTray()); EXPECT_FALSE(controller->IsHighContrastSettingVisibleInTray());
} }
TEST_F(AccessibilityControllerTest, MonoAudioTrayMenuVisibility) { TEST_F(AccessibilityControllerTest, MonoAudioTrayMenuVisibility) {
...@@ -284,13 +284,13 @@ TEST_F(AccessibilityControllerTest, MonoAudioTrayMenuVisibility) { ...@@ -284,13 +284,13 @@ TEST_F(AccessibilityControllerTest, MonoAudioTrayMenuVisibility) {
EXPECT_FALSE( EXPECT_FALSE(
prefs->IsManagedPreference(prefs::kAccessibilityMonoAudioEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityMonoAudioEnabled));
EXPECT_TRUE(controller->mono_audio().enabled()); EXPECT_TRUE(controller->mono_audio().enabled());
EXPECT_TRUE(controller->mono_audio().IsVisibleInTray()); EXPECT_TRUE(controller->IsMonoAudioSettingVisibleInTray());
// Check when the value is false and not being controlled by any policy. // Check when the value is false and not being controlled by any policy.
controller->mono_audio().SetEnabled(false); controller->mono_audio().SetEnabled(false);
EXPECT_FALSE( EXPECT_FALSE(
prefs->IsManagedPreference(prefs::kAccessibilityMonoAudioEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityMonoAudioEnabled));
EXPECT_FALSE(controller->mono_audio().enabled()); EXPECT_FALSE(controller->mono_audio().enabled());
EXPECT_TRUE(controller->mono_audio().IsVisibleInTray()); EXPECT_TRUE(controller->IsMonoAudioSettingVisibleInTray());
// Check that when the pref is managed and being forced on then it will be // Check that when the pref is managed and being forced on then it will be
// visible. // visible.
...@@ -299,7 +299,7 @@ TEST_F(AccessibilityControllerTest, MonoAudioTrayMenuVisibility) { ...@@ -299,7 +299,7 @@ TEST_F(AccessibilityControllerTest, MonoAudioTrayMenuVisibility) {
std::make_unique<base::Value>(true)); std::make_unique<base::Value>(true));
EXPECT_TRUE( EXPECT_TRUE(
prefs->IsManagedPreference(prefs::kAccessibilityMonoAudioEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityMonoAudioEnabled));
EXPECT_TRUE(controller->mono_audio().IsVisibleInTray()); EXPECT_TRUE(controller->IsMonoAudioSettingVisibleInTray());
// Check that when the pref is managed and only being forced off then it will // Check that when the pref is managed and only being forced off then it will
// be invisible. // be invisible.
static_cast<TestingPrefServiceSimple*>(prefs)->SetManagedPref( static_cast<TestingPrefServiceSimple*>(prefs)->SetManagedPref(
...@@ -308,7 +308,7 @@ TEST_F(AccessibilityControllerTest, MonoAudioTrayMenuVisibility) { ...@@ -308,7 +308,7 @@ TEST_F(AccessibilityControllerTest, MonoAudioTrayMenuVisibility) {
EXPECT_TRUE( EXPECT_TRUE(
prefs->IsManagedPreference(prefs::kAccessibilityMonoAudioEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityMonoAudioEnabled));
EXPECT_FALSE(controller->mono_audio().enabled()); EXPECT_FALSE(controller->mono_audio().enabled());
EXPECT_FALSE(controller->mono_audio().IsVisibleInTray()); EXPECT_FALSE(controller->IsMonoAudioSettingVisibleInTray());
} }
TEST_F(AccessibilityControllerTest, DictationTrayMenuVisibility) { TEST_F(AccessibilityControllerTest, DictationTrayMenuVisibility) {
...@@ -326,13 +326,13 @@ TEST_F(AccessibilityControllerTest, DictationTrayMenuVisibility) { ...@@ -326,13 +326,13 @@ TEST_F(AccessibilityControllerTest, DictationTrayMenuVisibility) {
EXPECT_FALSE( EXPECT_FALSE(
prefs->IsManagedPreference(prefs::kAccessibilityDictationEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityDictationEnabled));
EXPECT_TRUE(controller->dictation().enabled()); EXPECT_TRUE(controller->dictation().enabled());
EXPECT_TRUE(controller->dictation().IsVisibleInTray()); EXPECT_TRUE(controller->IsDictationSettingVisibleInTray());
// Check when the value is false and not being controlled by any policy. // Check when the value is false and not being controlled by any policy.
controller->dictation().SetEnabled(false); controller->dictation().SetEnabled(false);
EXPECT_FALSE( EXPECT_FALSE(
prefs->IsManagedPreference(prefs::kAccessibilityDictationEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityDictationEnabled));
EXPECT_FALSE(controller->dictation().enabled()); EXPECT_FALSE(controller->dictation().enabled());
EXPECT_TRUE(controller->dictation().IsVisibleInTray()); EXPECT_TRUE(controller->IsDictationSettingVisibleInTray());
// Check that when the pref is managed and being forced on then it will be // Check that when the pref is managed and being forced on then it will be
// visible. // visible.
...@@ -341,7 +341,7 @@ TEST_F(AccessibilityControllerTest, DictationTrayMenuVisibility) { ...@@ -341,7 +341,7 @@ TEST_F(AccessibilityControllerTest, DictationTrayMenuVisibility) {
std::make_unique<base::Value>(true)); std::make_unique<base::Value>(true));
EXPECT_TRUE( EXPECT_TRUE(
prefs->IsManagedPreference(prefs::kAccessibilityDictationEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityDictationEnabled));
EXPECT_TRUE(controller->dictation().IsVisibleInTray()); EXPECT_TRUE(controller->IsDictationSettingVisibleInTray());
// Check that when the pref is managed and only being forced off then it will // Check that when the pref is managed and only being forced off then it will
// be invisible. // be invisible.
static_cast<TestingPrefServiceSimple*>(prefs)->SetManagedPref( static_cast<TestingPrefServiceSimple*>(prefs)->SetManagedPref(
...@@ -350,7 +350,7 @@ TEST_F(AccessibilityControllerTest, DictationTrayMenuVisibility) { ...@@ -350,7 +350,7 @@ TEST_F(AccessibilityControllerTest, DictationTrayMenuVisibility) {
EXPECT_TRUE( EXPECT_TRUE(
prefs->IsManagedPreference(prefs::kAccessibilityDictationEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityDictationEnabled));
EXPECT_FALSE(controller->dictation().enabled()); EXPECT_FALSE(controller->dictation().enabled());
EXPECT_FALSE(controller->dictation().IsVisibleInTray()); EXPECT_FALSE(controller->IsDictationSettingVisibleInTray());
} }
TEST_F(AccessibilityControllerTest, CursorHighlightTrayMenuVisibility) { TEST_F(AccessibilityControllerTest, CursorHighlightTrayMenuVisibility) {
...@@ -365,13 +365,13 @@ TEST_F(AccessibilityControllerTest, CursorHighlightTrayMenuVisibility) { ...@@ -365,13 +365,13 @@ TEST_F(AccessibilityControllerTest, CursorHighlightTrayMenuVisibility) {
EXPECT_FALSE( EXPECT_FALSE(
prefs->IsManagedPreference(prefs::kAccessibilityCursorHighlightEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityCursorHighlightEnabled));
EXPECT_TRUE(controller->cursor_highlight().enabled()); EXPECT_TRUE(controller->cursor_highlight().enabled());
EXPECT_TRUE(controller->cursor_highlight().IsVisibleInTray()); EXPECT_TRUE(controller->IsCursorHighlightSettingVisibleInTray());
// Check when the value is false and not being controlled by any policy. // Check when the value is false and not being controlled by any policy.
controller->cursor_highlight().SetEnabled(false); controller->cursor_highlight().SetEnabled(false);
EXPECT_FALSE( EXPECT_FALSE(
prefs->IsManagedPreference(prefs::kAccessibilityCursorHighlightEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityCursorHighlightEnabled));
EXPECT_FALSE(controller->cursor_highlight().enabled()); EXPECT_FALSE(controller->cursor_highlight().enabled());
EXPECT_TRUE(controller->cursor_highlight().IsVisibleInTray()); EXPECT_TRUE(controller->IsCursorHighlightSettingVisibleInTray());
// Check that when the pref is managed and being forced on then it will be // Check that when the pref is managed and being forced on then it will be
// visible. // visible.
...@@ -380,7 +380,7 @@ TEST_F(AccessibilityControllerTest, CursorHighlightTrayMenuVisibility) { ...@@ -380,7 +380,7 @@ TEST_F(AccessibilityControllerTest, CursorHighlightTrayMenuVisibility) {
std::make_unique<base::Value>(true)); std::make_unique<base::Value>(true));
EXPECT_TRUE( EXPECT_TRUE(
prefs->IsManagedPreference(prefs::kAccessibilityCursorHighlightEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityCursorHighlightEnabled));
EXPECT_TRUE(controller->cursor_highlight().IsVisibleInTray()); EXPECT_TRUE(controller->IsCursorHighlightSettingVisibleInTray());
// Check that when the pref is managed and only being forced off then it will // Check that when the pref is managed and only being forced off then it will
// be invisible. // be invisible.
static_cast<TestingPrefServiceSimple*>(prefs)->SetManagedPref( static_cast<TestingPrefServiceSimple*>(prefs)->SetManagedPref(
...@@ -389,7 +389,7 @@ TEST_F(AccessibilityControllerTest, CursorHighlightTrayMenuVisibility) { ...@@ -389,7 +389,7 @@ TEST_F(AccessibilityControllerTest, CursorHighlightTrayMenuVisibility) {
EXPECT_TRUE( EXPECT_TRUE(
prefs->IsManagedPreference(prefs::kAccessibilityCursorHighlightEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityCursorHighlightEnabled));
EXPECT_FALSE(controller->cursor_highlight().enabled()); EXPECT_FALSE(controller->cursor_highlight().enabled());
EXPECT_FALSE(controller->cursor_highlight().IsVisibleInTray()); EXPECT_FALSE(controller->IsCursorHighlightSettingVisibleInTray());
} }
TEST_F(AccessibilityControllerTest, FullScreenMagnifierTrayMenuVisibility) { TEST_F(AccessibilityControllerTest, FullScreenMagnifierTrayMenuVisibility) {
...@@ -404,13 +404,13 @@ TEST_F(AccessibilityControllerTest, FullScreenMagnifierTrayMenuVisibility) { ...@@ -404,13 +404,13 @@ TEST_F(AccessibilityControllerTest, FullScreenMagnifierTrayMenuVisibility) {
EXPECT_FALSE( EXPECT_FALSE(
prefs->IsManagedPreference(prefs::kAccessibilityScreenMagnifierEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityScreenMagnifierEnabled));
EXPECT_TRUE(controller->fullscreen_magnifier().enabled()); EXPECT_TRUE(controller->fullscreen_magnifier().enabled());
EXPECT_TRUE(controller->fullscreen_magnifier().IsVisibleInTray()); EXPECT_TRUE(controller->IsFullScreenMagnifierSettingVisibleInTray());
// Check when the value is false and not being controlled by any policy. // Check when the value is false and not being controlled by any policy.
controller->fullscreen_magnifier().SetEnabled(false); controller->fullscreen_magnifier().SetEnabled(false);
EXPECT_FALSE( EXPECT_FALSE(
prefs->IsManagedPreference(prefs::kAccessibilityScreenMagnifierEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityScreenMagnifierEnabled));
EXPECT_FALSE(controller->fullscreen_magnifier().enabled()); EXPECT_FALSE(controller->fullscreen_magnifier().enabled());
EXPECT_TRUE(controller->fullscreen_magnifier().IsVisibleInTray()); EXPECT_TRUE(controller->IsFullScreenMagnifierSettingVisibleInTray());
// Check that when the pref is managed and being forced on then it will be // Check that when the pref is managed and being forced on then it will be
// visible. // visible.
...@@ -419,7 +419,7 @@ TEST_F(AccessibilityControllerTest, FullScreenMagnifierTrayMenuVisibility) { ...@@ -419,7 +419,7 @@ TEST_F(AccessibilityControllerTest, FullScreenMagnifierTrayMenuVisibility) {
std::make_unique<base::Value>(true)); std::make_unique<base::Value>(true));
EXPECT_TRUE( EXPECT_TRUE(
prefs->IsManagedPreference(prefs::kAccessibilityScreenMagnifierEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityScreenMagnifierEnabled));
EXPECT_TRUE(controller->fullscreen_magnifier().IsVisibleInTray()); EXPECT_TRUE(controller->IsFullScreenMagnifierSettingVisibleInTray());
// Check that when the pref is managed and only being forced off then it will // Check that when the pref is managed and only being forced off then it will
// be invisible. // be invisible.
static_cast<TestingPrefServiceSimple*>(prefs)->SetManagedPref( static_cast<TestingPrefServiceSimple*>(prefs)->SetManagedPref(
...@@ -428,7 +428,7 @@ TEST_F(AccessibilityControllerTest, FullScreenMagnifierTrayMenuVisibility) { ...@@ -428,7 +428,7 @@ TEST_F(AccessibilityControllerTest, FullScreenMagnifierTrayMenuVisibility) {
EXPECT_TRUE( EXPECT_TRUE(
prefs->IsManagedPreference(prefs::kAccessibilityScreenMagnifierEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityScreenMagnifierEnabled));
EXPECT_FALSE(controller->fullscreen_magnifier().enabled()); EXPECT_FALSE(controller->fullscreen_magnifier().enabled());
EXPECT_FALSE(controller->fullscreen_magnifier().IsVisibleInTray()); EXPECT_FALSE(controller->IsFullScreenMagnifierSettingVisibleInTray());
} }
TEST_F(AccessibilityControllerTest, DockedMagnifierTrayMenuVisibility) { TEST_F(AccessibilityControllerTest, DockedMagnifierTrayMenuVisibility) {
...@@ -442,26 +442,26 @@ TEST_F(AccessibilityControllerTest, DockedMagnifierTrayMenuVisibility) { ...@@ -442,26 +442,26 @@ TEST_F(AccessibilityControllerTest, DockedMagnifierTrayMenuVisibility) {
controller->docked_magnifier().SetEnabled(true); controller->docked_magnifier().SetEnabled(true);
EXPECT_FALSE(prefs->IsManagedPreference(prefs::kDockedMagnifierEnabled)); EXPECT_FALSE(prefs->IsManagedPreference(prefs::kDockedMagnifierEnabled));
EXPECT_TRUE(controller->docked_magnifier().enabled()); EXPECT_TRUE(controller->docked_magnifier().enabled());
EXPECT_TRUE(controller->docked_magnifier().IsVisibleInTray()); EXPECT_TRUE(controller->IsDockedMagnifierSettingVisibleInTray());
// Check when the value is false and not being controlled by any policy. // Check when the value is false and not being controlled by any policy.
controller->docked_magnifier().SetEnabled(false); controller->docked_magnifier().SetEnabled(false);
EXPECT_FALSE(prefs->IsManagedPreference(prefs::kDockedMagnifierEnabled)); EXPECT_FALSE(prefs->IsManagedPreference(prefs::kDockedMagnifierEnabled));
EXPECT_FALSE(controller->docked_magnifier().enabled()); EXPECT_FALSE(controller->docked_magnifier().enabled());
EXPECT_TRUE(controller->docked_magnifier().IsVisibleInTray()); EXPECT_TRUE(controller->IsDockedMagnifierSettingVisibleInTray());
// Check that when the pref is managed and being forced on then it will be // Check that when the pref is managed and being forced on then it will be
// visible. // visible.
static_cast<TestingPrefServiceSimple*>(prefs)->SetManagedPref( static_cast<TestingPrefServiceSimple*>(prefs)->SetManagedPref(
prefs::kDockedMagnifierEnabled, std::make_unique<base::Value>(true)); prefs::kDockedMagnifierEnabled, std::make_unique<base::Value>(true));
EXPECT_TRUE(prefs->IsManagedPreference(prefs::kDockedMagnifierEnabled)); EXPECT_TRUE(prefs->IsManagedPreference(prefs::kDockedMagnifierEnabled));
EXPECT_TRUE(controller->docked_magnifier().IsVisibleInTray()); EXPECT_TRUE(controller->IsDockedMagnifierSettingVisibleInTray());
// Check that when the pref is managed and only being forced off then it will // Check that when the pref is managed and only being forced off then it will
// be invisible. // be invisible.
static_cast<TestingPrefServiceSimple*>(prefs)->SetManagedPref( static_cast<TestingPrefServiceSimple*>(prefs)->SetManagedPref(
prefs::kDockedMagnifierEnabled, std::make_unique<base::Value>(false)); prefs::kDockedMagnifierEnabled, std::make_unique<base::Value>(false));
EXPECT_TRUE(prefs->IsManagedPreference(prefs::kDockedMagnifierEnabled)); EXPECT_TRUE(prefs->IsManagedPreference(prefs::kDockedMagnifierEnabled));
EXPECT_FALSE(controller->docked_magnifier().enabled()); EXPECT_FALSE(controller->docked_magnifier().enabled());
EXPECT_FALSE(controller->docked_magnifier().IsVisibleInTray()); EXPECT_FALSE(controller->IsDockedMagnifierSettingVisibleInTray());
} }
TEST_F(AccessibilityControllerTest, CaretHighlightTrayMenuVisibility) { TEST_F(AccessibilityControllerTest, CaretHighlightTrayMenuVisibility) {
// Check that when the pref isn't being controlled by any policy will be // Check that when the pref isn't being controlled by any policy will be
...@@ -475,13 +475,13 @@ TEST_F(AccessibilityControllerTest, CaretHighlightTrayMenuVisibility) { ...@@ -475,13 +475,13 @@ TEST_F(AccessibilityControllerTest, CaretHighlightTrayMenuVisibility) {
EXPECT_FALSE( EXPECT_FALSE(
prefs->IsManagedPreference(prefs::kAccessibilityCaretHighlightEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityCaretHighlightEnabled));
EXPECT_TRUE(controller->caret_highlight().enabled()); EXPECT_TRUE(controller->caret_highlight().enabled());
EXPECT_TRUE(controller->caret_highlight().IsVisibleInTray()); EXPECT_TRUE(controller->IsCaretHighlightSettingVisibleInTray());
// Check when the value is false and not being controlled by any policy. // Check when the value is false and not being controlled by any policy.
controller->caret_highlight().SetEnabled(false); controller->caret_highlight().SetEnabled(false);
EXPECT_FALSE( EXPECT_FALSE(
prefs->IsManagedPreference(prefs::kAccessibilityCaretHighlightEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityCaretHighlightEnabled));
EXPECT_FALSE(controller->caret_highlight().enabled()); EXPECT_FALSE(controller->caret_highlight().enabled());
EXPECT_TRUE(controller->caret_highlight().IsVisibleInTray()); EXPECT_TRUE(controller->IsCaretHighlightSettingVisibleInTray());
// Check that when the pref is managed and being forced on then it will be // Check that when the pref is managed and being forced on then it will be
// visible. // visible.
...@@ -490,7 +490,7 @@ TEST_F(AccessibilityControllerTest, CaretHighlightTrayMenuVisibility) { ...@@ -490,7 +490,7 @@ TEST_F(AccessibilityControllerTest, CaretHighlightTrayMenuVisibility) {
std::make_unique<base::Value>(true)); std::make_unique<base::Value>(true));
EXPECT_TRUE( EXPECT_TRUE(
prefs->IsManagedPreference(prefs::kAccessibilityCaretHighlightEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityCaretHighlightEnabled));
EXPECT_TRUE(controller->caret_highlight().IsVisibleInTray()); EXPECT_TRUE(controller->IsCaretHighlightSettingVisibleInTray());
// Check that when the pref is managed and only being forced off then it will // Check that when the pref is managed and only being forced off then it will
// be invisible. // be invisible.
static_cast<TestingPrefServiceSimple*>(prefs)->SetManagedPref( static_cast<TestingPrefServiceSimple*>(prefs)->SetManagedPref(
...@@ -499,7 +499,7 @@ TEST_F(AccessibilityControllerTest, CaretHighlightTrayMenuVisibility) { ...@@ -499,7 +499,7 @@ TEST_F(AccessibilityControllerTest, CaretHighlightTrayMenuVisibility) {
EXPECT_TRUE( EXPECT_TRUE(
prefs->IsManagedPreference(prefs::kAccessibilityCaretHighlightEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityCaretHighlightEnabled));
EXPECT_FALSE(controller->caret_highlight().enabled()); EXPECT_FALSE(controller->caret_highlight().enabled());
EXPECT_FALSE(controller->caret_highlight().IsVisibleInTray()); EXPECT_FALSE(controller->IsCaretHighlightSettingVisibleInTray());
} }
TEST_F(AccessibilityControllerTest, SelectToSpeakTrayMenuVisibility) { TEST_F(AccessibilityControllerTest, SelectToSpeakTrayMenuVisibility) {
...@@ -514,13 +514,13 @@ TEST_F(AccessibilityControllerTest, SelectToSpeakTrayMenuVisibility) { ...@@ -514,13 +514,13 @@ TEST_F(AccessibilityControllerTest, SelectToSpeakTrayMenuVisibility) {
EXPECT_FALSE( EXPECT_FALSE(
prefs->IsManagedPreference(prefs::kAccessibilitySelectToSpeakEnabled)); prefs->IsManagedPreference(prefs::kAccessibilitySelectToSpeakEnabled));
EXPECT_TRUE(controller->select_to_speak().enabled()); EXPECT_TRUE(controller->select_to_speak().enabled());
EXPECT_TRUE(controller->select_to_speak().IsVisibleInTray()); EXPECT_TRUE(controller->IsSelectToSpeakSettingVisibleInTray());
// Check when the value is false and not being controlled by any policy. // Check when the value is false and not being controlled by any policy.
controller->select_to_speak().SetEnabled(false); controller->select_to_speak().SetEnabled(false);
EXPECT_FALSE( EXPECT_FALSE(
prefs->IsManagedPreference(prefs::kAccessibilitySelectToSpeakEnabled)); prefs->IsManagedPreference(prefs::kAccessibilitySelectToSpeakEnabled));
EXPECT_FALSE(controller->select_to_speak().enabled()); EXPECT_FALSE(controller->select_to_speak().enabled());
EXPECT_TRUE(controller->select_to_speak().IsVisibleInTray()); EXPECT_TRUE(controller->IsSelectToSpeakSettingVisibleInTray());
// Check that when the pref is managed and being forced on then it will be // Check that when the pref is managed and being forced on then it will be
// visible. // visible.
...@@ -529,7 +529,7 @@ TEST_F(AccessibilityControllerTest, SelectToSpeakTrayMenuVisibility) { ...@@ -529,7 +529,7 @@ TEST_F(AccessibilityControllerTest, SelectToSpeakTrayMenuVisibility) {
std::make_unique<base::Value>(true)); std::make_unique<base::Value>(true));
EXPECT_TRUE( EXPECT_TRUE(
prefs->IsManagedPreference(prefs::kAccessibilitySelectToSpeakEnabled)); prefs->IsManagedPreference(prefs::kAccessibilitySelectToSpeakEnabled));
EXPECT_TRUE(controller->select_to_speak().IsVisibleInTray()); EXPECT_TRUE(controller->IsSelectToSpeakSettingVisibleInTray());
// Check that when the pref is managed and only being forced off then it will // Check that when the pref is managed and only being forced off then it will
// be invisible. // be invisible.
static_cast<TestingPrefServiceSimple*>(prefs)->SetManagedPref( static_cast<TestingPrefServiceSimple*>(prefs)->SetManagedPref(
...@@ -538,7 +538,7 @@ TEST_F(AccessibilityControllerTest, SelectToSpeakTrayMenuVisibility) { ...@@ -538,7 +538,7 @@ TEST_F(AccessibilityControllerTest, SelectToSpeakTrayMenuVisibility) {
EXPECT_TRUE( EXPECT_TRUE(
prefs->IsManagedPreference(prefs::kAccessibilitySelectToSpeakEnabled)); prefs->IsManagedPreference(prefs::kAccessibilitySelectToSpeakEnabled));
EXPECT_FALSE(controller->select_to_speak().enabled()); EXPECT_FALSE(controller->select_to_speak().enabled());
EXPECT_FALSE(controller->select_to_speak().IsVisibleInTray()); EXPECT_FALSE(controller->IsSelectToSpeakSettingVisibleInTray());
} }
TEST_F(AccessibilityControllerTest, AutoClickTrayMenuVisibility) { TEST_F(AccessibilityControllerTest, AutoClickTrayMenuVisibility) {
...@@ -553,13 +553,13 @@ TEST_F(AccessibilityControllerTest, AutoClickTrayMenuVisibility) { ...@@ -553,13 +553,13 @@ TEST_F(AccessibilityControllerTest, AutoClickTrayMenuVisibility) {
EXPECT_FALSE( EXPECT_FALSE(
prefs->IsManagedPreference(prefs::kAccessibilityAutoclickEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityAutoclickEnabled));
EXPECT_TRUE(controller->autoclick().enabled()); EXPECT_TRUE(controller->autoclick().enabled());
EXPECT_TRUE(controller->autoclick().IsVisibleInTray()); EXPECT_TRUE(controller->IsAutoclickSettingVisibleInTray());
// Check when the value is false and not being controlled by any policy. // Check when the value is false and not being controlled by any policy.
controller->autoclick().SetEnabled(false); controller->autoclick().SetEnabled(false);
EXPECT_FALSE( EXPECT_FALSE(
prefs->IsManagedPreference(prefs::kAccessibilityAutoclickEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityAutoclickEnabled));
EXPECT_FALSE(controller->autoclick().enabled()); EXPECT_FALSE(controller->autoclick().enabled());
EXPECT_TRUE(controller->autoclick().IsVisibleInTray()); EXPECT_TRUE(controller->IsAutoclickSettingVisibleInTray());
// Check that when the pref is managed and being forced on then it will be // Check that when the pref is managed and being forced on then it will be
// visible. // visible.
...@@ -568,7 +568,7 @@ TEST_F(AccessibilityControllerTest, AutoClickTrayMenuVisibility) { ...@@ -568,7 +568,7 @@ TEST_F(AccessibilityControllerTest, AutoClickTrayMenuVisibility) {
std::make_unique<base::Value>(true)); std::make_unique<base::Value>(true));
EXPECT_TRUE( EXPECT_TRUE(
prefs->IsManagedPreference(prefs::kAccessibilityAutoclickEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityAutoclickEnabled));
EXPECT_TRUE(controller->autoclick().IsVisibleInTray()); EXPECT_TRUE(controller->IsAutoclickSettingVisibleInTray());
// Check that when the pref is managed and only being forced off then it will // Check that when the pref is managed and only being forced off then it will
// be invisible. // be invisible.
static_cast<TestingPrefServiceSimple*>(prefs)->SetManagedPref( static_cast<TestingPrefServiceSimple*>(prefs)->SetManagedPref(
...@@ -577,7 +577,7 @@ TEST_F(AccessibilityControllerTest, AutoClickTrayMenuVisibility) { ...@@ -577,7 +577,7 @@ TEST_F(AccessibilityControllerTest, AutoClickTrayMenuVisibility) {
EXPECT_TRUE( EXPECT_TRUE(
prefs->IsManagedPreference(prefs::kAccessibilityAutoclickEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityAutoclickEnabled));
EXPECT_FALSE(controller->autoclick().enabled()); EXPECT_FALSE(controller->autoclick().enabled());
EXPECT_FALSE(controller->autoclick().IsVisibleInTray()); EXPECT_FALSE(controller->IsAutoclickSettingVisibleInTray());
} }
TEST_F(AccessibilityControllerTest, SpokenFeedbackTrayMenuVisibility) { TEST_F(AccessibilityControllerTest, SpokenFeedbackTrayMenuVisibility) {
...@@ -592,13 +592,13 @@ TEST_F(AccessibilityControllerTest, SpokenFeedbackTrayMenuVisibility) { ...@@ -592,13 +592,13 @@ TEST_F(AccessibilityControllerTest, SpokenFeedbackTrayMenuVisibility) {
EXPECT_FALSE( EXPECT_FALSE(
prefs->IsManagedPreference(prefs::kAccessibilitySpokenFeedbackEnabled)); prefs->IsManagedPreference(prefs::kAccessibilitySpokenFeedbackEnabled));
EXPECT_TRUE(controller->spoken_feedback().enabled()); EXPECT_TRUE(controller->spoken_feedback().enabled());
EXPECT_TRUE(controller->spoken_feedback().IsVisibleInTray()); EXPECT_TRUE(controller->IsSpokenFeedbackSettingVisibleInTray());
// Check when the value is false and not being controlled by any policy. // Check when the value is false and not being controlled by any policy.
controller->SetSpokenFeedbackEnabled(false, A11Y_NOTIFICATION_NONE); controller->SetSpokenFeedbackEnabled(false, A11Y_NOTIFICATION_NONE);
EXPECT_FALSE( EXPECT_FALSE(
prefs->IsManagedPreference(prefs::kAccessibilitySpokenFeedbackEnabled)); prefs->IsManagedPreference(prefs::kAccessibilitySpokenFeedbackEnabled));
EXPECT_FALSE(controller->spoken_feedback().enabled()); EXPECT_FALSE(controller->spoken_feedback().enabled());
EXPECT_TRUE(controller->spoken_feedback().IsVisibleInTray()); EXPECT_TRUE(controller->IsSpokenFeedbackSettingVisibleInTray());
// Check that when the pref is managed and being forced on then it will be // Check that when the pref is managed and being forced on then it will be
// visible. // visible.
...@@ -607,7 +607,7 @@ TEST_F(AccessibilityControllerTest, SpokenFeedbackTrayMenuVisibility) { ...@@ -607,7 +607,7 @@ TEST_F(AccessibilityControllerTest, SpokenFeedbackTrayMenuVisibility) {
std::make_unique<base::Value>(true)); std::make_unique<base::Value>(true));
EXPECT_TRUE( EXPECT_TRUE(
prefs->IsManagedPreference(prefs::kAccessibilitySpokenFeedbackEnabled)); prefs->IsManagedPreference(prefs::kAccessibilitySpokenFeedbackEnabled));
EXPECT_TRUE(controller->spoken_feedback().IsVisibleInTray()); EXPECT_TRUE(controller->IsSpokenFeedbackSettingVisibleInTray());
// Check that when the pref is managed and only being forced off then it will // Check that when the pref is managed and only being forced off then it will
// be invisible. // be invisible.
static_cast<TestingPrefServiceSimple*>(prefs)->SetManagedPref( static_cast<TestingPrefServiceSimple*>(prefs)->SetManagedPref(
...@@ -616,7 +616,7 @@ TEST_F(AccessibilityControllerTest, SpokenFeedbackTrayMenuVisibility) { ...@@ -616,7 +616,7 @@ TEST_F(AccessibilityControllerTest, SpokenFeedbackTrayMenuVisibility) {
EXPECT_TRUE( EXPECT_TRUE(
prefs->IsManagedPreference(prefs::kAccessibilitySpokenFeedbackEnabled)); prefs->IsManagedPreference(prefs::kAccessibilitySpokenFeedbackEnabled));
EXPECT_FALSE(controller->spoken_feedback().enabled()); EXPECT_FALSE(controller->spoken_feedback().enabled());
EXPECT_FALSE(controller->spoken_feedback().IsVisibleInTray()); EXPECT_FALSE(controller->IsSpokenFeedbackSettingVisibleInTray());
} }
TEST_F(AccessibilityControllerTest, VirtualKeyboardTrayMenuVisibility) { TEST_F(AccessibilityControllerTest, VirtualKeyboardTrayMenuVisibility) {
...@@ -631,13 +631,13 @@ TEST_F(AccessibilityControllerTest, VirtualKeyboardTrayMenuVisibility) { ...@@ -631,13 +631,13 @@ TEST_F(AccessibilityControllerTest, VirtualKeyboardTrayMenuVisibility) {
EXPECT_FALSE( EXPECT_FALSE(
prefs->IsManagedPreference(prefs::kAccessibilityVirtualKeyboardEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityVirtualKeyboardEnabled));
EXPECT_TRUE(controller->virtual_keyboard().enabled()); EXPECT_TRUE(controller->virtual_keyboard().enabled());
EXPECT_TRUE(controller->virtual_keyboard().IsVisibleInTray()); EXPECT_TRUE(controller->IsVirtualKeyboardSettingVisibleInTray());
// Check when the value is false and not being controlled by any policy. // Check when the value is false and not being controlled by any policy.
controller->virtual_keyboard().SetEnabled(false); controller->virtual_keyboard().SetEnabled(false);
EXPECT_FALSE( EXPECT_FALSE(
prefs->IsManagedPreference(prefs::kAccessibilityVirtualKeyboardEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityVirtualKeyboardEnabled));
EXPECT_FALSE(controller->virtual_keyboard().enabled()); EXPECT_FALSE(controller->virtual_keyboard().enabled());
EXPECT_TRUE(controller->virtual_keyboard().IsVisibleInTray()); EXPECT_TRUE(controller->IsVirtualKeyboardSettingVisibleInTray());
// Check that when the pref is managed and being forced on then it will be // Check that when the pref is managed and being forced on then it will be
// visible. // visible.
...@@ -646,7 +646,7 @@ TEST_F(AccessibilityControllerTest, VirtualKeyboardTrayMenuVisibility) { ...@@ -646,7 +646,7 @@ TEST_F(AccessibilityControllerTest, VirtualKeyboardTrayMenuVisibility) {
std::make_unique<base::Value>(true)); std::make_unique<base::Value>(true));
EXPECT_TRUE( EXPECT_TRUE(
prefs->IsManagedPreference(prefs::kAccessibilityVirtualKeyboardEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityVirtualKeyboardEnabled));
EXPECT_TRUE(controller->virtual_keyboard().IsVisibleInTray()); EXPECT_TRUE(controller->IsVirtualKeyboardSettingVisibleInTray());
// Check that when the pref is managed and only being forced off then it will // Check that when the pref is managed and only being forced off then it will
// be invisible. // be invisible.
static_cast<TestingPrefServiceSimple*>(prefs)->SetManagedPref( static_cast<TestingPrefServiceSimple*>(prefs)->SetManagedPref(
...@@ -655,7 +655,7 @@ TEST_F(AccessibilityControllerTest, VirtualKeyboardTrayMenuVisibility) { ...@@ -655,7 +655,7 @@ TEST_F(AccessibilityControllerTest, VirtualKeyboardTrayMenuVisibility) {
EXPECT_TRUE( EXPECT_TRUE(
prefs->IsManagedPreference(prefs::kAccessibilityVirtualKeyboardEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityVirtualKeyboardEnabled));
EXPECT_FALSE(controller->virtual_keyboard().enabled()); EXPECT_FALSE(controller->virtual_keyboard().enabled());
EXPECT_FALSE(controller->virtual_keyboard().IsVisibleInTray()); EXPECT_FALSE(controller->IsVirtualKeyboardSettingVisibleInTray());
} }
TEST_F(AccessibilityControllerTest, SwitchAccessTrayMenuVisibility) { TEST_F(AccessibilityControllerTest, SwitchAccessTrayMenuVisibility) {
...@@ -670,13 +670,13 @@ TEST_F(AccessibilityControllerTest, SwitchAccessTrayMenuVisibility) { ...@@ -670,13 +670,13 @@ TEST_F(AccessibilityControllerTest, SwitchAccessTrayMenuVisibility) {
EXPECT_FALSE( EXPECT_FALSE(
prefs->IsManagedPreference(prefs::kAccessibilitySwitchAccessEnabled)); prefs->IsManagedPreference(prefs::kAccessibilitySwitchAccessEnabled));
EXPECT_TRUE(controller->switch_access().enabled()); EXPECT_TRUE(controller->switch_access().enabled());
EXPECT_TRUE(controller->switch_access().IsVisibleInTray()); EXPECT_TRUE(controller->IsSwitchAccessSettingVisibleInTray());
// Check when the value is false and not being controlled by any policy. // Check when the value is false and not being controlled by any policy.
controller->switch_access().SetEnabled(false); controller->switch_access().SetEnabled(false);
EXPECT_FALSE( EXPECT_FALSE(
prefs->IsManagedPreference(prefs::kAccessibilitySwitchAccessEnabled)); prefs->IsManagedPreference(prefs::kAccessibilitySwitchAccessEnabled));
EXPECT_FALSE(controller->switch_access().enabled()); EXPECT_FALSE(controller->switch_access().enabled());
EXPECT_TRUE(controller->switch_access().IsVisibleInTray()); EXPECT_TRUE(controller->IsSwitchAccessSettingVisibleInTray());
// Check that when the pref is managed and being forced on then it will be // Check that when the pref is managed and being forced on then it will be
// visible. // visible.
...@@ -685,7 +685,7 @@ TEST_F(AccessibilityControllerTest, SwitchAccessTrayMenuVisibility) { ...@@ -685,7 +685,7 @@ TEST_F(AccessibilityControllerTest, SwitchAccessTrayMenuVisibility) {
std::make_unique<base::Value>(true)); std::make_unique<base::Value>(true));
EXPECT_TRUE( EXPECT_TRUE(
prefs->IsManagedPreference(prefs::kAccessibilitySwitchAccessEnabled)); prefs->IsManagedPreference(prefs::kAccessibilitySwitchAccessEnabled));
EXPECT_TRUE(controller->switch_access().IsVisibleInTray()); EXPECT_TRUE(controller->IsSwitchAccessSettingVisibleInTray());
// Check that when the pref is managed and only being forced off then it will // Check that when the pref is managed and only being forced off then it will
// be invisible. // be invisible.
static_cast<TestingPrefServiceSimple*>(prefs)->SetManagedPref( static_cast<TestingPrefServiceSimple*>(prefs)->SetManagedPref(
...@@ -694,7 +694,7 @@ TEST_F(AccessibilityControllerTest, SwitchAccessTrayMenuVisibility) { ...@@ -694,7 +694,7 @@ TEST_F(AccessibilityControllerTest, SwitchAccessTrayMenuVisibility) {
EXPECT_TRUE( EXPECT_TRUE(
prefs->IsManagedPreference(prefs::kAccessibilitySwitchAccessEnabled)); prefs->IsManagedPreference(prefs::kAccessibilitySwitchAccessEnabled));
EXPECT_FALSE(controller->switch_access().enabled()); EXPECT_FALSE(controller->switch_access().enabled());
EXPECT_FALSE(controller->switch_access().IsVisibleInTray()); EXPECT_FALSE(controller->IsSwitchAccessSettingVisibleInTray());
} }
TEST_F(AccessibilityControllerTest, FocusHighlightTrayMenuVisibility) { TEST_F(AccessibilityControllerTest, FocusHighlightTrayMenuVisibility) {
...@@ -709,13 +709,13 @@ TEST_F(AccessibilityControllerTest, FocusHighlightTrayMenuVisibility) { ...@@ -709,13 +709,13 @@ TEST_F(AccessibilityControllerTest, FocusHighlightTrayMenuVisibility) {
EXPECT_FALSE( EXPECT_FALSE(
prefs->IsManagedPreference(prefs::kAccessibilityFocusHighlightEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityFocusHighlightEnabled));
EXPECT_TRUE(controller->focus_highlight().enabled()); EXPECT_TRUE(controller->focus_highlight().enabled());
EXPECT_TRUE(controller->focus_highlight().IsVisibleInTray()); EXPECT_TRUE(controller->IsFocusHighlightSettingVisibleInTray());
// Check when the value is false and not being controlled by any policy. // Check when the value is false and not being controlled by any policy.
controller->focus_highlight().SetEnabled(false); controller->focus_highlight().SetEnabled(false);
EXPECT_FALSE( EXPECT_FALSE(
prefs->IsManagedPreference(prefs::kAccessibilityFocusHighlightEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityFocusHighlightEnabled));
EXPECT_FALSE(controller->focus_highlight().enabled()); EXPECT_FALSE(controller->focus_highlight().enabled());
EXPECT_TRUE(controller->focus_highlight().IsVisibleInTray()); EXPECT_TRUE(controller->IsFocusHighlightSettingVisibleInTray());
// Check that when the pref is managed and being forced on then it will be // Check that when the pref is managed and being forced on then it will be
// visible. // visible.
...@@ -724,7 +724,7 @@ TEST_F(AccessibilityControllerTest, FocusHighlightTrayMenuVisibility) { ...@@ -724,7 +724,7 @@ TEST_F(AccessibilityControllerTest, FocusHighlightTrayMenuVisibility) {
std::make_unique<base::Value>(true)); std::make_unique<base::Value>(true));
EXPECT_TRUE( EXPECT_TRUE(
prefs->IsManagedPreference(prefs::kAccessibilityFocusHighlightEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityFocusHighlightEnabled));
EXPECT_TRUE(controller->focus_highlight().IsVisibleInTray()); EXPECT_TRUE(controller->IsFocusHighlightSettingVisibleInTray());
// Check that when the pref is managed and only being forced off then it will // Check that when the pref is managed and only being forced off then it will
// be invisible. // be invisible.
static_cast<TestingPrefServiceSimple*>(prefs)->SetManagedPref( static_cast<TestingPrefServiceSimple*>(prefs)->SetManagedPref(
...@@ -733,7 +733,7 @@ TEST_F(AccessibilityControllerTest, FocusHighlightTrayMenuVisibility) { ...@@ -733,7 +733,7 @@ TEST_F(AccessibilityControllerTest, FocusHighlightTrayMenuVisibility) {
EXPECT_TRUE( EXPECT_TRUE(
prefs->IsManagedPreference(prefs::kAccessibilityFocusHighlightEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityFocusHighlightEnabled));
EXPECT_FALSE(controller->focus_highlight().enabled()); EXPECT_FALSE(controller->focus_highlight().enabled());
EXPECT_FALSE(controller->focus_highlight().IsVisibleInTray()); EXPECT_FALSE(controller->IsFocusHighlightSettingVisibleInTray());
} }
TEST_F(AccessibilityControllerTest, StickyKeysTrayMenuVisibility) { TEST_F(AccessibilityControllerTest, StickyKeysTrayMenuVisibility) {
...@@ -748,13 +748,13 @@ TEST_F(AccessibilityControllerTest, StickyKeysTrayMenuVisibility) { ...@@ -748,13 +748,13 @@ TEST_F(AccessibilityControllerTest, StickyKeysTrayMenuVisibility) {
EXPECT_FALSE( EXPECT_FALSE(
prefs->IsManagedPreference(prefs::kAccessibilityStickyKeysEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityStickyKeysEnabled));
EXPECT_TRUE(controller->sticky_keys().enabled()); EXPECT_TRUE(controller->sticky_keys().enabled());
EXPECT_TRUE(controller->sticky_keys().IsVisibleInTray()); EXPECT_TRUE(controller->IsStickyKeysSettingVisibleInTray());
// Check when the value is false and not being controlled by any policy. // Check when the value is false and not being controlled by any policy.
controller->sticky_keys().SetEnabled(false); controller->sticky_keys().SetEnabled(false);
EXPECT_FALSE( EXPECT_FALSE(
prefs->IsManagedPreference(prefs::kAccessibilityStickyKeysEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityStickyKeysEnabled));
EXPECT_FALSE(controller->sticky_keys().enabled()); EXPECT_FALSE(controller->sticky_keys().enabled());
EXPECT_TRUE(controller->sticky_keys().IsVisibleInTray()); EXPECT_TRUE(controller->IsStickyKeysSettingVisibleInTray());
// Check that when the pref is managed and being forced on then it will be // Check that when the pref is managed and being forced on then it will be
// visible. // visible.
...@@ -763,7 +763,7 @@ TEST_F(AccessibilityControllerTest, StickyKeysTrayMenuVisibility) { ...@@ -763,7 +763,7 @@ TEST_F(AccessibilityControllerTest, StickyKeysTrayMenuVisibility) {
std::make_unique<base::Value>(true)); std::make_unique<base::Value>(true));
EXPECT_TRUE( EXPECT_TRUE(
prefs->IsManagedPreference(prefs::kAccessibilityStickyKeysEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityStickyKeysEnabled));
EXPECT_TRUE(controller->sticky_keys().IsVisibleInTray()); EXPECT_TRUE(controller->IsStickyKeysSettingVisibleInTray());
// Check that when the pref is managed and only being forced off then it will // Check that when the pref is managed and only being forced off then it will
// be invisible. // be invisible.
static_cast<TestingPrefServiceSimple*>(prefs)->SetManagedPref( static_cast<TestingPrefServiceSimple*>(prefs)->SetManagedPref(
...@@ -772,7 +772,7 @@ TEST_F(AccessibilityControllerTest, StickyKeysTrayMenuVisibility) { ...@@ -772,7 +772,7 @@ TEST_F(AccessibilityControllerTest, StickyKeysTrayMenuVisibility) {
EXPECT_TRUE( EXPECT_TRUE(
prefs->IsManagedPreference(prefs::kAccessibilityStickyKeysEnabled)); prefs->IsManagedPreference(prefs::kAccessibilityStickyKeysEnabled));
EXPECT_FALSE(controller->sticky_keys().enabled()); EXPECT_FALSE(controller->sticky_keys().enabled());
EXPECT_FALSE(controller->sticky_keys().IsVisibleInTray()); EXPECT_FALSE(controller->IsStickyKeysSettingVisibleInTray());
} }
TEST_F(AccessibilityControllerTest, DisableLargeCursorResetsSize) { TEST_F(AccessibilityControllerTest, DisableLargeCursorResetsSize) {
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#include <memory> #include <memory>
#include <utility> #include <utility>
#include "ash/accessibility/accessibility_controller_impl.h"
#include "ash/accessibility/accessibility_delegate.h" #include "ash/accessibility/accessibility_delegate.h"
#include "ash/magnifier/docked_magnifier_controller_impl.h" #include "ash/magnifier/docked_magnifier_controller_impl.h"
#include "ash/public/cpp/ash_features.h" #include "ash/public/cpp/ash_features.h"
...@@ -31,7 +32,6 @@ namespace ash { ...@@ -31,7 +32,6 @@ namespace ash {
namespace { namespace {
using ml::UserSettingsEvent; using ml::UserSettingsEvent;
using FeatureType = AccessibilityControllerImpl::FeatureType;
enum AccessibilityState { enum AccessibilityState {
A11Y_NONE = 0, A11Y_NONE = 0,
...@@ -52,17 +52,6 @@ enum AccessibilityState { ...@@ -52,17 +52,6 @@ enum AccessibilityState {
A11Y_SWITCH_ACCESS = 1 << 14, A11Y_SWITCH_ACCESS = 1 << 14,
}; };
const FeatureType kPrimaryA11yOptions[] = {
FeatureType::kSpokenFeedback, FeatureType::kSelectToSpeak,
FeatureType::kDictation, FeatureType::kHighContrast,
FeatureType::kFullscreenMagnifier, FeatureType::kDockedMagnifier,
FeatureType::kAutoclick, FeatureType::kVirtualKeyboard,
FeatureType::kSwitchAccess};
const FeatureType kSecondaryA11yOptions[] = {
FeatureType::kLargeCursor, FeatureType::kMonoAudio,
FeatureType::kCaretHighlight, FeatureType::kCursorHighlight,
FeatureType::kFocusHighlight, FeatureType::kStickyKeys};
void LogUserAccessibilityEvent(UserSettingsEvent::Event::AccessibilityId id, void LogUserAccessibilityEvent(UserSettingsEvent::Event::AccessibilityId id,
bool new_state) { bool new_state) {
auto* logger = ml::UserSettingsEventLogger::Get(); auto* logger = ml::UserSettingsEventLogger::Get();
...@@ -71,103 +60,6 @@ void LogUserAccessibilityEvent(UserSettingsEvent::Event::AccessibilityId id, ...@@ -71,103 +60,6 @@ void LogUserAccessibilityEvent(UserSettingsEvent::Event::AccessibilityId id,
} }
} }
const struct FeatureData {
FeatureType type;
int description;
UserSettingsEvent::Event::AccessibilityId event_id;
const char* action_enabled;
const char* action_disabled;
} kFeaturesData[] = {
{FeatureType::kAutoclick, IDS_ASH_STATUS_TRAY_ACCESSIBILITY_AUTOCLICK,
UserSettingsEvent::Event::AUTO_CLICK, "StatusArea_AutoClickEnabled",
"StatusArea_AutoClickDisabled"},
{FeatureType::kCaretHighlight,
IDS_ASH_STATUS_TRAY_ACCESSIBILITY_CARET_HIGHLIGHT,
UserSettingsEvent::Event::CARET_HIGHLIGHT,
"StatusArea_CaretHighlightEnabled", "StatusArea_CaretHighlightDisabled"},
{FeatureType::kCursorHighlight,
IDS_ASH_STATUS_TRAY_ACCESSIBILITY_HIGHLIGHT_MOUSE_CURSOR,
UserSettingsEvent::Event::HIGHLIGHT_MOUSE_CURSOR,
"StatusArea_CursorHighlightEnabled", "StatusArea_CursorHighlightDisabled"},
{FeatureType::kDictation, IDS_ASH_STATUS_TRAY_ACCESSIBILITY_DICTATION,
UserSettingsEvent::Event::DICTATION, "StatusArea_DictationEnabled",
"StatusArea_DictationDisabled"},
{FeatureType::kFocusHighlight,
IDS_ASH_STATUS_TRAY_ACCESSIBILITY_HIGHLIGHT_KEYBOARD_FOCUS,
UserSettingsEvent::Event::HIGHLIGHT_KEYBOARD_FOCUS,
"StatusArea_FocusHighlightEnabled", "StatusArea_FocusHighlightDisabled"},
{FeatureType::kFullscreenMagnifier,
IDS_ASH_STATUS_TRAY_ACCESSIBILITY_SCREEN_MAGNIFIER,
UserSettingsEvent::Event::MAGNIFIER, "StatusArea_ScreenMagnifierEnabled",
"StatusArea_ScreenMagnifierDisabled"},
{FeatureType::kDockedMagnifier,
IDS_ASH_STATUS_TRAY_ACCESSIBILITY_DOCKED_MAGNIFIER,
UserSettingsEvent::Event::DOCKED_MAGNIFIER,
"StatusArea_DockedMagnifierEnabled", "StatusArea_DockedMagnifierDisabled"},
{FeatureType::kHighContrast,
IDS_ASH_STATUS_TRAY_ACCESSIBILITY_HIGH_CONTRAST_MODE,
UserSettingsEvent::Event::HIGH_CONTRAST, "StatusArea_HighContrastEnabled",
"StatusArea_HighContrastDisabled"},
{FeatureType::kLargeCursor, IDS_ASH_STATUS_TRAY_ACCESSIBILITY_LARGE_CURSOR,
UserSettingsEvent::Event::LARGE_CURSOR, "StatusArea_LargeCursorEnabled",
"StatusArea_LargeCursorDisabled"},
{FeatureType::kMonoAudio, IDS_ASH_STATUS_TRAY_ACCESSIBILITY_MONO_AUDIO,
UserSettingsEvent::Event::MONO_AUDIO, "StatusArea_MonoAudioEnabled",
"StatusArea_MonoAudioDisabled"},
{FeatureType::kSpokenFeedback,
IDS_ASH_STATUS_TRAY_ACCESSIBILITY_SPOKEN_FEEDBACK,
UserSettingsEvent::Event::SPOKEN_FEEDBACK,
"StatusArea_SpokenFeedbackEnabled", "StatusArea_SpokenFeedbackDisabled"},
{FeatureType::kSelectToSpeak,
IDS_ASH_STATUS_TRAY_ACCESSIBILITY_SELECT_TO_SPEAK,
UserSettingsEvent::Event::SELECT_TO_SPEAK,
"StatusArea_SelectToSpeakEnabled", "StatusArea_SelectToSpeakDisabled"},
{FeatureType::kStickyKeys, IDS_ASH_STATUS_TRAY_ACCESSIBILITY_STICKY_KEYS,
UserSettingsEvent::Event::STICKY_KEYS, "StatusArea_StickyKeysEnabled",
"StatusArea_StickyKeysDisabled"},
{FeatureType::kSwitchAccess,
IDS_ASH_STATUS_TRAY_ACCESSIBILITY_SWITCH_ACCESS,
UserSettingsEvent::Event::SWITCH_ACCESS, "StatusArea_SwitchAccessEnabled",
"StatusArea_SwitchAccessDisabled"},
{FeatureType::kVirtualKeyboard,
IDS_ASH_STATUS_TRAY_ACCESSIBILITY_VIRTUAL_KEYBOARD,
UserSettingsEvent::Event::VIRTUAL_KEYBOARD,
"StatusArea_VirtualKeyboardEnabled",
"StatusArea_VirtualKeyboardDisabled"}};
const FeatureData& GetDataForFeature(FeatureType type) {
for (const auto& data : kFeaturesData) {
if (data.type == type)
return data;
}
NOTREACHED();
static FeatureData unknown;
return unknown;
}
bool IsPrimarySettingsViewVisibleInTray() {
AccessibilityControllerImpl* controller =
Shell::Get()->accessibility_controller();
for (FeatureType feature : kPrimaryA11yOptions)
if (controller->GetFeature(feature).IsVisibleInTray())
return true;
return false;
}
bool IsAdditionalSettingsViewVisibleInTray() {
AccessibilityControllerImpl* controller =
Shell::Get()->accessibility_controller();
for (FeatureType feature : kSecondaryA11yOptions)
if (controller->GetFeature(feature).IsVisibleInTray())
return true;
return false;
}
bool IsAdditionalSettingsSeparatorVisibleInTray() {
return IsPrimarySettingsViewVisibleInTray() &&
IsAdditionalSettingsViewVisibleInTray();
}
} // namespace } // namespace
namespace tray { namespace tray {
...@@ -187,17 +79,107 @@ AccessibilityDetailedView::AccessibilityDetailedView( ...@@ -187,17 +79,107 @@ AccessibilityDetailedView::AccessibilityDetailedView(
} }
void AccessibilityDetailedView::OnAccessibilityStatusChanged() { void AccessibilityDetailedView::OnAccessibilityStatusChanged() {
AccessibilityDelegate* delegate = Shell::Get()->accessibility_delegate();
AccessibilityControllerImpl* controller = AccessibilityControllerImpl* controller =
Shell::Get()->accessibility_controller(); Shell::Get()->accessibility_controller();
for (int feature_id = 0; feature_id < FeatureType::kFeatureCount;
feature_id++) { if (spoken_feedback_view_ &&
AccessibilityControllerImpl::Feature& feature = controller->IsSpokenFeedbackSettingVisibleInTray()) {
controller->GetFeature(static_cast<FeatureType>(feature_id)); spoken_feedback_enabled_ = controller->spoken_feedback().enabled();
features_enabled_[feature_id] = feature.enabled(); TrayPopupUtils::UpdateCheckMarkVisibility(spoken_feedback_view_,
if (feature.IsVisibleInTray() && feature_views_[feature_id]) { spoken_feedback_enabled_);
TrayPopupUtils::UpdateCheckMarkVisibility(feature_views_[feature_id], }
feature.enabled());
if (select_to_speak_view_ &&
controller->IsSelectToSpeakSettingVisibleInTray()) {
select_to_speak_enabled_ = controller->select_to_speak().enabled();
TrayPopupUtils::UpdateCheckMarkVisibility(select_to_speak_view_,
select_to_speak_enabled_);
}
if (dictation_view_ && controller->IsDictationSettingVisibleInTray()) {
dictation_enabled_ = controller->dictation().enabled();
TrayPopupUtils::UpdateCheckMarkVisibility(dictation_view_,
dictation_enabled_);
}
if (high_contrast_view_ && controller->IsHighContrastSettingVisibleInTray()) {
high_contrast_enabled_ = controller->high_contrast().enabled();
TrayPopupUtils::UpdateCheckMarkVisibility(high_contrast_view_,
high_contrast_enabled_);
}
if (screen_magnifier_view_ &&
controller->IsFullScreenMagnifierSettingVisibleInTray()) {
screen_magnifier_enabled_ = delegate->IsMagnifierEnabled();
TrayPopupUtils::UpdateCheckMarkVisibility(screen_magnifier_view_,
screen_magnifier_enabled_);
}
if (docked_magnifier_view_ &&
controller->IsDockedMagnifierSettingVisibleInTray()) {
docked_magnifier_enabled_ =
Shell::Get()->docked_magnifier_controller()->GetEnabled();
TrayPopupUtils::UpdateCheckMarkVisibility(docked_magnifier_view_,
docked_magnifier_enabled_);
}
if (autoclick_view_ && controller->IsAutoclickSettingVisibleInTray()) {
autoclick_enabled_ = controller->autoclick().enabled();
TrayPopupUtils::UpdateCheckMarkVisibility(autoclick_view_,
autoclick_enabled_);
}
if (virtual_keyboard_view_ &&
controller->IsVirtualKeyboardSettingVisibleInTray()) {
virtual_keyboard_enabled_ = controller->virtual_keyboard().enabled();
TrayPopupUtils::UpdateCheckMarkVisibility(virtual_keyboard_view_,
virtual_keyboard_enabled_);
}
if (switch_access_view_ && controller->IsSwitchAccessSettingVisibleInTray()) {
switch_access_enabled_ = controller->switch_access().enabled();
TrayPopupUtils::UpdateCheckMarkVisibility(switch_access_view_,
switch_access_enabled_);
}
if (large_cursor_view_ && controller->IsLargeCursorSettingVisibleInTray()) {
large_cursor_enabled_ = controller->large_cursor().enabled();
TrayPopupUtils::UpdateCheckMarkVisibility(large_cursor_view_,
large_cursor_enabled_);
}
if (mono_audio_view_ && controller->IsMonoAudioSettingVisibleInTray()) {
mono_audio_enabled_ = controller->mono_audio().enabled();
TrayPopupUtils::UpdateCheckMarkVisibility(mono_audio_view_,
mono_audio_enabled_);
}
if (caret_highlight_view_ &&
controller->IsCaretHighlightSettingVisibleInTray()) {
caret_highlight_enabled_ = controller->caret_highlight().enabled();
TrayPopupUtils::UpdateCheckMarkVisibility(caret_highlight_view_,
caret_highlight_enabled_);
}
if (highlight_mouse_cursor_view_ &&
controller->IsCursorHighlightSettingVisibleInTray()) {
highlight_mouse_cursor_enabled_ = controller->cursor_highlight().enabled();
TrayPopupUtils::UpdateCheckMarkVisibility(highlight_mouse_cursor_view_,
highlight_mouse_cursor_enabled_);
} }
if (highlight_keyboard_focus_view_ &&
controller->IsFocusHighlightSettingVisibleInTray()) {
highlight_keyboard_focus_enabled_ = controller->focus_highlight().enabled();
TrayPopupUtils::UpdateCheckMarkVisibility(
highlight_keyboard_focus_view_, highlight_keyboard_focus_enabled_);
}
if (sticky_keys_view_ && controller->IsStickyKeysSettingVisibleInTray()) {
sticky_keys_enabled_ = controller->sticky_keys().enabled();
TrayPopupUtils::UpdateCheckMarkVisibility(sticky_keys_view_,
sticky_keys_enabled_);
} }
} }
...@@ -207,84 +189,309 @@ const char* AccessibilityDetailedView::GetClassName() const { ...@@ -207,84 +189,309 @@ const char* AccessibilityDetailedView::GetClassName() const {
void AccessibilityDetailedView::AppendAccessibilityList() { void AccessibilityDetailedView::AppendAccessibilityList() {
CreateScrollableList(); CreateScrollableList();
// We need to reset all existing feature views.
for (int feature_id = 0; feature_id < FeatureType::kFeatureCount;
feature_id++) {
feature_views_[feature_id] = nullptr;
}
AccessibilityDelegate* delegate = Shell::Get()->accessibility_delegate();
AccessibilityControllerImpl* controller = AccessibilityControllerImpl* controller =
Shell::Get()->accessibility_controller(); Shell::Get()->accessibility_controller();
for (FeatureType feature_type : kPrimaryA11yOptions) {
AccessibilityControllerImpl::Feature& feature = if (controller->IsSpokenFeedbackSettingVisibleInTray()) {
controller->GetFeature(feature_type); spoken_feedback_enabled_ = controller->spoken_feedback().enabled();
features_enabled_[feature_type] = feature.enabled(); spoken_feedback_view_ = AddScrollListCheckableItem(
if (feature.IsVisibleInTray()) { kSystemMenuAccessibilityChromevoxIcon,
feature_views_[feature_type] = AddScrollListCheckableItem( l10n_util::GetStringUTF16(
feature.icon(), IDS_ASH_STATUS_TRAY_ACCESSIBILITY_SPOKEN_FEEDBACK),
spoken_feedback_enabled_,
controller->IsEnterpriseIconVisibleForSpokenFeedback());
}
if (controller->IsSelectToSpeakSettingVisibleInTray()) {
select_to_speak_enabled_ = controller->select_to_speak().enabled();
select_to_speak_view_ = AddScrollListCheckableItem(
kSystemMenuAccessibilitySelectToSpeakIcon,
l10n_util::GetStringUTF16(
IDS_ASH_STATUS_TRAY_ACCESSIBILITY_SELECT_TO_SPEAK),
select_to_speak_enabled_,
controller->IsEnterpriseIconVisibleForSelectToSpeak());
}
if (controller->IsDictationSettingVisibleInTray()) {
dictation_enabled_ = controller->dictation().enabled();
dictation_view_ = AddScrollListCheckableItem(
kDictationMenuIcon,
l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_ACCESSIBILITY_DICTATION),
dictation_enabled_, controller->IsEnterpriseIconVisibleForDictation());
}
if (controller->IsHighContrastSettingVisibleInTray()) {
high_contrast_enabled_ = controller->high_contrast().enabled();
high_contrast_view_ = AddScrollListCheckableItem(
kSystemMenuAccessibilityContrastIcon,
l10n_util::GetStringUTF16(
IDS_ASH_STATUS_TRAY_ACCESSIBILITY_HIGH_CONTRAST_MODE),
high_contrast_enabled_,
controller->IsEnterpriseIconVisibleForHighContrast());
}
if (controller->IsFullScreenMagnifierSettingVisibleInTray()) {
screen_magnifier_enabled_ = delegate->IsMagnifierEnabled();
screen_magnifier_view_ = AddScrollListCheckableItem(
kSystemMenuAccessibilityFullscreenMagnifierIcon,
l10n_util::GetStringUTF16(
IDS_ASH_STATUS_TRAY_ACCESSIBILITY_SCREEN_MAGNIFIER),
screen_magnifier_enabled_,
controller->IsEnterpriseIconVisibleForFullScreenMagnifier());
}
if (controller->IsDockedMagnifierSettingVisibleInTray()) {
docked_magnifier_enabled_ =
Shell::Get()->docked_magnifier_controller()->GetEnabled();
docked_magnifier_view_ = AddScrollListCheckableItem(
kSystemMenuAccessibilityDockedMagnifierIcon,
l10n_util::GetStringUTF16( l10n_util::GetStringUTF16(
GetDataForFeature(feature_type).description), IDS_ASH_STATUS_TRAY_ACCESSIBILITY_DOCKED_MAGNIFIER),
feature.enabled(), feature.IsEnterpriseIconVisible()); docked_magnifier_enabled_,
controller->IsEnterpriseIconVisibleForDockedMagnifier());
} }
if (controller->IsAutoclickSettingVisibleInTray()) {
autoclick_enabled_ = controller->autoclick().enabled();
autoclick_view_ = AddScrollListCheckableItem(
kSystemMenuAccessibilityAutoClickIcon,
l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_ACCESSIBILITY_AUTOCLICK),
autoclick_enabled_, controller->IsEnterpriseIconVisibleForAutoclick());
} }
if (feature_views_[FeatureType::kVirtualKeyboard]) { if (controller->IsVirtualKeyboardSettingVisibleInTray()) {
HoverHighlightView* virtual_keyboard_view = virtual_keyboard_enabled_ = controller->virtual_keyboard().enabled();
feature_views_[FeatureType::kVirtualKeyboard]; virtual_keyboard_view_ = AddScrollListCheckableItem(
virtual_keyboard_view->SetID(ash::VIEW_ID_ACCESSIBILITY_VIRTUAL_KEYBOARD); kSystemMenuKeyboardIcon,
virtual_keyboard_view->right_view()->SetID( l10n_util::GetStringUTF16(
IDS_ASH_STATUS_TRAY_ACCESSIBILITY_VIRTUAL_KEYBOARD),
virtual_keyboard_enabled_,
controller->IsEnterpriseIconVisibleForVirtualKeyboard());
virtual_keyboard_view_->SetID(ash::VIEW_ID_ACCESSIBILITY_VIRTUAL_KEYBOARD);
virtual_keyboard_view_->right_view()->SetID(
ash::VIEW_ID_ACCESSIBILITY_VIRTUAL_KEYBOARD_ENABLED); ash::VIEW_ID_ACCESSIBILITY_VIRTUAL_KEYBOARD_ENABLED);
} }
if (IsAdditionalSettingsSeparatorVisibleInTray()) if (controller->IsSwitchAccessSettingVisibleInTray()) {
switch_access_enabled_ = controller->switch_access().enabled();
switch_access_view_ = AddScrollListCheckableItem(
kSwitchAccessIcon,
l10n_util::GetStringUTF16(
IDS_ASH_STATUS_TRAY_ACCESSIBILITY_SWITCH_ACCESS),
switch_access_enabled_,
controller->IsEnterpriseIconVisibleForSwitchAccess());
}
if (controller->IsAdditionalSettingsSeparatorVisibleInTray())
scroll_content()->AddChildView(CreateListSubHeaderSeparator()); scroll_content()->AddChildView(CreateListSubHeaderSeparator());
if (IsAdditionalSettingsViewVisibleInTray()) { if (controller->IsAdditionalSettingsViewVisibleInTray()) {
AddScrollListSubHeader( AddScrollListSubHeader(
IDS_ASH_STATUS_TRAY_ACCESSIBILITY_ADDITIONAL_SETTINGS); IDS_ASH_STATUS_TRAY_ACCESSIBILITY_ADDITIONAL_SETTINGS);
} }
for (FeatureType feature_type : kSecondaryA11yOptions) { if (controller->IsLargeCursorSettingVisibleInTray()) {
AccessibilityControllerImpl::Feature& feature = large_cursor_enabled_ = controller->large_cursor().enabled();
controller->GetFeature(feature_type); large_cursor_view_ = AddScrollListCheckableItem(
features_enabled_[feature_type] = feature.enabled();
if (feature.IsVisibleInTray()) {
feature_views_[feature_type] = AddScrollListCheckableItem(
l10n_util::GetStringUTF16( l10n_util::GetStringUTF16(
GetDataForFeature(feature_type).description), IDS_ASH_STATUS_TRAY_ACCESSIBILITY_LARGE_CURSOR),
feature.enabled(), feature.IsEnterpriseIconVisible()); large_cursor_enabled_,
controller->IsEnterpriseIconVisibleForLargeCursor());
} }
if (controller->IsMonoAudioSettingVisibleInTray()) {
mono_audio_enabled_ = controller->mono_audio().enabled();
mono_audio_view_ = AddScrollListCheckableItem(
l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_ACCESSIBILITY_MONO_AUDIO),
mono_audio_enabled_, controller->IsEnterpriseIconVisibleForMonoAudio());
}
if (controller->IsCaretHighlightSettingVisibleInTray()) {
caret_highlight_enabled_ = controller->caret_highlight().enabled();
caret_highlight_view_ = AddScrollListCheckableItem(
l10n_util::GetStringUTF16(
IDS_ASH_STATUS_TRAY_ACCESSIBILITY_CARET_HIGHLIGHT),
caret_highlight_enabled_,
controller->IsEnterpriseIconVisibleForCaretHighlight());
}
if (controller->IsCursorHighlightSettingVisibleInTray()) {
highlight_mouse_cursor_enabled_ = controller->cursor_highlight().enabled();
highlight_mouse_cursor_view_ = AddScrollListCheckableItem(
l10n_util::GetStringUTF16(
IDS_ASH_STATUS_TRAY_ACCESSIBILITY_HIGHLIGHT_MOUSE_CURSOR),
highlight_mouse_cursor_enabled_,
controller->IsEnterpriseIconVisibleForCursorHighlight());
}
// Focus highlighting can't be on when spoken feedback is on because
// ChromeVox does its own focus highlighting.
if (!spoken_feedback_enabled_ &&
controller->IsFocusHighlightSettingVisibleInTray()) {
highlight_keyboard_focus_enabled_ = controller->focus_highlight().enabled();
highlight_keyboard_focus_view_ = AddScrollListCheckableItem(
l10n_util::GetStringUTF16(
IDS_ASH_STATUS_TRAY_ACCESSIBILITY_HIGHLIGHT_KEYBOARD_FOCUS),
highlight_keyboard_focus_enabled_,
controller->IsEnterpriseIconVisibleForFocusHighlight());
}
if (controller->IsStickyKeysSettingVisibleInTray()) {
sticky_keys_enabled_ = controller->sticky_keys().enabled();
sticky_keys_view_ = AddScrollListCheckableItem(
l10n_util::GetStringUTF16(
IDS_ASH_STATUS_TRAY_ACCESSIBILITY_STICKY_KEYS),
sticky_keys_enabled_,
controller->IsEnterpriseIconVisibleForStickyKeys());
} }
} }
void AccessibilityDetailedView::HandleViewClicked(views::View* view) { void AccessibilityDetailedView::HandleViewClicked(views::View* view) {
AccessibilityDelegate* delegate = Shell::Get()->accessibility_delegate();
AccessibilityControllerImpl* controller = AccessibilityControllerImpl* controller =
Shell::Get()->accessibility_controller(); Shell::Get()->accessibility_controller();
using base::RecordAction; using base::RecordAction;
using base::UserMetricsAction; using base::UserMetricsAction;
if (spoken_feedback_view_ && view == spoken_feedback_view_ &&
for (int feature_id = 0; feature_id < FeatureType::kFeatureCount; !controller->IsEnterpriseIconVisibleForSpokenFeedback()) {
feature_id++) { bool new_state = !controller->spoken_feedback().enabled();
AccessibilityControllerImpl::Feature& feature = RecordAction(new_state
controller->GetFeature(static_cast<FeatureType>(feature_id)); ? UserMetricsAction("StatusArea_SpokenFeedbackEnabled")
if (feature_views_[feature_id] && view == feature_views_[feature_id] && : UserMetricsAction("StatusArea_SpokenFeedbackDisabled"));
!feature.IsEnterpriseIconVisible()) { LogUserAccessibilityEvent(UserSettingsEvent::Event::SPOKEN_FEEDBACK,
bool new_state = !feature.enabled(); new_state);
const FeatureData& feature_data = GetDataForFeature(feature.type()); controller->SetSpokenFeedbackEnabled(new_state, A11Y_NOTIFICATION_NONE);
RecordAction(UserMetricsAction(new_state ? feature_data.action_enabled } else if (select_to_speak_view_ && view == select_to_speak_view_ &&
: feature_data.action_disabled)); !controller->IsEnterpriseIconVisibleForSelectToSpeak()) {
LogUserAccessibilityEvent(feature_data.event_id, new_state); bool new_state = !controller->select_to_speak().enabled();
RecordAction(new_state
? UserMetricsAction("StatusArea_SelectToSpeakEnabled")
: UserMetricsAction("StatusArea_SelectToSpeakDisabled"));
LogUserAccessibilityEvent(UserSettingsEvent::Event::SELECT_TO_SPEAK,
new_state);
controller->select_to_speak().SetEnabled(new_state);
} else if (dictation_view_ && view == dictation_view_ &&
!controller->IsEnterpriseIconVisibleForDictation()) {
bool new_state = !controller->dictation().enabled();
RecordAction(new_state ? UserMetricsAction("StatusArea_DictationEnabled")
: UserMetricsAction("StatusArea_DictationDisabled"));
LogUserAccessibilityEvent(UserSettingsEvent::Event::DICTATION, new_state);
controller->dictation().SetEnabled(new_state);
} else if (high_contrast_view_ && view == high_contrast_view_ &&
!controller->IsEnterpriseIconVisibleForHighContrast()) {
bool new_state = !controller->high_contrast().enabled();
RecordAction(new_state
? UserMetricsAction("StatusArea_HighContrastEnabled")
: UserMetricsAction("StatusArea_HighContrastDisabled"));
LogUserAccessibilityEvent(UserSettingsEvent::Event::HIGH_CONTRAST,
new_state);
controller->high_contrast().SetEnabled(new_state);
} else if (screen_magnifier_view_ && view == screen_magnifier_view_ &&
!controller->IsEnterpriseIconVisibleForFullScreenMagnifier()) {
bool new_state = !delegate->IsMagnifierEnabled();
RecordAction(new_state ? UserMetricsAction("StatusArea_MagnifierEnabled")
: UserMetricsAction("StatusArea_MagnifierDisabled"));
LogUserAccessibilityEvent(UserSettingsEvent::Event::MAGNIFIER, new_state);
delegate->SetMagnifierEnabled(new_state);
} else if (docked_magnifier_view_ && view == docked_magnifier_view_ &&
!controller->IsEnterpriseIconVisibleForDockedMagnifier()) {
auto* docked_magnifier_controller =
Shell::Get()->docked_magnifier_controller();
const bool new_state = !docked_magnifier_controller->GetEnabled();
// Close the system tray bubble as the available screen space has changed // Close the system tray bubble as the available screen space has changed
// E.g. there may not be enough screen space to display the current bubble // E.g. there may not be enough screen space to display the current bubble
// after enabling the docked magnifier or more space is made available // after enabling the docked magnifier or more space is made available after
// after disabling the docked magnifier. // disabling the docked magnifier.
if (feature.type() == FeatureType::kDockedMagnifier)
CloseBubble(); CloseBubble();
feature.SetEnabled(new_state); RecordAction(new_state
break; ? UserMetricsAction("StatusArea_DockedMagnifierEnabled")
} : UserMetricsAction("StatusArea_DockedMagnifierDisabled"));
LogUserAccessibilityEvent(UserSettingsEvent::Event::DOCKED_MAGNIFIER,
new_state);
docked_magnifier_controller->SetEnabled(new_state);
} else if (large_cursor_view_ && view == large_cursor_view_ &&
!controller->IsEnterpriseIconVisibleForLargeCursor()) {
bool new_state = !controller->large_cursor().enabled();
RecordAction(new_state
? UserMetricsAction("StatusArea_LargeCursorEnabled")
: UserMetricsAction("StatusArea_LargeCursorDisabled"));
LogUserAccessibilityEvent(UserSettingsEvent::Event::LARGE_CURSOR,
new_state);
controller->large_cursor().SetEnabled(new_state);
} else if (autoclick_view_ && view == autoclick_view_ &&
!controller->IsEnterpriseIconVisibleForAutoclick()) {
bool new_state = !controller->autoclick().enabled();
RecordAction(new_state ? UserMetricsAction("StatusArea_AutoClickEnabled")
: UserMetricsAction("StatusArea_AutoClickDisabled"));
LogUserAccessibilityEvent(UserSettingsEvent::Event::AUTO_CLICK, new_state);
controller->autoclick().SetEnabled(new_state);
} else if (virtual_keyboard_view_ && view == virtual_keyboard_view_ &&
!controller->IsEnterpriseIconVisibleForVirtualKeyboard()) {
bool new_state = !controller->virtual_keyboard().enabled();
RecordAction(new_state
? UserMetricsAction("StatusArea_VirtualKeyboardEnabled")
: UserMetricsAction("StatusArea_VirtualKeyboardDisabled"));
LogUserAccessibilityEvent(UserSettingsEvent::Event::VIRTUAL_KEYBOARD,
new_state);
controller->virtual_keyboard().SetEnabled(new_state);
} else if (switch_access_view_ && view == switch_access_view_ &&
!controller->IsEnterpriseIconVisibleForSwitchAccess()) {
bool new_state = !controller->switch_access().enabled();
RecordAction(new_state
? UserMetricsAction("StatusArea_SwitchAccessEnabled")
: UserMetricsAction("StatusArea_SwitchAccessDisabled"));
LogUserAccessibilityEvent(UserSettingsEvent::Event::SWITCH_ACCESS,
new_state);
controller->switch_access().SetEnabled(new_state);
} else if (caret_highlight_view_ && view == caret_highlight_view_ &&
!controller->IsEnterpriseIconVisibleForCaretHighlight()) {
bool new_state = !controller->caret_highlight().enabled();
RecordAction(new_state
? UserMetricsAction("StatusArea_CaretHighlightEnabled")
: UserMetricsAction("StatusArea_CaretHighlightDisabled"));
LogUserAccessibilityEvent(UserSettingsEvent::Event::CARET_HIGHLIGHT,
new_state);
controller->caret_highlight().SetEnabled(new_state);
} else if (mono_audio_view_ && view == mono_audio_view_ &&
!controller->IsEnterpriseIconVisibleForMonoAudio()) {
bool new_state = !controller->mono_audio().enabled();
RecordAction(new_state ? UserMetricsAction("StatusArea_MonoAudioEnabled")
: UserMetricsAction("StatusArea_MonoAudioDisabled"));
LogUserAccessibilityEvent(UserSettingsEvent::Event::MONO_AUDIO, new_state);
controller->mono_audio().SetEnabled(new_state);
} else if (highlight_mouse_cursor_view_ &&
view == highlight_mouse_cursor_view_ &&
!controller->IsEnterpriseIconVisibleForCursorHighlight()) {
bool new_state = !controller->cursor_highlight().enabled();
RecordAction(
new_state
? UserMetricsAction("StatusArea_HighlightMouseCursorEnabled")
: UserMetricsAction("StatusArea_HighlightMouseCursorDisabled"));
LogUserAccessibilityEvent(UserSettingsEvent::Event::HIGHLIGHT_MOUSE_CURSOR,
new_state);
controller->cursor_highlight().SetEnabled(new_state);
} else if (highlight_keyboard_focus_view_ &&
view == highlight_keyboard_focus_view_ &&
!controller->IsEnterpriseIconVisibleForFocusHighlight()) {
bool new_state = !controller->focus_highlight().enabled();
RecordAction(
new_state
? UserMetricsAction("StatusArea_HighlightKeyboardFocusEnabled")
: UserMetricsAction("StatusArea_HighlightKeyboardFocusDisabled"));
LogUserAccessibilityEvent(
UserSettingsEvent::Event::HIGHLIGHT_KEYBOARD_FOCUS, new_state);
controller->focus_highlight().SetEnabled(new_state);
} else if (sticky_keys_view_ && view == sticky_keys_view_ &&
!controller->IsEnterpriseIconVisibleForStickyKeys()) {
bool new_state = !controller->sticky_keys().enabled();
RecordAction(new_state
? UserMetricsAction("StatusArea_StickyKeysEnabled")
: UserMetricsAction("StatusArea_StickyKeysDisabled"));
LogUserAccessibilityEvent(UserSettingsEvent::Event::STICKY_KEYS, new_state);
controller->sticky_keys().SetEnabled(new_state);
} }
} }
......
...@@ -7,7 +7,6 @@ ...@@ -7,7 +7,6 @@
#include <stdint.h> #include <stdint.h>
#include "ash/accessibility/accessibility_controller_impl.h"
#include "ash/accessibility/accessibility_delegate.h" #include "ash/accessibility/accessibility_delegate.h"
#include "ash/accessibility/accessibility_observer.h" #include "ash/accessibility/accessibility_observer.h"
#include "ash/public/cpp/session/session_observer.h" #include "ash/public/cpp/session/session_observer.h"
...@@ -23,6 +22,7 @@ class TrayAccessibilityTest; ...@@ -23,6 +22,7 @@ class TrayAccessibilityTest;
namespace views { namespace views {
class Button; class Button;
class Button;
class View; class View;
} // namespace views } // namespace views
...@@ -67,14 +67,40 @@ class ASH_EXPORT AccessibilityDetailedView : public TrayDetailedView { ...@@ -67,14 +67,40 @@ class ASH_EXPORT AccessibilityDetailedView : public TrayDetailedView {
// Add the accessibility feature list. // Add the accessibility feature list.
void AppendAccessibilityList(); void AppendAccessibilityList();
HoverHighlightView* HoverHighlightView* spoken_feedback_view_ = nullptr;
feature_views_[AccessibilityControllerImpl::FeatureType::kFeatureCount] = HoverHighlightView* select_to_speak_view_ = nullptr;
{nullptr}; HoverHighlightView* dictation_view_ = nullptr;
HoverHighlightView* high_contrast_view_ = nullptr;
HoverHighlightView* screen_magnifier_view_ = nullptr;
HoverHighlightView* docked_magnifier_view_ = nullptr;
HoverHighlightView* large_cursor_view_ = nullptr;
HoverHighlightView* autoclick_view_ = nullptr;
HoverHighlightView* virtual_keyboard_view_ = nullptr;
HoverHighlightView* switch_access_view_ = nullptr;
HoverHighlightView* mono_audio_view_ = nullptr;
HoverHighlightView* caret_highlight_view_ = nullptr;
HoverHighlightView* highlight_mouse_cursor_view_ = nullptr;
HoverHighlightView* highlight_keyboard_focus_view_ = nullptr;
HoverHighlightView* sticky_keys_view_ = nullptr;
views::Button* help_view_ = nullptr; views::Button* help_view_ = nullptr;
views::Button* settings_view_ = nullptr; views::Button* settings_view_ = nullptr;
// These exist for tests. The canonical state is stored in prefs. // These exist for tests. The canonical state is stored in prefs.
bool features_enabled_[AccessibilityControllerImpl::kFeatureCount] = {false}; bool spoken_feedback_enabled_ = false;
bool select_to_speak_enabled_ = false;
bool dictation_enabled_ = false;
bool high_contrast_enabled_ = false;
bool screen_magnifier_enabled_ = false;
bool docked_magnifier_enabled_ = false;
bool large_cursor_enabled_ = false;
bool autoclick_enabled_ = false;
bool virtual_keyboard_enabled_ = false;
bool switch_access_enabled_ = false;
bool mono_audio_enabled_ = false;
bool caret_highlight_enabled_ = false;
bool highlight_mouse_cursor_enabled_ = false;
bool highlight_keyboard_focus_enabled_ = false;
bool sticky_keys_enabled_ = false;
LoginStatus login_; LoginStatus login_;
......
...@@ -23,24 +23,76 @@ ...@@ -23,24 +23,76 @@
namespace ash { namespace ash {
namespace { namespace {
using FeatureType = AccessibilityControllerImpl::FeatureType; void SetScreenMagnifierEnabled(bool enabled) {
Shell::Get()->accessibility_delegate()->SetMagnifierEnabled(enabled);
}
void SetDockedMagnifierEnabled(bool enabled) {
Shell::Get()->accessibility_controller()->docked_magnifier().SetEnabled(
enabled);
}
void EnableSpokenFeedback(bool enabled) {
Shell::Get()->accessibility_controller()->SetSpokenFeedbackEnabled(
enabled, A11Y_NOTIFICATION_NONE);
}
void EnableSelectToSpeak(bool enabled) {
Shell::Get()->accessibility_controller()->select_to_speak().SetEnabled(
enabled);
}
void SetFeatureEnabled(FeatureType feature, bool enabled) { void EnableDictation(bool enabled) {
if (feature == FeatureType::kDictation) if (enabled) {
Shell::Get()->accessibility_controller()->dictation().SetDialogAccepted(); Shell::Get()->accessibility_controller()->dictation().SetDialogAccepted();
Shell::Get()->accessibility_controller()->GetFeature(feature).SetEnabled( }
Shell::Get()->accessibility_controller()->dictation().SetEnabled(enabled);
}
void EnableHighContrast(bool enabled) {
Shell::Get()->accessibility_controller()->high_contrast().SetEnabled(enabled);
}
void EnableAutoclick(bool enabled) {
Shell::Get()->accessibility_controller()->autoclick().SetEnabled(enabled);
}
void EnableVirtualKeyboard(bool enabled) {
Shell::Get()->accessibility_controller()->virtual_keyboard().SetEnabled(
enabled); enabled);
} }
FeatureType kListedFeautures[] = { void EnableLargeCursor(bool enabled) {
FeatureType::kSpokenFeedback, FeatureType::kSelectToSpeak, Shell::Get()->accessibility_controller()->large_cursor().SetEnabled(enabled);
FeatureType::kDictation, FeatureType::kHighContrast, }
FeatureType::kFullscreenMagnifier, FeatureType::kDockedMagnifier,
FeatureType::kAutoclick, FeatureType::kVirtualKeyboard, void EnableMonoAudio(bool enabled) {
FeatureType::kSwitchAccess, FeatureType::kLargeCursor, Shell::Get()->accessibility_controller()->mono_audio().SetEnabled(enabled);
FeatureType::kMonoAudio, FeatureType::kCaretHighlight, }
FeatureType::kCursorHighlight, FeatureType::kFocusHighlight,
FeatureType::kStickyKeys}; void SetCaretHighlightEnabled(bool enabled) {
Shell::Get()->accessibility_controller()->caret_highlight().SetEnabled(
enabled);
}
void SetCursorHighlightEnabled(bool enabled) {
Shell::Get()->accessibility_controller()->cursor_highlight().SetEnabled(
enabled);
}
void SetFocusHighlightEnabled(bool enabled) {
Shell::Get()->accessibility_controller()->focus_highlight().SetEnabled(
enabled);
}
void EnableStickyKeys(bool enabled) {
Shell::Get()->accessibility_controller()->sticky_keys().SetEnabled(enabled);
}
void EnableSwitchAccess(bool enabled) {
Shell::Get()->accessibility_controller()->switch_access().SetEnabled(enabled);
}
} // namespace } // namespace
class TrayAccessibilityTest : public AshTestBase, public AccessibilityObserver { class TrayAccessibilityTest : public AshTestBase, public AccessibilityObserver {
...@@ -73,17 +125,126 @@ class TrayAccessibilityTest : public AshTestBase, public AccessibilityObserver { ...@@ -73,17 +125,126 @@ class TrayAccessibilityTest : public AshTestBase, public AccessibilityObserver {
detailed_menu_->OnViewClicked(view); detailed_menu_->OnViewClicked(view);
} }
void ClickFeatureOnDetailMenu(FeatureType feature) { // These helpers may change prefs in ash, so they must spin the message loop
ClickView(detailed_menu_->feature_views_[feature]); // to wait for chrome to observe the change.
void ClickSpokenFeedbackOnDetailMenu() {
ClickView(detailed_menu_->spoken_feedback_view_);
}
void ClickHighContrastOnDetailMenu() {
ClickView(detailed_menu_->high_contrast_view_);
}
void ClickScreenMagnifierOnDetailMenu() {
ClickView(detailed_menu_->screen_magnifier_view_);
}
void ClickDockedMagnifierOnDetailMenu() {
ClickView(detailed_menu_->docked_magnifier_view_);
}
void ClickAutoclickOnDetailMenu() {
ClickView(detailed_menu_->autoclick_view_);
}
void ClickVirtualKeyboardOnDetailMenu() {
ClickView(detailed_menu_->virtual_keyboard_view_);
}
void ClickLargeMouseCursorOnDetailMenu() {
ClickView(detailed_menu_->large_cursor_view_);
}
void ClickMonoAudioOnDetailMenu() {
ClickView(detailed_menu_->mono_audio_view_);
}
void ClickCaretHighlightOnDetailMenu() {
ClickView(detailed_menu_->caret_highlight_view_);
}
void ClickHighlightMouseCursorOnDetailMenu() {
ClickView(detailed_menu_->highlight_mouse_cursor_view_);
}
void ClickHighlightKeyboardFocusOnDetailMenu() {
ClickView(detailed_menu_->highlight_keyboard_focus_view_);
}
void ClickStickyKeysOnDetailMenu() {
ClickView(detailed_menu_->sticky_keys_view_);
}
void ClickSwitchAccessOnDetailMenu() {
ClickView(detailed_menu_->switch_access_view_);
}
void ClickSelectToSpeakOnDetailMenu() {
ClickView(detailed_menu_->select_to_speak_view_);
}
void ClickDictationOnDetailMenu() {
ClickView(detailed_menu_->dictation_view_);
}
bool IsSpokenFeedbackMenuShownOnDetailMenu() const {
return detailed_menu_->spoken_feedback_view_;
}
bool IsSelectToSpeakShownOnDetailMenu() const {
return detailed_menu_->select_to_speak_view_;
}
bool IsDictationShownOnDetailMenu() const {
return detailed_menu_->dictation_view_;
}
bool IsHighContrastMenuShownOnDetailMenu() const {
return detailed_menu_->high_contrast_view_;
} }
bool CheckFeaturesHiddenOnDetailMenu( bool IsScreenMagnifierMenuShownOnDetailMenu() const {
const std::set<FeatureType>& expected_hidden) const { return detailed_menu_->screen_magnifier_view_;
std::set<FeatureType> actual_hidden; }
for (auto feature : kListedFeautures)
if (!detailed_menu_->feature_views_[feature]) bool IsDockedMagnifierShownOnDetailMenu() const {
actual_hidden.insert(feature); return detailed_menu_->docked_magnifier_view_;
return actual_hidden == expected_hidden; }
bool IsLargeCursorMenuShownOnDetailMenu() const {
return detailed_menu_->large_cursor_view_;
}
bool IsAutoclickMenuShownOnDetailMenu() const {
return detailed_menu_->autoclick_view_;
}
bool IsVirtualKeyboardMenuShownOnDetailMenu() const {
return detailed_menu_->virtual_keyboard_view_;
}
bool IsMonoAudioMenuShownOnDetailMenu() const {
return detailed_menu_->mono_audio_view_;
}
bool IsCaretHighlightMenuShownOnDetailMenu() const {
return detailed_menu_->caret_highlight_view_;
}
bool IsHighlightMouseCursorMenuShownOnDetailMenu() const {
return detailed_menu_->highlight_mouse_cursor_view_;
}
bool IsHighlightKeyboardFocusMenuShownOnDetailMenu() const {
return detailed_menu_->highlight_keyboard_focus_view_;
}
bool IsStickyKeysMenuShownOnDetailMenu() const {
return detailed_menu_->sticky_keys_view_;
}
bool IsSwitchAccessShownOnDetailMenu() const {
return detailed_menu_->switch_access_view_;
} }
// In material design we show the help button but theme it as disabled if // In material design we show the help button but theme it as disabled if
...@@ -105,10 +266,6 @@ class TrayAccessibilityTest : public AshTestBase, public AccessibilityObserver { ...@@ -105,10 +266,6 @@ class TrayAccessibilityTest : public AshTestBase, public AccessibilityObserver {
// enabled. Check that the checked state and detailed_menu_'s local state are // enabled. Check that the checked state and detailed_menu_'s local state are
// the same. // the same.
bool IsEnabledOnDetailMenu(bool enabled_state, views::View* view) const { bool IsEnabledOnDetailMenu(bool enabled_state, views::View* view) const {
// Sometimes views are not created because of a conflicting feature.
if (!view)
return enabled_state;
ui::AXNodeData node_data; ui::AXNodeData node_data;
view->GetAccessibleNodeData(&node_data); view->GetAccessibleNodeData(&node_data);
bool checked_for_accessibility = bool checked_for_accessibility =
...@@ -117,18 +274,87 @@ class TrayAccessibilityTest : public AshTestBase, public AccessibilityObserver { ...@@ -117,18 +274,87 @@ class TrayAccessibilityTest : public AshTestBase, public AccessibilityObserver {
return enabled_state && checked_for_accessibility; return enabled_state && checked_for_accessibility;
} }
bool IsFeatureEnabledOnDetailMenu(FeatureType feature) const { bool IsSpokenFeedbackEnabledOnDetailMenu() const {
return IsEnabledOnDetailMenu(detailed_menu_->features_enabled_[feature], return IsEnabledOnDetailMenu(detailed_menu_->spoken_feedback_enabled_,
detailed_menu_->feature_views_[feature]); detailed_menu_->spoken_feedback_view_);
}
bool IsSelectToSpeakEnabledOnDetailMenu() const {
return IsEnabledOnDetailMenu(detailed_menu_->select_to_speak_enabled_,
detailed_menu_->select_to_speak_view_);
}
bool IsDictationEnabledOnDetailMenu() const {
return IsEnabledOnDetailMenu(detailed_menu_->dictation_enabled_,
detailed_menu_->dictation_view_);
}
bool IsHighContrastEnabledOnDetailMenu() const {
return IsEnabledOnDetailMenu(detailed_menu_->high_contrast_enabled_,
detailed_menu_->high_contrast_view_);
}
bool IsScreenMagnifierEnabledOnDetailMenu() const {
return IsEnabledOnDetailMenu(detailed_menu_->screen_magnifier_enabled_,
detailed_menu_->screen_magnifier_view_);
}
bool IsDockedMagnifierEnabledOnDetailMenu() const {
return IsEnabledOnDetailMenu(detailed_menu_->docked_magnifier_enabled_,
detailed_menu_->docked_magnifier_view_);
}
bool IsLargeCursorEnabledOnDetailMenu() const {
return IsEnabledOnDetailMenu(detailed_menu_->large_cursor_enabled_,
detailed_menu_->large_cursor_view_);
}
bool IsAutoclickEnabledOnDetailMenu() const {
return IsEnabledOnDetailMenu(detailed_menu_->autoclick_enabled_,
detailed_menu_->autoclick_view_);
}
bool IsVirtualKeyboardEnabledOnDetailMenu() const {
return IsEnabledOnDetailMenu(detailed_menu_->virtual_keyboard_enabled_,
detailed_menu_->virtual_keyboard_view_);
}
bool IsMonoAudioEnabledOnDetailMenu() const {
return IsEnabledOnDetailMenu(detailed_menu_->mono_audio_enabled_,
detailed_menu_->mono_audio_view_);
} }
bool CheckFeaturesEnabledOnDetailMenu( bool IsCaretHighlightEnabledOnDetailMenu() const {
const std::set<FeatureType>& expected_enabled) { return IsEnabledOnDetailMenu(detailed_menu_->caret_highlight_enabled_,
std::set<FeatureType> actual_enabled; detailed_menu_->caret_highlight_view_);
for (auto feature : kListedFeautures) }
if (IsFeatureEnabledOnDetailMenu(feature))
actual_enabled.insert(feature); bool IsHighlightMouseCursorEnabledOnDetailMenu() const {
return actual_enabled == expected_enabled; return IsEnabledOnDetailMenu(
detailed_menu_->highlight_mouse_cursor_enabled_,
detailed_menu_->highlight_mouse_cursor_view_);
}
bool IsHighlightKeyboardFocusEnabledOnDetailMenu() const {
// The highlight_keyboard_focus_view_ is not created when Spoken Feedback
// is enabled.
if (IsSpokenFeedbackEnabledOnDetailMenu()) {
DCHECK(!detailed_menu_->highlight_keyboard_focus_view_);
return detailed_menu_->highlight_keyboard_focus_enabled_;
}
return IsEnabledOnDetailMenu(
detailed_menu_->highlight_keyboard_focus_enabled_,
detailed_menu_->highlight_keyboard_focus_view_);
}
bool IsStickyKeysEnabledOnDetailMenu() const {
return IsEnabledOnDetailMenu(detailed_menu_->sticky_keys_enabled_,
detailed_menu_->sticky_keys_view_);
}
bool IsSwitchAccessEnabledOnDetailMenu() const {
return IsEnabledOnDetailMenu(detailed_menu_->switch_access_enabled_,
detailed_menu_->switch_access_view_);
} }
const char* GetDetailedViewClassName() { const char* GetDetailedViewClassName() {
...@@ -155,25 +381,68 @@ TEST_F(TrayAccessibilityTest, CheckMenuVisibilityOnDetailMenu) { ...@@ -155,25 +381,68 @@ TEST_F(TrayAccessibilityTest, CheckMenuVisibilityOnDetailMenu) {
// Except help & settings, others should be kept the same // Except help & settings, others should be kept the same
// in LOGIN | NOT LOGIN | LOCKED. https://crbug.com/632107. // in LOGIN | NOT LOGIN | LOCKED. https://crbug.com/632107.
CreateDetailedMenu(); CreateDetailedMenu();
EXPECT_TRUE(IsSpokenFeedbackMenuShownOnDetailMenu());
EXPECT_TRUE(CheckFeaturesHiddenOnDetailMenu({})); EXPECT_TRUE(IsSelectToSpeakShownOnDetailMenu());
EXPECT_TRUE(IsDictationShownOnDetailMenu());
EXPECT_TRUE(IsHighContrastMenuShownOnDetailMenu());
EXPECT_TRUE(IsScreenMagnifierMenuShownOnDetailMenu());
EXPECT_TRUE(IsDockedMagnifierShownOnDetailMenu());
EXPECT_TRUE(IsAutoclickMenuShownOnDetailMenu());
EXPECT_TRUE(IsVirtualKeyboardMenuShownOnDetailMenu());
EXPECT_TRUE(IsHelpAvailableOnDetailMenu());
EXPECT_TRUE(IsSettingsAvailableOnDetailMenu());
EXPECT_TRUE(IsLargeCursorMenuShownOnDetailMenu());
EXPECT_TRUE(IsMonoAudioMenuShownOnDetailMenu());
EXPECT_TRUE(IsCaretHighlightMenuShownOnDetailMenu());
EXPECT_TRUE(IsHighlightMouseCursorMenuShownOnDetailMenu());
EXPECT_TRUE(IsHighlightKeyboardFocusMenuShownOnDetailMenu());
EXPECT_TRUE(IsStickyKeysMenuShownOnDetailMenu());
EXPECT_TRUE(IsSwitchAccessShownOnDetailMenu());
CloseDetailMenu(); CloseDetailMenu();
// Simulate screen lock. // Simulate screen lock.
BlockUserSession(BLOCKED_BY_LOCK_SCREEN); BlockUserSession(BLOCKED_BY_LOCK_SCREEN);
CreateDetailedMenu(); CreateDetailedMenu();
EXPECT_TRUE(CheckFeaturesHiddenOnDetailMenu({})); EXPECT_TRUE(IsSpokenFeedbackMenuShownOnDetailMenu());
EXPECT_TRUE(IsSelectToSpeakShownOnDetailMenu());
EXPECT_TRUE(IsDictationShownOnDetailMenu());
EXPECT_TRUE(IsHighContrastMenuShownOnDetailMenu());
EXPECT_TRUE(IsScreenMagnifierMenuShownOnDetailMenu());
EXPECT_TRUE(IsDockedMagnifierShownOnDetailMenu());
EXPECT_TRUE(IsAutoclickMenuShownOnDetailMenu());
EXPECT_TRUE(IsVirtualKeyboardMenuShownOnDetailMenu());
EXPECT_FALSE(IsHelpAvailableOnDetailMenu()); EXPECT_FALSE(IsHelpAvailableOnDetailMenu());
EXPECT_FALSE(IsSettingsAvailableOnDetailMenu()); EXPECT_FALSE(IsSettingsAvailableOnDetailMenu());
EXPECT_TRUE(IsLargeCursorMenuShownOnDetailMenu());
EXPECT_TRUE(IsMonoAudioMenuShownOnDetailMenu());
EXPECT_TRUE(IsCaretHighlightMenuShownOnDetailMenu());
EXPECT_TRUE(IsHighlightMouseCursorMenuShownOnDetailMenu());
EXPECT_TRUE(IsHighlightKeyboardFocusMenuShownOnDetailMenu());
EXPECT_TRUE(IsStickyKeysMenuShownOnDetailMenu());
EXPECT_TRUE(IsSwitchAccessShownOnDetailMenu());
CloseDetailMenu(); CloseDetailMenu();
UnblockUserSession(); UnblockUserSession();
// Simulate adding multiprofile user. // Simulate adding multiprofile user.
BlockUserSession(BLOCKED_BY_USER_ADDING_SCREEN); BlockUserSession(BLOCKED_BY_USER_ADDING_SCREEN);
CreateDetailedMenu(); CreateDetailedMenu();
EXPECT_TRUE(CheckFeaturesHiddenOnDetailMenu({})); EXPECT_TRUE(IsSpokenFeedbackMenuShownOnDetailMenu());
EXPECT_TRUE(IsSelectToSpeakShownOnDetailMenu());
EXPECT_TRUE(IsDictationShownOnDetailMenu());
EXPECT_TRUE(IsHighContrastMenuShownOnDetailMenu());
EXPECT_TRUE(IsScreenMagnifierMenuShownOnDetailMenu());
EXPECT_TRUE(IsDockedMagnifierShownOnDetailMenu());
EXPECT_TRUE(IsAutoclickMenuShownOnDetailMenu());
EXPECT_TRUE(IsVirtualKeyboardMenuShownOnDetailMenu());
EXPECT_FALSE(IsHelpAvailableOnDetailMenu()); EXPECT_FALSE(IsHelpAvailableOnDetailMenu());
EXPECT_FALSE(IsSettingsAvailableOnDetailMenu()); EXPECT_FALSE(IsSettingsAvailableOnDetailMenu());
EXPECT_TRUE(IsLargeCursorMenuShownOnDetailMenu());
EXPECT_TRUE(IsMonoAudioMenuShownOnDetailMenu());
EXPECT_TRUE(IsCaretHighlightMenuShownOnDetailMenu());
EXPECT_TRUE(IsHighlightMouseCursorMenuShownOnDetailMenu());
EXPECT_TRUE(IsHighlightKeyboardFocusMenuShownOnDetailMenu());
EXPECT_TRUE(IsStickyKeysMenuShownOnDetailMenu());
EXPECT_TRUE(IsSwitchAccessShownOnDetailMenu());
CloseDetailMenu(); CloseDetailMenu();
UnblockUserSession(); UnblockUserSession();
} }
...@@ -181,23 +450,171 @@ TEST_F(TrayAccessibilityTest, CheckMenuVisibilityOnDetailMenu) { ...@@ -181,23 +450,171 @@ TEST_F(TrayAccessibilityTest, CheckMenuVisibilityOnDetailMenu) {
TEST_F(TrayAccessibilityTest, ClickDetailMenu) { TEST_F(TrayAccessibilityTest, ClickDetailMenu) {
AccessibilityControllerImpl* accessibility_controller = AccessibilityControllerImpl* accessibility_controller =
Shell::Get()->accessibility_controller(); Shell::Get()->accessibility_controller();
// Confirms that the check item toggles the spoken feedback.
EXPECT_FALSE(accessibility_controller->spoken_feedback().enabled());
for (auto feature : kListedFeautures) { CreateDetailedMenu();
SCOPED_TRACE(base::StringPrintf("Testing feature #[%d]", feature)); ClickSpokenFeedbackOnDetailMenu();
if (feature == FeatureType::kDictation) EXPECT_TRUE(accessibility_controller->spoken_feedback().enabled());
Shell::Get()->accessibility_controller()->dictation().SetDialogAccepted();
// Confirms that the check item toggles the given feature. CreateDetailedMenu();
EXPECT_FALSE(accessibility_controller->GetFeature(feature).enabled()); ClickSpokenFeedbackOnDetailMenu();
EXPECT_FALSE(accessibility_controller->spoken_feedback().enabled());
// Confirms that the check item toggles the high contrast.
EXPECT_FALSE(accessibility_controller->high_contrast().enabled());
CreateDetailedMenu(); CreateDetailedMenu();
ClickFeatureOnDetailMenu(feature); ClickHighContrastOnDetailMenu();
EXPECT_TRUE(accessibility_controller->GetFeature(feature).enabled()); EXPECT_TRUE(accessibility_controller->high_contrast().enabled());
CreateDetailedMenu(); CreateDetailedMenu();
ClickFeatureOnDetailMenu(feature); ClickHighContrastOnDetailMenu();
EXPECT_FALSE(accessibility_controller->GetFeature(feature).enabled()); EXPECT_FALSE(accessibility_controller->high_contrast().enabled());
}
// Confirms that the check item toggles the magnifier.
EXPECT_FALSE(Shell::Get()->accessibility_delegate()->IsMagnifierEnabled());
CreateDetailedMenu();
ClickScreenMagnifierOnDetailMenu();
EXPECT_TRUE(Shell::Get()->accessibility_delegate()->IsMagnifierEnabled());
CreateDetailedMenu();
ClickScreenMagnifierOnDetailMenu();
EXPECT_FALSE(Shell::Get()->accessibility_delegate()->IsMagnifierEnabled());
// Confirms that the check item toggles the docked magnifier.
EXPECT_FALSE(Shell::Get()->docked_magnifier_controller()->GetEnabled());
CreateDetailedMenu();
ClickDockedMagnifierOnDetailMenu();
EXPECT_TRUE(Shell::Get()->docked_magnifier_controller()->GetEnabled());
CreateDetailedMenu();
ClickDockedMagnifierOnDetailMenu();
EXPECT_FALSE(Shell::Get()->docked_magnifier_controller()->GetEnabled());
// Confirms that the check item toggles autoclick.
EXPECT_FALSE(accessibility_controller->autoclick().enabled());
CreateDetailedMenu();
ClickAutoclickOnDetailMenu();
EXPECT_TRUE(accessibility_controller->autoclick().enabled());
CreateDetailedMenu();
ClickAutoclickOnDetailMenu();
EXPECT_FALSE(accessibility_controller->autoclick().enabled());
// Confirms that the check item toggles on-screen keyboard.
EXPECT_FALSE(accessibility_controller->virtual_keyboard().enabled());
CreateDetailedMenu();
ClickVirtualKeyboardOnDetailMenu();
EXPECT_TRUE(accessibility_controller->virtual_keyboard().enabled());
CreateDetailedMenu();
ClickVirtualKeyboardOnDetailMenu();
EXPECT_FALSE(accessibility_controller->virtual_keyboard().enabled());
// Confirms that the check item toggles large mouse cursor.
EXPECT_FALSE(accessibility_controller->large_cursor().enabled());
CreateDetailedMenu();
ClickLargeMouseCursorOnDetailMenu();
EXPECT_TRUE(accessibility_controller->large_cursor().enabled());
CreateDetailedMenu();
ClickLargeMouseCursorOnDetailMenu();
EXPECT_FALSE(accessibility_controller->large_cursor().enabled());
// Confirms that the check item toggles mono audio.
EXPECT_FALSE(accessibility_controller->mono_audio().enabled());
CreateDetailedMenu();
ClickMonoAudioOnDetailMenu();
EXPECT_TRUE(accessibility_controller->mono_audio().enabled());
CreateDetailedMenu();
ClickMonoAudioOnDetailMenu();
EXPECT_FALSE(accessibility_controller->mono_audio().enabled());
// Confirms that the check item toggles caret highlight.
EXPECT_FALSE(accessibility_controller->caret_highlight().enabled());
CreateDetailedMenu();
ClickCaretHighlightOnDetailMenu();
EXPECT_TRUE(accessibility_controller->caret_highlight().enabled());
CreateDetailedMenu();
ClickCaretHighlightOnDetailMenu();
EXPECT_FALSE(accessibility_controller->caret_highlight().enabled());
// Confirms that the check item toggles highlight mouse cursor.
EXPECT_FALSE(accessibility_controller->cursor_highlight().enabled());
CreateDetailedMenu();
ClickHighlightMouseCursorOnDetailMenu();
EXPECT_TRUE(accessibility_controller->cursor_highlight().enabled());
CreateDetailedMenu();
ClickHighlightMouseCursorOnDetailMenu();
EXPECT_FALSE(accessibility_controller->cursor_highlight().enabled());
// Confirms that the check item toggles highlight keyboard focus.
EXPECT_FALSE(accessibility_controller->focus_highlight().enabled());
CreateDetailedMenu();
ClickHighlightKeyboardFocusOnDetailMenu();
EXPECT_TRUE(accessibility_controller->focus_highlight().enabled());
CreateDetailedMenu();
ClickHighlightKeyboardFocusOnDetailMenu();
EXPECT_FALSE(accessibility_controller->focus_highlight().enabled());
// Confirms that the check item toggles sticky keys.
EXPECT_FALSE(accessibility_controller->sticky_keys().enabled());
CreateDetailedMenu();
ClickStickyKeysOnDetailMenu();
EXPECT_TRUE(accessibility_controller->sticky_keys().enabled());
CreateDetailedMenu();
ClickStickyKeysOnDetailMenu();
EXPECT_FALSE(accessibility_controller->sticky_keys().enabled());
// Confirms that the check item toggles switch access.
EXPECT_FALSE(accessibility_controller->switch_access().enabled());
CreateDetailedMenu();
ClickSwitchAccessOnDetailMenu();
EXPECT_TRUE(accessibility_controller->switch_access().enabled());
CreateDetailedMenu();
ClickSwitchAccessOnDetailMenu();
EXPECT_FALSE(accessibility_controller->switch_access().enabled());
// Confirms that the check item toggles select-to-speak.
EXPECT_FALSE(accessibility_controller->select_to_speak().enabled());
CreateDetailedMenu();
ClickSelectToSpeakOnDetailMenu();
EXPECT_TRUE(accessibility_controller->select_to_speak().enabled());
CreateDetailedMenu();
ClickSelectToSpeakOnDetailMenu();
EXPECT_FALSE(accessibility_controller->select_to_speak().enabled());
// Confirms that the check item toggles dictation.
EXPECT_FALSE(accessibility_controller->dictation().enabled());
Shell::Get()->accessibility_controller()->dictation().SetDialogAccepted();
CreateDetailedMenu();
ClickDictationOnDetailMenu();
EXPECT_TRUE(accessibility_controller->dictation().enabled());
CreateDetailedMenu();
ClickDictationOnDetailMenu();
EXPECT_FALSE(accessibility_controller->dictation().enabled());
} }
// Trivial test to increase code coverage. // Trivial test to increase code coverage.
...@@ -219,63 +636,753 @@ class TrayAccessibilityLoginScreenTest : public TrayAccessibilityTest { ...@@ -219,63 +636,753 @@ class TrayAccessibilityLoginScreenTest : public TrayAccessibilityTest {
TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) { TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
// At first, all of the check is unchecked. // At first, all of the check is unchecked.
CreateDetailedMenu(); CreateDetailedMenu();
EXPECT_TRUE(CheckFeaturesEnabledOnDetailMenu({})); EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
// Switch Access is currently cannot be enabled from the login screen.
// TODO(crbug.com/1108808): Uncomment once issue is addressed.
// EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu(); CloseDetailMenu();
for (auto feature : kListedFeautures) { // Enabling spoken feedback.
// Switch Access is currently not available on the login screen; see EnableSpokenFeedback(true);
// crbug/1108808 CreateDetailedMenu();
if (feature == FeatureType::kSwitchAccess) EXPECT_TRUE(IsSpokenFeedbackEnabledOnDetailMenu());
continue; EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
// Switch Access is currently cannot be enabled from the login screen.
// TODO(crbug.com/1108808): Uncomment once issue is addressed.
// EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
SetFeatureEnabled(feature, true); // Disabling spoken feedback.
EnableSpokenFeedback(false);
CreateDetailedMenu(); CreateDetailedMenu();
EXPECT_TRUE(CheckFeaturesEnabledOnDetailMenu({feature})); EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
// Switch Access is currently cannot be enabled from the login screen.
// TODO(crbug.com/1108808): Uncomment once issue is addressed.
// EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu(); CloseDetailMenu();
SetFeatureEnabled(feature, false); // Enabling select to speak.
EnableSelectToSpeak(true);
CreateDetailedMenu(); CreateDetailedMenu();
EXPECT_TRUE(CheckFeaturesEnabledOnDetailMenu({})); EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_TRUE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
// Switch Access is currently cannot be enabled from the login screen.
// TODO(crbug.com/1108808): Uncomment once issue is addressed.
// EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu(); CloseDetailMenu();
}
// Enabling all of the a11y features. // Disabling select to speak.
for (auto feature : kListedFeautures) EnableSelectToSpeak(false);
SetFeatureEnabled(feature, true);
CreateDetailedMenu(); CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
// Switch Access is currently cannot be enabled from the login screen.
// TODO(crbug.com/1108808): Uncomment once issue is addressed.
// EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// The latest screen magnifier will disable the other one, in our case // Enabling dictation.
// fullscreen magnifier gets disabled. EnableDictation(true);
std::set<FeatureType> expected_enabled_features; CreateDetailedMenu();
for (auto feature : kListedFeautures) EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
if (feature != FeatureType::kFullscreenMagnifier && EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
feature != FeatureType::kFocusHighlight) { EXPECT_TRUE(IsDictationEnabledOnDetailMenu());
expected_enabled_features.insert(feature); EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
} EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
// Focus highlighting can't be on when spoken feedback is on. EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_TRUE( EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
// Switch Access is currently cannot be enabled from the login screen.
// TODO(crbug.com/1108808): Uncomment once issue is addressed.
// EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
CheckFeaturesEnabledOnDetailMenu(expected_enabled_features)); // Disabling dictation.
EnableDictation(false);
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
// Switch Access is currently cannot be enabled from the login screen.
// TODO(crbug.com/1108808): Uncomment once issue is addressed.
// EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu(); CloseDetailMenu();
// Disabling all of the a11y features. // Enabling high contrast.
for (auto feature : kListedFeautures) EnableHighContrast(true);
SetFeatureEnabled(feature, false); CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_TRUE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
// Switch Access is currently cannot be enabled from the login screen.
// TODO(crbug.com/1108808): Uncomment once issue is addressed.
// EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Disabling high contrast.
EnableHighContrast(false);
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
// Switch Access is currently cannot be enabled from the login screen.
// TODO(crbug.com/1108808): Uncomment once issue is addressed.
// EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Enabling full screen magnifier.
SetScreenMagnifierEnabled(true);
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_TRUE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
// Switch Access is currently cannot be enabled from the login screen.
// TODO(crbug.com/1108808): Uncomment once issue is addressed.
// EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Disabling screen magnifier.
SetScreenMagnifierEnabled(false);
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
// Switch Access is currently cannot be enabled from the login screen.
// TODO(crbug.com/1108808): Uncomment once issue is addressed.
// EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Enabling docked magnifier.
SetDockedMagnifierEnabled(true);
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_TRUE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
// Switch Access is currently cannot be enabled from the login screen.
// TODO(crbug.com/1108808): Uncomment once issue is addressed.
// EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Disabling docked magnifier.
SetDockedMagnifierEnabled(false);
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
// Switch Access is currently cannot be enabled from the login screen.
// TODO(crbug.com/1108808): Uncomment once issue is addressed.
// EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Enabling large cursor.
EnableLargeCursor(true);
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_TRUE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
// Switch Access is currently cannot be enabled from the login screen.
// TODO(crbug.com/1108808): Uncomment once issue is addressed.
// EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Disabling large cursor.
EnableLargeCursor(false);
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
// Switch Access is currently cannot be enabled from the login screen.
// TODO(crbug.com/1108808): Uncomment once issue is addressed.
// EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Enable on-screen keyboard.
EnableVirtualKeyboard(true);
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_TRUE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
// Switch Access is currently cannot be enabled from the login screen.
// TODO(crbug.com/1108808): Uncomment once issue is addressed.
// EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Disable on-screen keyboard.
EnableVirtualKeyboard(false);
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
// Switch Access is currently cannot be enabled from the login screen.
// TODO(crbug.com/1108808): Uncomment once issue is addressed.
// EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Enabling mono audio.
EnableMonoAudio(true);
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_TRUE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
// Switch Access is currently cannot be enabled from the login screen.
// TODO(crbug.com/1108808): Uncomment once issue is addressed.
// EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Disabling mono audio.
EnableMonoAudio(false);
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
// Switch Access is currently cannot be enabled from the login screen.
// TODO(crbug.com/1108808): Uncomment once issue is addressed.
// EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Enabling caret highlight.
SetCaretHighlightEnabled(true);
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_TRUE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
// Switch Access is currently cannot be enabled from the login screen.
// TODO(crbug.com/1108808): Uncomment once issue is addressed.
// EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Disabling caret highlight.
SetCaretHighlightEnabled(false);
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
// Switch Access is currently cannot be enabled from the login screen.
// TODO(crbug.com/1108808): Uncomment once issue is addressed.
// EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Enabling highlight mouse cursor.
SetCursorHighlightEnabled(true);
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_TRUE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
// Switch Access is currently cannot be enabled from the login screen.
// TODO(crbug.com/1108808): Uncomment once issue is addressed.
// EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Disabling highlight mouse cursor.
SetCursorHighlightEnabled(false);
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
// Switch Access is currently cannot be enabled from the login screen.
// TODO(crbug.com/1108808): Uncomment once issue is addressed.
// EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Enabling highlight keyboard focus.
SetFocusHighlightEnabled(true);
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_TRUE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
// Switch Access is currently cannot be enabled from the login screen.
// TODO(crbug.com/1108808): Uncomment once issue is addressed.
// EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Disabling highlight keyboard focus.
SetFocusHighlightEnabled(false);
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
// Switch Access is currently cannot be enabled from the login screen.
// TODO(crbug.com/1108808): Uncomment once issue is addressed.
// EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Enabling sticky keys.
EnableStickyKeys(true);
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_TRUE(IsStickyKeysEnabledOnDetailMenu());
// Switch Access is currently cannot be enabled from the login screen.
// TODO(crbug.com/1108808): Uncomment once issue is addressed.
// EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Disabling sticky keys.
EnableStickyKeys(false);
CreateDetailedMenu(); CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
// Switch Access is currently cannot be enabled from the login screen.
// TODO(crbug.com/1108808): Uncomment once issue is addressed.
// EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
EXPECT_TRUE(CheckFeaturesEnabledOnDetailMenu({})); // Switch Access is currently not available on the login screen; see
// crbug/1108808
/* // Enabling switch access.
EnableSwitchAccess(true);
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_TRUE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Disabling switch access.
EnableSwitchAccess(false);
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
*/
// Enabling all of the a11y features.
EnableSpokenFeedback(true);
EnableSelectToSpeak(true);
EnableDictation(true);
EnableHighContrast(true);
SetScreenMagnifierEnabled(true);
SetDockedMagnifierEnabled(true);
EnableLargeCursor(true);
EnableVirtualKeyboard(true);
EnableAutoclick(true);
EnableMonoAudio(true);
SetCaretHighlightEnabled(true);
SetCursorHighlightEnabled(true);
SetFocusHighlightEnabled(true);
EnableStickyKeys(true);
EnableSwitchAccess(true);
CreateDetailedMenu();
EXPECT_TRUE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_TRUE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_TRUE(IsDictationEnabledOnDetailMenu());
EXPECT_TRUE(IsHighContrastEnabledOnDetailMenu());
EXPECT_TRUE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_TRUE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_TRUE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_TRUE(IsAutoclickEnabledOnDetailMenu());
EXPECT_TRUE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_TRUE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_TRUE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_TRUE(IsHighlightMouseCursorEnabledOnDetailMenu());
// Focus highlighting can't be on when spoken feedback is on
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_TRUE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_TRUE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Disabling all of the a11y features.
EnableSpokenFeedback(false);
EnableSelectToSpeak(false);
EnableDictation(false);
EnableHighContrast(false);
SetScreenMagnifierEnabled(false);
SetDockedMagnifierEnabled(false);
EnableLargeCursor(false);
EnableVirtualKeyboard(false);
EnableAutoclick(false);
EnableMonoAudio(false);
SetCaretHighlightEnabled(false);
SetCursorHighlightEnabled(false);
SetFocusHighlightEnabled(false);
EnableStickyKeys(false);
EnableSwitchAccess(false);
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
// Switch Access is currently cannot be enabled from the login screen.
// TODO(crbug.com/1108808): Uncomment once issue is addressed.
// EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu(); CloseDetailMenu();
// Enabling autoclick. // Enabling autoclick.
SetFeatureEnabled(FeatureType::kAutoclick, true); EnableAutoclick(true);
CreateDetailedMenu(); CreateDetailedMenu();
EXPECT_TRUE(CheckFeaturesEnabledOnDetailMenu({FeatureType::kAutoclick})); EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_TRUE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
// Switch Access is currently not available on the login screen.
// TODO(crbug.com/1108808): Uncomment once issue is addressed.
// EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu(); CloseDetailMenu();
// Disabling autoclick. // Disabling autoclick.
SetFeatureEnabled(FeatureType::kAutoclick, false); EnableAutoclick(false);
CreateDetailedMenu(); CreateDetailedMenu();
EXPECT_TRUE(CheckFeaturesEnabledOnDetailMenu({})); EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
// Switch Access is currently not available on the login screen.
// TODO(crbug.com/1108808): Uncomment once issue is addressed.
// EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu(); CloseDetailMenu();
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment