Chromium Code Reviews| 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 |