Index: ui/aura/root_window.cc |
diff --git a/ui/aura/root_window.cc b/ui/aura/root_window.cc |
index 9c22cbe20083e1da2e677cf2bd52f793f7be879e..a82ddd6931381b97629510e6656c2a0a5144cb9b 100644 |
--- a/ui/aura/root_window.cc |
+++ b/ui/aura/root_window.cc |
@@ -231,8 +231,14 @@ void RootWindow::SetCursor(gfx::NativeCursor cursor) { |
} |
void RootWindow::ShowCursor(bool show) { |
- cursor_shown_ = show; |
- host_->ShowCursor(show); |
+ // Send entered / exited so that visual state can be updated to match |
+ // cursor state. |
+ if (show != cursor_shown_) { |
+ cursor_shown_ = show; |
+ host_->ShowCursor(show); |
+ Env::GetInstance()->SetCursorShown(show); |
+ PostMouseMoveEventAfterWindowChange(); |
+ } |
} |
void RootWindow::MoveCursorTo(const gfx::Point& location_in_dip) { |