diff options
author | rsadam@chromium.org <rsadam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-08 04:08:03 +0000 |
---|---|---|
committer | rsadam@chromium.org <rsadam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-08 04:08:03 +0000 |
commit | e76096a5f9c6afac758789ed4b96be43d99802ea (patch) | |
tree | a99fa7441f06fa0f3568c8e4d3538dbb3a928b3f /ash/shell.h | |
parent | 62b1b6c7bacb3b302a464c8a26fc410ada9e6262 (diff) | |
download | chromium_src-e76096a5f9c6afac758789ed4b96be43d99802ea.zip chromium_src-e76096a5f9c6afac758789ed4b96be43d99802ea.tar.gz chromium_src-e76096a5f9c6afac758789ed4b96be43d99802ea.tar.bz2 |
If the user clicks on a key on the accessibility virtual keyboard the cursor
disappears, which makes typing the next key difficult. This patch disables the
hide cursor whenever the accessibility keyboard is enabled.
Added class ash::ash_cursor_manager which extends wm::cursor_manager, and moved
the logic of whether or not to hide the cursor on key events to here.
Follow up bug to add unittest: crbug.com/359324
BUG=355094
Review URL: https://codereview.chromium.org/213743013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262299 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/shell.h')
-rw-r--r-- | ash/shell.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/ash/shell.h b/ash/shell.h index 0692bc1..e8ce236 100644 --- a/ash/shell.h +++ b/ash/shell.h @@ -12,6 +12,7 @@ #include "ash/metrics/user_metrics_recorder.h" #include "ash/shelf/shelf_types.h" #include "ash/system/user/login_status.h" +#include "ash/wm/cursor_manager_chromeos.h" #include "ash/wm/system_modal_container_event_filter_delegate.h" #include "base/basictypes.h" #include "base/compiler_specific.h" @@ -720,7 +721,14 @@ class ASH_EXPORT Shell : public SystemModalContainerEventFilterDelegate, // |native_cursor_manager_| is owned by |cursor_manager_|, but we keep a // pointer to vend to test code. AshNativeCursorManager* native_cursor_manager_; + +// Cursor may be hidden on certain key events in ChromeOS, whereas we never hide +// the cursor on Windows. +#if defined(OS_CHROMEOS) + CursorManager cursor_manager_; +#else // !defined(OS_CHROMEOS) ::wm::CursorManager cursor_manager_; +#endif // defined(OS_CHROMEOS) ObserverList<ShellObserver> observers_; |