| Index: content/browser/renderer_host/render_widget_host_view_aura.cc
|
| diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
|
| index 51d18a0b1a43a10a6ce486dac2d2a40ee032d1b5..6a010b5b6fa522187f13ddc95888e116937a7d78 100644
|
| --- a/content/browser/renderer_host/render_widget_host_view_aura.cc
|
| +++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
|
| @@ -2417,11 +2417,11 @@ void RenderWidgetHostViewAura::UpdateCursorIfOverSelf() {
|
|
|
| gfx::Point cursor_screen_point = screen->GetCursorScreenPoint();
|
|
|
| -#if !defined(OS_CHROMEOS)
|
| +#if defined(OS_WIN)
|
| // Ignore cursor update messages if the window under the cursor is not us.
|
| aura::Window* window_at_screen_point = screen->GetWindowAtScreenPoint(
|
| cursor_screen_point);
|
| -#if defined(OS_WIN)
|
| +
|
| // On Windows we may fail to retrieve the aura Window at the current cursor
|
| // position. This is because the WindowFromPoint API may return the legacy
|
| // window which is not associated with an aura Window. In this case we need
|
| @@ -2437,11 +2437,14 @@ void RenderWidgetHostViewAura::UpdateCursorIfOverSelf() {
|
| window_at_screen_point = screen_win->GetNativeWindowFromHWND(
|
| hwnd_at_point);
|
| }
|
| -#endif
|
| +
|
| if (!window_at_screen_point ||
|
| (window_at_screen_point->GetRootWindow() != root_window)) {
|
| return;
|
| }
|
| +#elif !defined(OS_CHROMEOS)
|
| + if (!screen->IsWindowUnderCursor(window_))
|
| + return;
|
| #endif
|
|
|
| gfx::Point root_window_point = cursor_screen_point;
|
|
|