Commit b556d27e authored by Amr Aboelkher's avatar Amr Aboelkher Committed by Commit Bot

Manage the visibility of accessibility features on accessibility tray menu

This CL will manage the visibility of all of the following accessiblity
features:
- Autoclick
- Caret highlight
- Focus highlight
- Full screen magnifier
- Docked magnifier
- Spoken feedback
- Select to speak
- Switch access
- Sticky keys
- Virtual keyboard
Show any of these accessibility features only if one of the following
conditions have meet :
-Its not being controlled by any policy
-Its being controlled by a policy and the value of the policy is force on

Bug: 552439
Change-Id: I0ea0e6165270f5de00c51ecbe4047e9243ca130f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1738374
Commit-Queue: Amr Aboelkher <amraboelkher@google.com>
Reviewed-by: default avatarAlice Boxhall <aboxhall@chromium.org>
Reviewed-by: default avatarSteven Bennetts <stevenjb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#689132}
parent b9fe49e9
...@@ -453,6 +453,11 @@ void AccessibilityControllerImpl::SetAutoclickEnabled(bool enabled) { ...@@ -453,6 +453,11 @@ void AccessibilityControllerImpl::SetAutoclickEnabled(bool enabled) {
active_user_prefs_->CommitPendingWrite(); active_user_prefs_->CommitPendingWrite();
} }
bool AccessibilityControllerImpl::IsAutoclickSettingVisibleInTray() {
return IsAccessibilityFeatureVisibleInTrayMenu(
prefs::kAccessibilityAutoclickEnabled);
}
void AccessibilityControllerImpl::SetCaretHighlightEnabled(bool enabled) { void AccessibilityControllerImpl::SetCaretHighlightEnabled(bool enabled) {
if (!active_user_prefs_) if (!active_user_prefs_)
return; return;
...@@ -461,6 +466,11 @@ void AccessibilityControllerImpl::SetCaretHighlightEnabled(bool enabled) { ...@@ -461,6 +466,11 @@ void AccessibilityControllerImpl::SetCaretHighlightEnabled(bool enabled) {
active_user_prefs_->CommitPendingWrite(); active_user_prefs_->CommitPendingWrite();
} }
bool AccessibilityControllerImpl::IsCaretHighlightSettingVisibleInTray() {
return IsAccessibilityFeatureVisibleInTrayMenu(
prefs::kAccessibilityCaretHighlightEnabled);
}
void AccessibilityControllerImpl::SetCursorHighlightEnabled(bool enabled) { void AccessibilityControllerImpl::SetCursorHighlightEnabled(bool enabled) {
if (!active_user_prefs_) if (!active_user_prefs_)
return; return;
...@@ -469,7 +479,7 @@ void AccessibilityControllerImpl::SetCursorHighlightEnabled(bool enabled) { ...@@ -469,7 +479,7 @@ void AccessibilityControllerImpl::SetCursorHighlightEnabled(bool enabled) {
active_user_prefs_->CommitPendingWrite(); active_user_prefs_->CommitPendingWrite();
} }
bool AccessibilityControllerImpl::GetTrayVisiblityOfCursorHighlightSetting() { bool AccessibilityControllerImpl::IsCursorHighlightSettingVisibleInTray() {
return IsAccessibilityFeatureVisibleInTrayMenu( return IsAccessibilityFeatureVisibleInTrayMenu(
prefs::kAccessibilityCursorHighlightEnabled); prefs::kAccessibilityCursorHighlightEnabled);
} }
...@@ -499,7 +509,7 @@ void AccessibilityControllerImpl::SetDictationEnabled(bool enabled) { ...@@ -499,7 +509,7 @@ void AccessibilityControllerImpl::SetDictationEnabled(bool enabled) {
active_user_prefs_->CommitPendingWrite(); active_user_prefs_->CommitPendingWrite();
} }
bool AccessibilityControllerImpl::GetTrayVisiblityOfDictationSetting() { bool AccessibilityControllerImpl::IsDictationSettingVisibleInTray() {
return IsAccessibilityFeatureVisibleInTrayMenu( return IsAccessibilityFeatureVisibleInTrayMenu(
prefs::kAccessibilityDictationEnabled); prefs::kAccessibilityDictationEnabled);
} }
...@@ -512,6 +522,11 @@ void AccessibilityControllerImpl::SetFocusHighlightEnabled(bool enabled) { ...@@ -512,6 +522,11 @@ void AccessibilityControllerImpl::SetFocusHighlightEnabled(bool enabled) {
active_user_prefs_->CommitPendingWrite(); active_user_prefs_->CommitPendingWrite();
} }
bool AccessibilityControllerImpl::IsFocusHighlightSettingVisibleInTray() {
return IsAccessibilityFeatureVisibleInTrayMenu(
prefs::kAccessibilityFocusHighlightEnabled);
}
void AccessibilityControllerImpl::SetFullscreenMagnifierEnabled(bool enabled) { void AccessibilityControllerImpl::SetFullscreenMagnifierEnabled(bool enabled) {
if (!active_user_prefs_) if (!active_user_prefs_)
return; return;
...@@ -520,6 +535,34 @@ void AccessibilityControllerImpl::SetFullscreenMagnifierEnabled(bool enabled) { ...@@ -520,6 +535,34 @@ void AccessibilityControllerImpl::SetFullscreenMagnifierEnabled(bool enabled) {
active_user_prefs_->CommitPendingWrite(); active_user_prefs_->CommitPendingWrite();
} }
bool AccessibilityControllerImpl::IsFullscreenMagnifierEnabledForTesting() {
return active_user_prefs_ && active_user_prefs_->GetBoolean(
prefs::kAccessibilityScreenMagnifierEnabled);
}
bool AccessibilityControllerImpl::IsFullScreenMagnifierSettingVisibleInTray() {
return IsAccessibilityFeatureVisibleInTrayMenu(
prefs::kAccessibilityScreenMagnifierEnabled);
}
void AccessibilityControllerImpl::SetDockedMagnifierEnabledForTesting(
bool enabled) {
if (!active_user_prefs_)
return;
active_user_prefs_->SetBoolean(prefs::kDockedMagnifierEnabled, enabled);
active_user_prefs_->CommitPendingWrite();
}
bool AccessibilityControllerImpl::IsDockedMagnifierEnabledForTesting() {
return active_user_prefs_ &&
active_user_prefs_->GetBoolean(prefs::kDockedMagnifierEnabled);
}
bool AccessibilityControllerImpl::IsDockedMagnifierSettingVisibleInTray() {
return IsAccessibilityFeatureVisibleInTrayMenu(
prefs::kDockedMagnifierEnabled);
}
void AccessibilityControllerImpl::SetHighContrastEnabled(bool enabled) { void AccessibilityControllerImpl::SetHighContrastEnabled(bool enabled) {
if (!active_user_prefs_) if (!active_user_prefs_)
return; return;
...@@ -528,7 +571,7 @@ void AccessibilityControllerImpl::SetHighContrastEnabled(bool enabled) { ...@@ -528,7 +571,7 @@ void AccessibilityControllerImpl::SetHighContrastEnabled(bool enabled) {
active_user_prefs_->CommitPendingWrite(); active_user_prefs_->CommitPendingWrite();
} }
bool AccessibilityControllerImpl::GetTrayVisiblityOfHighContrastSetting() { bool AccessibilityControllerImpl::IsHighContrastSettingVisibleInTray() {
return IsAccessibilityFeatureVisibleInTrayMenu( return IsAccessibilityFeatureVisibleInTrayMenu(
prefs::kAccessibilityHighContrastEnabled); prefs::kAccessibilityHighContrastEnabled);
} }
...@@ -541,7 +584,7 @@ void AccessibilityControllerImpl::SetLargeCursorEnabled(bool enabled) { ...@@ -541,7 +584,7 @@ void AccessibilityControllerImpl::SetLargeCursorEnabled(bool enabled) {
active_user_prefs_->CommitPendingWrite(); active_user_prefs_->CommitPendingWrite();
} }
bool AccessibilityControllerImpl::GetTrayVisiblityOfLargeCursorSetting() { bool AccessibilityControllerImpl::IsLargeCursorSettingVisibleInTray() {
return IsAccessibilityFeatureVisibleInTrayMenu( return IsAccessibilityFeatureVisibleInTrayMenu(
prefs::kAccessibilityLargeCursorEnabled); prefs::kAccessibilityLargeCursorEnabled);
} }
...@@ -554,7 +597,7 @@ void AccessibilityControllerImpl::SetMonoAudioEnabled(bool enabled) { ...@@ -554,7 +597,7 @@ void AccessibilityControllerImpl::SetMonoAudioEnabled(bool enabled) {
active_user_prefs_->CommitPendingWrite(); active_user_prefs_->CommitPendingWrite();
} }
bool AccessibilityControllerImpl::GetTrayVisiblityOfMonoAudioSetting() { bool AccessibilityControllerImpl::IsMonoAudioSettingVisibleInTray() {
return IsAccessibilityFeatureVisibleInTrayMenu( return IsAccessibilityFeatureVisibleInTrayMenu(
prefs::kAccessibilityMonoAudioEnabled); prefs::kAccessibilityMonoAudioEnabled);
} }
...@@ -579,6 +622,11 @@ void AccessibilityControllerImpl::SetSpokenFeedbackEnabled( ...@@ -579,6 +622,11 @@ void AccessibilityControllerImpl::SetSpokenFeedbackEnabled(
ShowAccessibilityNotification(type); ShowAccessibilityNotification(type);
} }
bool AccessibilityControllerImpl::IsSpokenFeedbackSettingVisibleInTray() {
return IsAccessibilityFeatureVisibleInTrayMenu(
prefs::kAccessibilitySpokenFeedbackEnabled);
}
void AccessibilityControllerImpl::SetSelectToSpeakEnabled(bool enabled) { void AccessibilityControllerImpl::SetSelectToSpeakEnabled(bool enabled) {
if (!active_user_prefs_) if (!active_user_prefs_)
return; return;
...@@ -587,6 +635,11 @@ void AccessibilityControllerImpl::SetSelectToSpeakEnabled(bool enabled) { ...@@ -587,6 +635,11 @@ void AccessibilityControllerImpl::SetSelectToSpeakEnabled(bool enabled) {
active_user_prefs_->CommitPendingWrite(); active_user_prefs_->CommitPendingWrite();
} }
bool AccessibilityControllerImpl::IsSelectToSpeakSettingVisibleInTray() {
return IsAccessibilityFeatureVisibleInTrayMenu(
prefs::kAccessibilitySelectToSpeakEnabled);
}
void AccessibilityControllerImpl::RequestSelectToSpeakStateChange() { void AccessibilityControllerImpl::RequestSelectToSpeakStateChange() {
client_->RequestSelectToSpeakStateChange(); client_->RequestSelectToSpeakStateChange();
} }
...@@ -623,6 +676,11 @@ void AccessibilityControllerImpl::SetSwitchAccessEnabled(bool enabled) { ...@@ -623,6 +676,11 @@ void AccessibilityControllerImpl::SetSwitchAccessEnabled(bool enabled) {
active_user_prefs_->CommitPendingWrite(); active_user_prefs_->CommitPendingWrite();
} }
bool AccessibilityControllerImpl::IsSwitchAccessSettingVisibleInTray() {
return IsAccessibilityFeatureVisibleInTrayMenu(
prefs::kAccessibilitySwitchAccessEnabled);
}
void AccessibilityControllerImpl::SetSwitchAccessIgnoreVirtualKeyEvent( void AccessibilityControllerImpl::SetSwitchAccessIgnoreVirtualKeyEvent(
bool should_ignore) { bool should_ignore) {
switch_access_event_handler_->set_ignore_virtual_key_events(should_ignore); switch_access_event_handler_->set_ignore_virtual_key_events(should_ignore);
...@@ -647,6 +705,11 @@ void AccessibilityControllerImpl::SetStickyKeysEnabled(bool enabled) { ...@@ -647,6 +705,11 @@ void AccessibilityControllerImpl::SetStickyKeysEnabled(bool enabled) {
active_user_prefs_->CommitPendingWrite(); active_user_prefs_->CommitPendingWrite();
} }
bool AccessibilityControllerImpl::IsStickyKeysSettingVisibleInTray() {
return IsAccessibilityFeatureVisibleInTrayMenu(
prefs::kAccessibilityStickyKeysEnabled);
}
void AccessibilityControllerImpl::SetVirtualKeyboardEnabled(bool enabled) { void AccessibilityControllerImpl::SetVirtualKeyboardEnabled(bool enabled) {
if (!active_user_prefs_) if (!active_user_prefs_)
return; return;
...@@ -655,6 +718,11 @@ void AccessibilityControllerImpl::SetVirtualKeyboardEnabled(bool enabled) { ...@@ -655,6 +718,11 @@ void AccessibilityControllerImpl::SetVirtualKeyboardEnabled(bool enabled) {
active_user_prefs_->CommitPendingWrite(); active_user_prefs_->CommitPendingWrite();
} }
bool AccessibilityControllerImpl::IsVirtualKeyboardSettingVisibleInTray() {
return IsAccessibilityFeatureVisibleInTrayMenu(
prefs::kAccessibilityVirtualKeyboardEnabled);
}
void AccessibilityControllerImpl::TriggerAccessibilityAlert( void AccessibilityControllerImpl::TriggerAccessibilityAlert(
AccessibilityAlert alert) { AccessibilityAlert alert) {
if (client_) if (client_)
......
...@@ -75,6 +75,8 @@ class ASH_EXPORT AccessibilityControllerImpl : public AccessibilityController, ...@@ -75,6 +75,8 @@ class ASH_EXPORT AccessibilityControllerImpl : public AccessibilityController,
void SetAutoclickEnabled(bool enabled); void SetAutoclickEnabled(bool enabled);
bool autoclick_enabled() const { return autoclick_enabled_; } bool autoclick_enabled() const { return autoclick_enabled_; }
bool IsAutoclickSettingVisibleInTray();
void SetAutoclickEventType(AutoclickEventType event_type); void SetAutoclickEventType(AutoclickEventType event_type);
AutoclickEventType GetAutoclickEventType(); AutoclickEventType GetAutoclickEventType();
void SetAutoclickMenuPosition(AutoclickMenuPosition position); void SetAutoclickMenuPosition(AutoclickMenuPosition position);
...@@ -88,67 +90,65 @@ class ASH_EXPORT AccessibilityControllerImpl : public AccessibilityController, ...@@ -88,67 +90,65 @@ class ASH_EXPORT AccessibilityControllerImpl : public AccessibilityController,
void SetCaretHighlightEnabled(bool enabled); void SetCaretHighlightEnabled(bool enabled);
bool caret_highlight_enabled() const { return caret_highlight_enabled_; } bool caret_highlight_enabled() const { return caret_highlight_enabled_; }
bool IsCaretHighlightSettingVisibleInTray();
void SetCursorHighlightEnabled(bool enabled); void SetCursorHighlightEnabled(bool enabled);
bool cursor_highlight_enabled() const { return cursor_highlight_enabled_; } bool cursor_highlight_enabled() const { return cursor_highlight_enabled_; }
// Returns true if the cursor highlight is being controlled by a policy bool IsCursorHighlightSettingVisibleInTray();
// which enforces turning it on or its not being controlled by any type of
// policy and false otherwise.
bool GetTrayVisiblityOfCursorHighlightSetting();
void SetDictationEnabled(bool enabled); void SetDictationEnabled(bool enabled);
bool dictation_enabled() const { return dictation_enabled_; } bool dictation_enabled() const { return dictation_enabled_; }
// Returns true if the dictation is being controlled by a policy which bool IsDictationSettingVisibleInTray();
// enforces turning it on or its not being controlled by any type of policy
// and false otherwise.
bool GetTrayVisiblityOfDictationSetting();
void SetFocusHighlightEnabled(bool enabled); void SetFocusHighlightEnabled(bool enabled);
bool focus_highlight_enabled() const { return focus_highlight_enabled_; } bool focus_highlight_enabled() const { return focus_highlight_enabled_; }
bool IsFocusHighlightSettingVisibleInTray();
void SetFullscreenMagnifierEnabled(bool enabled); void SetFullscreenMagnifierEnabled(bool enabled);
bool IsFullscreenMagnifierEnabledForTesting();
bool IsFullScreenMagnifierSettingVisibleInTray();
void SetDockedMagnifierEnabledForTesting(bool enabled);
bool IsDockedMagnifierEnabledForTesting();
bool IsDockedMagnifierSettingVisibleInTray();
void SetHighContrastEnabled(bool enabled); void SetHighContrastEnabled(bool enabled);
bool high_contrast_enabled() const { return high_contrast_enabled_; } bool high_contrast_enabled() const { return high_contrast_enabled_; }
// Returns true if the high contrast is being controlled by a policy which bool IsHighContrastSettingVisibleInTray();
// enforces turning it on or its not being controlled by any type of policy
// and false otherwise.
bool GetTrayVisiblityOfHighContrastSetting();
void SetLargeCursorEnabled(bool enabled); void SetLargeCursorEnabled(bool enabled);
bool large_cursor_enabled() const { return large_cursor_enabled_; } bool large_cursor_enabled() const { return large_cursor_enabled_; }
// Returns true if the large cursor is being controlled by a policy which bool IsLargeCursorSettingVisibleInTray();
// enforces turning it on or its not being controlled by any type of policy
// and false otherwise.
bool GetTrayVisiblityOfLargeCursorSetting();
void SetMonoAudioEnabled(bool enabled); void SetMonoAudioEnabled(bool enabled);
bool mono_audio_enabled() const { return mono_audio_enabled_; } bool mono_audio_enabled() const { return mono_audio_enabled_; }
// Returns true if the mono audio is being controlled by a policy which bool IsMonoAudioSettingVisibleInTray();
// enforces turning it on or its not being controlled by any type of policy
// and false otherwise.
bool GetTrayVisiblityOfMonoAudioSetting();
void SetSpokenFeedbackEnabled(bool enabled, void SetSpokenFeedbackEnabled(bool enabled,
AccessibilityNotificationVisibility notify); AccessibilityNotificationVisibility notify);
bool spoken_feedback_enabled() const { return spoken_feedback_enabled_; } bool spoken_feedback_enabled() const { return spoken_feedback_enabled_; }
bool IsSpokenFeedbackSettingVisibleInTray();
void SetSelectToSpeakEnabled(bool enabled); void SetSelectToSpeakEnabled(bool enabled);
bool select_to_speak_enabled() const { return select_to_speak_enabled_; } bool select_to_speak_enabled() const { return select_to_speak_enabled_; }
bool IsSelectToSpeakSettingVisibleInTray();
void RequestSelectToSpeakStateChange(); void RequestSelectToSpeakStateChange();
SelectToSpeakState GetSelectToSpeakState() const; SelectToSpeakState GetSelectToSpeakState() const;
void SetStickyKeysEnabled(bool enabled); void SetStickyKeysEnabled(bool enabled);
bool sticky_keys_enabled() const { return sticky_keys_enabled_; } bool sticky_keys_enabled() const { return sticky_keys_enabled_; }
bool IsStickyKeysSettingVisibleInTray();
void SetSwitchAccessEnabled(bool enabled); void SetSwitchAccessEnabled(bool enabled);
bool switch_access_enabled() const { return switch_access_enabled_; } bool switch_access_enabled() const { return switch_access_enabled_; }
bool IsSwitchAccessSettingVisibleInTray();
void SetSwitchAccessIgnoreVirtualKeyEvent(bool should_ignore); void SetSwitchAccessIgnoreVirtualKeyEvent(bool should_ignore);
void SetVirtualKeyboardEnabled(bool enabled); void SetVirtualKeyboardEnabled(bool enabled);
bool virtual_keyboard_enabled() const { return virtual_keyboard_enabled_; } bool virtual_keyboard_enabled() const { return virtual_keyboard_enabled_; }
bool IsVirtualKeyboardSettingVisibleInTray();
bool dictation_active() const { return dictation_active_; } bool dictation_active() const { return dictation_active_; }
......
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