summaryrefslogtreecommitdiffstats
path: root/ash/shell.h
diff options
context:
space:
mode:
authorrsadam@chromium.org <rsadam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-08 04:08:03 +0000
committerrsadam@chromium.org <rsadam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-08 04:08:03 +0000
commite76096a5f9c6afac758789ed4b96be43d99802ea (patch)
treea99fa7441f06fa0f3568c8e4d3538dbb3a928b3f /ash/shell.h
parent62b1b6c7bacb3b302a464c8a26fc410ada9e6262 (diff)
downloadchromium_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.h8
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_;