Index: ui/aura/root_window.cc |
diff --git a/ui/aura/root_window.cc b/ui/aura/root_window.cc |
index 968a25ce6edd18ff3a3bcac12f54f85e287bc8aa..1d7965f3703f8fe80c27401aeac78e3db83699e0 100644 |
--- a/ui/aura/root_window.cc |
+++ b/ui/aura/root_window.cc |
@@ -289,9 +289,9 @@ void RootWindow::OnMouseEventsEnableStateChanged(bool enabled) { |
} |
void RootWindow::MoveCursorTo(const gfx::Point& location_in_dip) { |
- gfx::Point3F point_3f(location_in_dip); |
- GetRootTransform().TransformPoint(point_3f); |
- host_->MoveCursorTo(gfx::ToFlooredPoint(point_3f.AsPointF())); |
+ gfx::Point location(location_in_dip); |
+ ConvertPointToHost(&location); |
+ host_->MoveCursorTo(location); |
SetLastMouseLocation(this, location_in_dip); |
oshima
2013/04/25 14:58:13
Sorry if I wasn't clear. Can you refactor this met
yoshiki
2013/04/25 16:05:19
We can't use MoveCursorToHostLoation from MoveCurs
oshima
2013/04/25 16:09:02
I think we should set this in both cases.
yoshiki
2013/04/25 16:23:27
Done. Moved 'synthesize_mouse_move_ = false' to Mo
|
client::CursorClient* cursor_client = client::GetCursorClient(this); |
if (cursor_client) { |
@@ -301,6 +301,21 @@ void RootWindow::MoveCursorTo(const gfx::Point& location_in_dip) { |
} |
} |
+void RootWindow::MoveCursorToHostLoation(const gfx::Point& host_location) { |
+ host_->MoveCursorTo(host_location); |
sky
2013/04/25 14:41:35
Shouldn't moving the cursor trigger all of the fol
oshima
2013/04/25 14:58:13
Yes, but asynchronously. My understanding is that
yoshiki
2013/04/25 16:05:19
Right, I want to move the cursor synchronously.
sky
2013/04/25 16:46:59
Why is it important that the mouse is synchronous?
|
+ gfx::Point root_location(host_location); |
+ ConvertPointFromHost(&root_location); |
+ SetLastMouseLocation(this, root_location); |
+ client::CursorClient* cursor_client = client::GetCursorClient(this); |
+ if (cursor_client) { |
+ const gfx::Display& display = |
+ gfx::Screen::GetScreenFor(this)->GetDisplayNearestWindow(this); |
+ cursor_client->SetDisplay(display); |
+ } |
+ |
+ synthesize_mouse_move_ = false; |
+} |
+ |
bool RootWindow::ConfineCursorToWindow() { |
// We would like to be able to confine the cursor to that window. However, |
// currently, we do not have such functionality in X. So we just confine |