| Index: ui/aura/root_window.cc
|
| diff --git a/ui/aura/root_window.cc b/ui/aura/root_window.cc
|
| index 128a04424d45ae084e9b6ecfbd659e1d1b42979a..332a88999ac77470ac9d922f9d24a44c5079965d 100644
|
| --- a/ui/aura/root_window.cc
|
| +++ b/ui/aura/root_window.cc
|
| @@ -398,6 +398,11 @@ void RootWindow::MoveCursorToInternal(const gfx::Point& root_location,
|
| ui::EventDispatchDetails RootWindow::DispatchMouseEnterOrExit(
|
| const ui::MouseEvent& event,
|
| ui::EventType type) {
|
| + if (event.type() != ui::ET_MOUSE_CAPTURE_CHANGED &&
|
| + !(event.flags() & ui::EF_IS_SYNTHESIZED)) {
|
| + SetLastMouseLocation(window(), event.root_location());
|
| + }
|
| +
|
| if (!mouse_moved_handler_ || !mouse_moved_handler_->delegate())
|
| return DispatchDetails();
|
|
|
| @@ -793,7 +798,6 @@ ui::EventDispatchDetails RootWindow::SynthesizeMouseMoveEvent() {
|
| return details;
|
| gfx::Point host_mouse_location = root_mouse_location;
|
| host()->ConvertPointToHost(&host_mouse_location);
|
| -
|
| ui::MouseEvent event(ui::ET_MOUSE_MOVED,
|
| host_mouse_location,
|
| host_mouse_location,
|
| @@ -810,11 +814,11 @@ void RootWindow::PreDispatchLocatedEvent(Window* target,
|
| event->set_flags(flags);
|
|
|
| if (!dispatching_held_event_ &&
|
| - (event->IsMouseEvent() || event->IsScrollEvent())) {
|
| + (event->IsMouseEvent() || event->IsScrollEvent()) &&
|
| + !(event->flags() & ui::EF_IS_SYNTHESIZED)) {
|
| if (event->type() != ui::ET_MOUSE_CAPTURE_CHANGED)
|
| SetLastMouseLocation(window(), event->root_location());
|
| - if (!(event->flags() & ui::EF_IS_SYNTHESIZED))
|
| - synthesize_mouse_move_ = false;
|
| + synthesize_mouse_move_ = false;
|
| }
|
| }
|
|
|
|
|