| Index: ui/ozone/platform/dri/dri_cursor.cc
|
| diff --git a/ui/ozone/platform/dri/dri_cursor.cc b/ui/ozone/platform/dri/dri_cursor.cc
|
| index d500bbbc38fd2bfaa04df1cedcfc1fe2afa1fa7b..e03cf9341e86929990e5d35aa5c0b27497024d5e 100644
|
| --- a/ui/ozone/platform/dri/dri_cursor.cc
|
| +++ b/ui/ozone/platform/dri/dri_cursor.cc
|
| @@ -61,14 +61,13 @@ void DriCursor::MoveCursorTo(gfx::AcceleratedWidget widget,
|
| if (widget != cursor_window_ && cursor_window_ != gfx::kNullAcceleratedWidget)
|
| HideCursor();
|
|
|
| + DriWindow* window = window_manager_->GetWindow(widget);
|
| +
|
| cursor_window_ = widget;
|
| cursor_location_ = location;
|
| + cursor_display_bounds_ = window->GetBounds();
|
|
|
| - if (cursor_window_ == gfx::kNullAcceleratedWidget)
|
| - return;
|
| -
|
| - DriWindow* window = window_manager_->GetWindow(cursor_window_);
|
| - const gfx::Size& size = window->GetBounds().size();
|
| + const gfx::Size& size = cursor_display_bounds_.size();
|
| cursor_location_.SetToMax(gfx::PointF(0, 0));
|
| // Right and bottom edges are exclusive.
|
| cursor_location_.SetToMin(gfx::PointF(size.width() - 1, size.height() - 1));
|
| @@ -88,6 +87,9 @@ void DriCursor::MoveCursorTo(const gfx::PointF& location) {
|
| }
|
|
|
| void DriCursor::MoveCursor(const gfx::Vector2dF& delta) {
|
| + if (cursor_window_ == gfx::kNullAcceleratedWidget)
|
| + return;
|
| +
|
| #if defined(OS_CHROMEOS)
|
| gfx::Vector2dF transformed_delta = delta;
|
| ui::CursorController::GetInstance()->ApplyCursorConfigForWindow(
|
| @@ -99,11 +101,7 @@ void DriCursor::MoveCursor(const gfx::Vector2dF& delta) {
|
| }
|
|
|
| gfx::Rect DriCursor::GetCursorDisplayBounds() {
|
| - if (cursor_window_ == gfx::kNullAcceleratedWidget)
|
| - return gfx::Rect();
|
| -
|
| - DriWindow* window = window_manager_->GetWindow(cursor_window_);
|
| - return window->GetBounds();
|
| + return cursor_display_bounds_;
|
| }
|
|
|
| gfx::AcceleratedWidget DriCursor::GetCursorWindow() {
|
|
|