Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(957)

Unified Diff: ui/ozone/platform/drm/host/drm_cursor.cc

Issue 2156093004: Use mojo for cursor control in ozone drm (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: review comments Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/ozone/platform/drm/host/drm_cursor.cc
diff --git a/ui/ozone/platform/drm/host/drm_cursor.cc b/ui/ozone/platform/drm/host/drm_cursor.cc
index 0dc9ae53704110228670e2087b8f89db860da8bc..ab82f53089f150626f8fcd25f502a193c62190f9 100644
--- a/ui/ozone/platform/drm/host/drm_cursor.cc
+++ b/ui/ozone/platform/drm/host/drm_cursor.cc
@@ -27,6 +27,8 @@ class NullProxy : public DrmCursorProxy {
const gfx::Point& point,
int frame_delay_ms) override {}
void Move(gfx::AcceleratedWidget window, const gfx::Point& point) override {}
+ void MoveEvdev(gfx::AcceleratedWidget window,
+ const gfx::Point& point) override {}
void InitializeOnEvdev() override {}
private:
@@ -163,7 +165,7 @@ void DrmCursor::MoveCursorTo(gfx::AcceleratedWidget window,
if (window != old_window)
SendCursorShowLocked();
else
- SendCursorMoveLocked();
+ SendCursorMoveLocked(UI);
}
void DrmCursor::MoveCursorTo(const gfx::PointF& screen_location) {
@@ -176,7 +178,7 @@ void DrmCursor::MoveCursorTo(const gfx::PointF& screen_location) {
SetCursorLocationLocked(screen_location -
display_bounds_in_screen_.OffsetFromOrigin());
- SendCursorMoveLocked();
+ SendCursorMoveLocked(UI);
spang 2016/07/22 19:52:54 Assuming MoveCursorTo() is called from UI is broke
}
void DrmCursor::MoveCursor(const gfx::Vector2dF& delta) {
@@ -196,7 +198,7 @@ void DrmCursor::MoveCursor(const gfx::Vector2dF& delta) {
#else
SetCursorLocationLocked(location_ + delta);
#endif
- SendCursorMoveLocked();
+ SendCursorMoveLocked(EVDEV);
}
bool DrmCursor::IsCursorVisible() {
@@ -242,10 +244,10 @@ void DrmCursor::SendCursorHideLocked() {
CursorSetLockTested(window_, std::vector<SkBitmap>(), gfx::Point(), 0);
}
-void DrmCursor::SendCursorMoveLocked() {
+void DrmCursor::SendCursorMoveLocked(ThreadType thread_type) {
if (!bitmap_)
return;
- MoveLockTested(window_, GetBitmapLocationLocked());
+ MoveLockTested(thread_type, window_, GetBitmapLocationLocked());
}
// Lock-testing helpers.
@@ -257,10 +259,14 @@ void DrmCursor::CursorSetLockTested(gfx::AcceleratedWidget window,
proxy_->CursorSet(window, bitmaps, point, frame_delay_ms);
}
-void DrmCursor::MoveLockTested(gfx::AcceleratedWidget window,
+void DrmCursor::MoveLockTested(ThreadType thread_type,
+ gfx::AcceleratedWidget window,
const gfx::Point& point) {
lock_.AssertAcquired();
- proxy_->Move(window, point);
+ if (thread_type == EVDEV)
+ proxy_->MoveEvdev(window, point);
+ else
+ proxy_->Move(window, point);
}

Powered by Google App Engine
This is Rietveld 408576698