summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ash/ash_strings.grd3
-rw-r--r--ash/shell/shell_delegate_impl.cc11
-rw-r--r--ash/shell/shell_delegate_impl.h3
-rw-r--r--ash/shell_delegate.h6
-rw-r--r--ash/system/tray_accessibility.cc23
-rw-r--r--ash/system/tray_accessibility.h2
-rw-r--r--ash/test/test_shell_delegate.cc9
-rw-r--r--ash/test/test_shell_delegate.h3
-rw-r--r--chrome/browser/chromeos/system/ash_system_tray_delegate.cc5
-rw-r--r--chrome/browser/chromeos/system/tray_accessibility_browsertest.cc78
-rw-r--r--chrome/browser/ui/ash/chrome_shell_delegate.h2
-rw-r--r--chrome/browser/ui/ash/chrome_shell_delegate_chromeos.cc10
-rw-r--r--chrome/browser/ui/ash/chrome_shell_delegate_views.cc7
13 files changed, 157 insertions, 5 deletions
diff --git a/ash/ash_strings.grd b/ash/ash_strings.grd
index e3aab8e..d12b4bd 100644
--- a/ash/ash_strings.grd
+++ b/ash/ash_strings.grd
@@ -397,6 +397,9 @@ Press Shift + Alt to switch.
<message name="IDS_ASH_STATUS_TRAY_ACCESSIBILITY_SCREEN_MAGNIFIER" desc="The label used in the accessibility menu of the system tray to toggle on/off magnifier feature.">
Screen magnifier
</message>
+ <message name="IDS_ASH_STATUS_TRAY_ACCESSIBILITY_LARGE_CURSOR" desc="The label used in the accessibility menu of the system tray to toggle on/off large cursor feature.">
+ Large Cursor
+ </message>
<message name="IDS_ASH_STATUS_TRAY_ACCESSIBILITY_LEARN_MORE" desc="The label used in the accessibility menu of the system tray
to open a webpage (article on help center) containing explanation about accessibility feature.">
Learn more...
diff --git a/ash/shell/shell_delegate_impl.cc b/ash/shell/shell_delegate_impl.cc
index cd9e542..1fc782c 100644
--- a/ash/shell/shell_delegate_impl.cc
+++ b/ash/shell/shell_delegate_impl.cc
@@ -59,7 +59,8 @@ ShellDelegateImpl::ShellDelegateImpl()
spoken_feedback_enabled_(false),
high_contrast_enabled_(false),
screen_magnifier_enabled_(false),
- screen_magnifier_type_(kDefaultMagnifierType) {
+ screen_magnifier_type_(kDefaultMagnifierType),
+ large_cursor_enabled_(false) {
}
ShellDelegateImpl::~ShellDelegateImpl() {
@@ -170,6 +171,14 @@ MagnifierType ShellDelegateImpl::GetMagnifierType() const {
return screen_magnifier_type_;
}
+void ShellDelegateImpl::SetLargeCursorEnabled(bool enabled) {
+ large_cursor_enabled_ = enabled;
+}
+
+bool ShellDelegateImpl::IsLargeCursorEnabled() const {
+ return large_cursor_enabled_;
+}
+
bool ShellDelegateImpl::ShouldAlwaysShowAccessibilityMenu() const {
return false;
}
diff --git a/ash/shell/shell_delegate_impl.h b/ash/shell/shell_delegate_impl.h
index 014e48c..c01b201 100644
--- a/ash/shell/shell_delegate_impl.h
+++ b/ash/shell/shell_delegate_impl.h
@@ -54,6 +54,8 @@ class ShellDelegateImpl : public ash::ShellDelegate {
virtual void SetMagnifierType(MagnifierType type) OVERRIDE;
virtual bool IsMagnifierEnabled() const OVERRIDE;
virtual MagnifierType GetMagnifierType() const OVERRIDE;
+ virtual void SetLargeCursorEnabled(bool enabled) OVERRIDE;
+ virtual bool IsLargeCursorEnabled() const OVERRIDE;
virtual bool ShouldAlwaysShowAccessibilityMenu() const OVERRIDE;
virtual void SilenceSpokenFeedback() const OVERRIDE;
virtual app_list::AppListViewDelegate* CreateAppListViewDelegate() OVERRIDE;
@@ -89,6 +91,7 @@ class ShellDelegateImpl : public ash::ShellDelegate {
bool high_contrast_enabled_;
bool screen_magnifier_enabled_;
MagnifierType screen_magnifier_type_;
+ bool large_cursor_enabled_;
DISALLOW_COPY_AND_ASSIGN(ShellDelegateImpl);
};
diff --git a/ash/shell_delegate.h b/ash/shell_delegate.h
index 9aec503..f9f6bf8 100644
--- a/ash/shell_delegate.h
+++ b/ash/shell_delegate.h
@@ -182,6 +182,12 @@ class ASH_EXPORT ShellDelegate {
// Returns the current screen magnifier mode.
virtual MagnifierType GetMagnifierType() const = 0;
+ // Invoked to enable Large Cursor.
+ virtual void SetLargeCursorEnabled(bool enabled) = 0;
+
+ // Returns if Large Cursor is enabled or not.
+ virtual bool IsLargeCursorEnabled() const = 0;
+
// Returns true if the user want to show accesibility menu even when all the
// accessibility features are disabled.
virtual bool ShouldAlwaysShowAccessibilityMenu() const = 0;
diff --git a/ash/system/tray_accessibility.cc b/ash/system/tray_accessibility.cc
index b4f1823..933a567 100644
--- a/ash/system/tray_accessibility.cc
+++ b/ash/system/tray_accessibility.cc
@@ -36,6 +36,7 @@ enum AccessibilityState {
A11Y_SPOKEN_FEEDBACK = 1 << 0,
A11Y_HIGH_CONTRAST = 1 << 1,
A11Y_SCREEN_MAGNIFIER = 1 << 2,
+ A11Y_LARGE_CURSOR = 1 << 3,
};
uint32 GetAccessibilityState() {
@@ -47,6 +48,8 @@ uint32 GetAccessibilityState() {
state |= A11Y_HIGH_CONTRAST;
if (shell_delegate->IsMagnifierEnabled())
state |= A11Y_SCREEN_MAGNIFIER;
+ if (shell_delegate->IsLargeCursorEnabled())
+ state |= A11Y_LARGE_CURSOR;
return state;
}
@@ -107,11 +110,13 @@ AccessibilityDetailedView::AccessibilityDetailedView(
spoken_feedback_view_(NULL),
high_contrast_view_(NULL),
screen_magnifier_view_(NULL),
+ large_cursor_view_(NULL),
help_view_(NULL),
settings_view_(NULL),
spoken_feedback_enabled_(false),
high_contrast_enabled_(false),
screen_magnifier_enabled_(false),
+ large_cursor_enabled_(false),
login_(login) {
Reset();
@@ -134,6 +139,17 @@ void AccessibilityDetailedView::AppendAccessibilityList() {
IDS_ASH_STATUS_TRAY_ACCESSIBILITY_SPOKEN_FEEDBACK),
spoken_feedback_enabled_ ? gfx::Font::BOLD : gfx::Font::NORMAL,
spoken_feedback_enabled_);
+
+ // Large Cursor item is shown only in Login screen.
+ if (login_ == user::LOGGED_IN_NONE) {
+ large_cursor_enabled_ = shell_delegate->IsLargeCursorEnabled();
+ large_cursor_view_ = AddScrollListItem(
+ bundle.GetLocalizedString(
+ IDS_ASH_STATUS_TRAY_ACCESSIBILITY_LARGE_CURSOR),
+ large_cursor_enabled_ ? gfx::Font::BOLD : gfx::Font::NORMAL,
+ large_cursor_enabled_);
+ }
+
high_contrast_enabled_ = shell_delegate->IsHighContrastEnabled();
high_contrast_view_ = AddScrollListItem(
bundle.GetLocalizedString(
@@ -203,6 +219,9 @@ void AccessibilityDetailedView::OnViewClicked(views::View* sender) {
shell_delegate->ToggleHighContrast();
} else if (sender == screen_magnifier_view_) {
shell_delegate->SetMagnifierEnabled(!shell_delegate->IsMagnifierEnabled());
+ } else if (large_cursor_view_ && sender == large_cursor_view_) {
+ shell_delegate->
+ SetLargeCursorEnabled(!shell_delegate->IsLargeCursorEnabled());
}
}
@@ -260,8 +279,6 @@ bool TrayAccessibility::GetInitialVisibility() {
views::View* TrayAccessibility::CreateDefaultView(user::LoginStatus status) {
CHECK(default_ == NULL);
- login_ = status;
-
// Shows accessibility menu if:
// - on login screen (not logged in);
// - "Enable accessibility menu" on chrome://settings is checked;
@@ -285,8 +302,6 @@ views::View* TrayAccessibility::CreateDetailedView(user::LoginStatus status) {
CHECK(detailed_popup_ == NULL);
CHECK(detailed_menu_ == NULL);
- login_ = status;
-
if (request_popup_view_) {
detailed_popup_ = new tray::AccessibilityPopupView(this);
request_popup_view_ = false;
diff --git a/ash/system/tray_accessibility.h b/ash/system/tray_accessibility.h
index e23f4b9..0171378 100644
--- a/ash/system/tray_accessibility.h
+++ b/ash/system/tray_accessibility.h
@@ -73,12 +73,14 @@ class AccessibilityDetailedView : public TrayDetailsView,
views::View* spoken_feedback_view_;
views::View* high_contrast_view_;
views::View* screen_magnifier_view_;;
+ views::View* large_cursor_view_;;
views::View* help_view_;
views::View* settings_view_;
bool spoken_feedback_enabled_;
bool high_contrast_enabled_;
bool screen_magnifier_enabled_;
+ bool large_cursor_enabled_;
user::LoginStatus login_;
friend class chromeos::TrayAccessibilityTest;
diff --git a/ash/test/test_shell_delegate.cc b/ash/test/test_shell_delegate.cc
index 6b36f45..532876e 100644
--- a/ash/test/test_shell_delegate.cc
+++ b/ash/test/test_shell_delegate.cc
@@ -26,6 +26,7 @@ TestShellDelegate::TestShellDelegate()
high_contrast_enabled_(false),
screen_magnifier_enabled_(false),
screen_magnifier_type_(kDefaultMagnifierType),
+ large_cursor_enabled_(false),
num_exit_requests_(0),
multi_profiles_enabled_(false),
test_session_state_delegate_(NULL) {
@@ -129,6 +130,14 @@ MagnifierType TestShellDelegate::GetMagnifierType() const {
return screen_magnifier_type_;
}
+void TestShellDelegate::SetLargeCursorEnabled(bool enabled) {
+ large_cursor_enabled_ = enabled;
+}
+
+bool TestShellDelegate::IsLargeCursorEnabled() const {
+ return large_cursor_enabled_;
+}
+
bool TestShellDelegate::ShouldAlwaysShowAccessibilityMenu() const {
return false;
}
diff --git a/ash/test/test_shell_delegate.h b/ash/test/test_shell_delegate.h
index c8b2906..b8a618b 100644
--- a/ash/test/test_shell_delegate.h
+++ b/ash/test/test_shell_delegate.h
@@ -57,6 +57,8 @@ class TestShellDelegate : public ShellDelegate {
virtual void SetMagnifierType(MagnifierType type) OVERRIDE;
virtual bool IsMagnifierEnabled() const OVERRIDE;
virtual MagnifierType GetMagnifierType() const OVERRIDE;
+ virtual void SetLargeCursorEnabled(bool enabled) OVERRIDE;
+ virtual bool IsLargeCursorEnabled() const OVERRIDE;
virtual bool ShouldAlwaysShowAccessibilityMenu() const OVERRIDE;
virtual void SilenceSpokenFeedback() const OVERRIDE;
virtual app_list::AppListViewDelegate* CreateAppListViewDelegate() OVERRIDE;
@@ -90,6 +92,7 @@ class TestShellDelegate : public ShellDelegate {
bool high_contrast_enabled_;
bool screen_magnifier_enabled_;
MagnifierType screen_magnifier_type_;
+ bool large_cursor_enabled_;
int num_exit_requests_;
bool multi_profiles_enabled_;
diff --git a/chrome/browser/chromeos/system/ash_system_tray_delegate.cc b/chrome/browser/chromeos/system/ash_system_tray_delegate.cc
index da97215..722d007 100644
--- a/chrome/browser/chromeos/system/ash_system_tray_delegate.cc
+++ b/chrome/browser/chromeos/system/ash_system_tray_delegate.cc
@@ -930,6 +930,11 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate,
base::Bind(&SystemTrayDelegate::UpdateShowLogoutButtonInTray,
base::Unretained(this)));
user_pref_registrar_->Add(
+ prefs::kLargeCursorEnabled,
+ base::Bind(&SystemTrayDelegate::OnAccessibilityModeChanged,
+ base::Unretained(this),
+ ash::A11Y_NOTIFICATION_NONE));
+ user_pref_registrar_->Add(
prefs::kShouldAlwaysShowAccessibilityMenu,
base::Bind(&SystemTrayDelegate::OnAccessibilityModeChanged,
base::Unretained(this),
diff --git a/chrome/browser/chromeos/system/tray_accessibility_browsertest.cc b/chrome/browser/chromeos/system/tray_accessibility_browsertest.cc
index 4040f32..9969d27 100644
--- a/chrome/browser/chromeos/system/tray_accessibility_browsertest.cc
+++ b/chrome/browser/chromeos/system/tray_accessibility_browsertest.cc
@@ -29,6 +29,7 @@
#include "chrome/common/pref_names.h"
#include "chrome/test/base/testing_profile.h"
#include "chromeos/chromeos_switches.h"
+#include "chromeos/login/login_state.h"
#include "content/public/test/test_utils.h"
#include "policy/policy_constants.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -165,6 +166,26 @@ class TrayAccessibilityTest
return tray()->detailed_menu_->screen_magnifier_enabled_;
}
+ bool IsLargeCursorEnabledOnDetailMenu() {
+ return tray()->detailed_menu_->large_cursor_enabled_;
+ }
+
+ bool IsSpokenFeedbackMenuShownOnDetailMenu() {
+ return tray()->detailed_menu_->spoken_feedback_view_;
+ }
+
+ bool IsHighContrastMenuShownOnDetailMenu() {
+ return tray()->detailed_menu_->high_contrast_view_;
+ }
+
+ bool IsScreenMagnifierMenuShownOnDetailMenu() {
+ return tray()->detailed_menu_->screen_magnifier_view_;
+ }
+
+ bool IsLargeCursorMenuShownOnDetailMenu() {
+ return tray()->detailed_menu_->large_cursor_view_;
+ }
+
policy::MockConfigurationPolicyProvider provider_;
};
@@ -449,11 +470,14 @@ IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, MAYBE_ClickDetailMenu) {
}
IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, CheckMarksOnDetailMenu) {
+ SetLoginStatus(ash::user::LOGGED_IN_NONE);
+
// At first, all of the check is unchecked.
EXPECT_TRUE(CreateDetailedMenu());
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
+ EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
CloseDetailMenu();
// Enabling spoken feedback.
@@ -463,6 +487,7 @@ IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, CheckMarksOnDetailMenu) {
EXPECT_TRUE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
+ EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
CloseDetailMenu();
// Disabling spoken feedback.
@@ -472,6 +497,7 @@ IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, CheckMarksOnDetailMenu) {
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
+ EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
CloseDetailMenu();
// Enabling high contrast.
@@ -480,6 +506,7 @@ IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, CheckMarksOnDetailMenu) {
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_TRUE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
+ EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
CloseDetailMenu();
// Disabling high contrast.
@@ -488,6 +515,7 @@ IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, CheckMarksOnDetailMenu) {
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
+ EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
CloseDetailMenu();
// Enabling full screen magnifier.
@@ -496,6 +524,7 @@ IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, CheckMarksOnDetailMenu) {
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_TRUE(IsScreenMagnifierEnabledOnDetailMenu());
+ EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
CloseDetailMenu();
// Disabling screen magnifier.
@@ -504,6 +533,25 @@ IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, CheckMarksOnDetailMenu) {
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
+ EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
+ CloseDetailMenu();
+
+ // Enabling large cursor.
+ AccessibilityManager::Get()->EnableLargeCursor(true);
+ EXPECT_TRUE(CreateDetailedMenu());
+ EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
+ EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
+ EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
+ EXPECT_TRUE(IsLargeCursorEnabledOnDetailMenu());
+ CloseDetailMenu();
+
+ // Disabling large cursor.
+ AccessibilityManager::Get()->EnableLargeCursor(false);
+ EXPECT_TRUE(CreateDetailedMenu());
+ EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
+ EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
+ EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
+ EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
CloseDetailMenu();
// Enabling all of the a11y features.
@@ -511,10 +559,12 @@ IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, CheckMarksOnDetailMenu) {
true, NULL, ash::A11Y_NOTIFICATION_NONE);
AccessibilityManager::Get()->EnableHighContrast(true);
SetMagnifierEnabled(true);
+ AccessibilityManager::Get()->EnableLargeCursor(true);
EXPECT_TRUE(CreateDetailedMenu());
EXPECT_TRUE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_TRUE(IsHighContrastEnabledOnDetailMenu());
EXPECT_TRUE(IsScreenMagnifierEnabledOnDetailMenu());
+ EXPECT_TRUE(IsLargeCursorEnabledOnDetailMenu());
CloseDetailMenu();
// Disabling all of the a11y features.
@@ -522,10 +572,38 @@ IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, CheckMarksOnDetailMenu) {
false, NULL, ash::A11Y_NOTIFICATION_NONE);
AccessibilityManager::Get()->EnableHighContrast(false);
SetMagnifierEnabled(false);
+ AccessibilityManager::Get()->EnableLargeCursor(false);
EXPECT_TRUE(CreateDetailedMenu());
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
+ EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
+ CloseDetailMenu();
+}
+
+IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, CheckMenuVisibilityOnDetailMenu) {
+ SetLoginStatus(ash::user::LOGGED_IN_NONE);
+ EXPECT_TRUE(CreateDetailedMenu());
+ EXPECT_TRUE(IsSpokenFeedbackMenuShownOnDetailMenu());
+ EXPECT_TRUE(IsHighContrastMenuShownOnDetailMenu());
+ EXPECT_TRUE(IsScreenMagnifierMenuShownOnDetailMenu());
+ EXPECT_TRUE(IsLargeCursorMenuShownOnDetailMenu());
+ CloseDetailMenu();
+
+ SetLoginStatus(ash::user::LOGGED_IN_USER);
+ EXPECT_TRUE(CreateDetailedMenu());
+ EXPECT_TRUE(IsSpokenFeedbackMenuShownOnDetailMenu());
+ EXPECT_TRUE(IsHighContrastMenuShownOnDetailMenu());
+ EXPECT_TRUE(IsScreenMagnifierMenuShownOnDetailMenu());
+ EXPECT_FALSE(IsLargeCursorMenuShownOnDetailMenu());
+ CloseDetailMenu();
+
+ SetLoginStatus(ash::user::LOGGED_IN_LOCKED);
+ EXPECT_TRUE(CreateDetailedMenu());
+ EXPECT_TRUE(IsSpokenFeedbackMenuShownOnDetailMenu());
+ EXPECT_TRUE(IsHighContrastMenuShownOnDetailMenu());
+ EXPECT_TRUE(IsScreenMagnifierMenuShownOnDetailMenu());
+ EXPECT_FALSE(IsLargeCursorMenuShownOnDetailMenu());
CloseDetailMenu();
}
diff --git a/chrome/browser/ui/ash/chrome_shell_delegate.h b/chrome/browser/ui/ash/chrome_shell_delegate.h
index 0beea0d..c6e41db 100644
--- a/chrome/browser/ui/ash/chrome_shell_delegate.h
+++ b/chrome/browser/ui/ash/chrome_shell_delegate.h
@@ -71,6 +71,8 @@ class ChromeShellDelegate : public ash::ShellDelegate,
virtual void SetMagnifierType(ash::MagnifierType type) OVERRIDE;
virtual bool IsMagnifierEnabled() const OVERRIDE;
virtual ash::MagnifierType GetMagnifierType() const OVERRIDE;
+ virtual void SetLargeCursorEnabled(bool enabled) OVERRIDE;
+ virtual bool IsLargeCursorEnabled() const OVERRIDE;
virtual bool ShouldAlwaysShowAccessibilityMenu() const OVERRIDE;
virtual void SilenceSpokenFeedback() const OVERRIDE;
virtual app_list::AppListViewDelegate* CreateAppListViewDelegate() OVERRIDE;
diff --git a/chrome/browser/ui/ash/chrome_shell_delegate_chromeos.cc b/chrome/browser/ui/ash/chrome_shell_delegate_chromeos.cc
index 7d1ec86..81bc568 100644
--- a/chrome/browser/ui/ash/chrome_shell_delegate_chromeos.cc
+++ b/chrome/browser/ui/ash/chrome_shell_delegate_chromeos.cc
@@ -181,6 +181,16 @@ double ChromeShellDelegate::GetSavedScreenMagnifierScale() {
return std::numeric_limits<double>::min();
}
+void ChromeShellDelegate::SetLargeCursorEnabled(bool enabled) {
+ DCHECK(chromeos::AccessibilityManager::Get());
+ return chromeos::AccessibilityManager::Get()->EnableLargeCursor(enabled);
+}
+
+bool ChromeShellDelegate::IsLargeCursorEnabled() const {
+ DCHECK(chromeos::AccessibilityManager::Get());
+ return chromeos::AccessibilityManager::Get()->IsLargeCursorEnabled();
+}
+
ash::CapsLockDelegate* ChromeShellDelegate::CreateCapsLockDelegate() {
chromeos::input_method::XKeyboard* xkeyboard =
chromeos::input_method::InputMethodManager::Get()->GetXKeyboard();
diff --git a/chrome/browser/ui/ash/chrome_shell_delegate_views.cc b/chrome/browser/ui/ash/chrome_shell_delegate_views.cc
index 7169cc5..c2bcb8e 100644
--- a/chrome/browser/ui/ash/chrome_shell_delegate_views.cc
+++ b/chrome/browser/ui/ash/chrome_shell_delegate_views.cc
@@ -55,6 +55,13 @@ void ChromeShellDelegate::ToggleSpokenFeedback(
ash::AccessibilityNotificationVisibility notify) {
}
+void ChromeShellDelegate::SetLargeCursorEnabled(bool enalbed) {
+}
+
+bool ChromeShellDelegate::IsLargeCursorEnabled() const {
+ return false;
+}
+
bool ChromeShellDelegate::IsHighContrastEnabled() const {
return false;
}