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 6ee48c8cfa06983c58c90ce306658022b96d6ac9..0dc9ae53704110228670e2087b8f89db860da8bc 100644 |
--- a/ui/ozone/platform/drm/host/drm_cursor.cc |
+++ b/ui/ozone/platform/drm/host/drm_cursor.cc |
@@ -27,6 +27,7 @@ class NullProxy : public DrmCursorProxy { |
const gfx::Point& point, |
int frame_delay_ms) override {} |
void Move(gfx::AcceleratedWidget window, const gfx::Point& point) override {} |
+ void InitializeOnEvdev() override {} |
private: |
DISALLOW_COPY_AND_ASSIGN(NullProxy); |
@@ -37,7 +38,9 @@ class NullProxy : public DrmCursorProxy { |
DrmCursor::DrmCursor(DrmWindowHostManager* window_manager) |
: window_(gfx::kNullAcceleratedWidget), |
window_manager_(window_manager), |
- proxy_(new NullProxy()) {} |
+ proxy_(new NullProxy()) { |
+ evdev_thread_checker_.DetachFromThread(); |
+} |
DrmCursor::~DrmCursor() {} |
@@ -177,6 +180,7 @@ void DrmCursor::MoveCursorTo(const gfx::PointF& screen_location) { |
} |
void DrmCursor::MoveCursor(const gfx::Vector2dF& delta) { |
+ DCHECK(evdev_thread_checker_.CalledOnValidThread()); |
TRACE_EVENT0("drmcursor", "DrmCursor::MoveCursor"); |
base::AutoLock lock(lock_); |
@@ -210,6 +214,11 @@ gfx::Rect DrmCursor::GetCursorConfinedBounds() { |
return confined_bounds_ + display_bounds_in_screen_.OffsetFromOrigin(); |
} |
+void DrmCursor::InitializeOnEvdev() { |
+ DCHECK(evdev_thread_checker_.CalledOnValidThread()); |
+ proxy_->InitializeOnEvdev(); |
+} |
+ |
void DrmCursor::SetCursorLocationLocked(const gfx::PointF& location) { |
gfx::PointF clamped_location = location; |
clamped_location.SetToMax(gfx::PointF(confined_bounds_.origin())); |