| Index: ui/events/x/events_x_utils.cc
|
| diff --git a/ui/events/x/events_x_utils.cc b/ui/events/x/events_x_utils.cc
|
| index 0e4f9a2669f432e4ded9814a1d7d0f9da08bcee6..704229d7ad9cd444c5395cfb6c6fe0d8b2ec2224 100644
|
| --- a/ui/events/x/events_x_utils.cc
|
| +++ b/ui/events/x/events_x_utils.cc
|
| @@ -312,11 +312,11 @@ std::unique_ptr<base::TickClock> g_tick_clock;
|
|
|
| // Takes Xlib Time and returns a time delta that is immune to timer rollover.
|
| // This function is not thread safe as we do not use a lock.
|
| -base::TimeDelta TimeDeltaFromXEventTime(Time timestamp) {
|
| +base::TimeTicks TimeTicksFromXEventTime(Time timestamp) {
|
| int64_t timestamp64 = timestamp;
|
|
|
| if (!timestamp)
|
| - return base::TimeDelta();
|
| + return base::TimeTicks();
|
|
|
| // If this is the first event that we get, assume the time stamp roll-over
|
| // might have happened before the process was started.
|
| @@ -329,7 +329,8 @@ base::TimeDelta TimeDeltaFromXEventTime(Time timestamp) {
|
|
|
| g_last_seen_timestamp_ms = timestamp64;
|
| if (!had_recent_rollover)
|
| - return base::TimeDelta::FromMilliseconds(g_rollover_ms + timestamp);
|
| + return base::TimeTicks() +
|
| + base::TimeDelta::FromMilliseconds(g_rollover_ms + timestamp);
|
|
|
| DCHECK(timestamp64 <= UINT32_MAX)
|
| << "X11 Time does not roll over 32 bit, the below logic is likely wrong";
|
| @@ -345,7 +346,7 @@ base::TimeDelta TimeDeltaFromXEventTime(Time timestamp) {
|
| DCHECK(delta < 60 * 1000 || g_tick_clock)
|
| << "Unexpected X11 event time, now: " << now_ticks
|
| << " event at: " << timestamp;
|
| - return base::TimeDelta::FromMilliseconds(now_ms - delta);
|
| + return base::TimeTicks() + base::TimeDelta::FromMilliseconds(now_ms - delta);
|
| }
|
|
|
| } // namespace
|
| @@ -522,41 +523,43 @@ int EventFlagsFromXEvent(const XEvent& xev) {
|
| return 0;
|
| }
|
|
|
| -base::TimeDelta EventTimeFromXEvent(const XEvent& xev) {
|
| +base::TimeTicks EventTimeFromXEvent(const XEvent& xev) {
|
| switch (xev.type) {
|
| case KeyPress:
|
| case KeyRelease:
|
| - return TimeDeltaFromXEventTime(xev.xkey.time);
|
| + return TimeTicksFromXEventTime(xev.xkey.time);
|
| case ButtonPress:
|
| case ButtonRelease:
|
| - return TimeDeltaFromXEventTime(xev.xbutton.time);
|
| + return TimeTicksFromXEventTime(xev.xbutton.time);
|
| break;
|
| case MotionNotify:
|
| - return TimeDeltaFromXEventTime(xev.xmotion.time);
|
| + return TimeTicksFromXEventTime(xev.xmotion.time);
|
| break;
|
| case EnterNotify:
|
| case LeaveNotify:
|
| - return TimeDeltaFromXEventTime(xev.xcrossing.time);
|
| + return TimeTicksFromXEventTime(xev.xcrossing.time);
|
| break;
|
| case GenericEvent: {
|
| double start, end;
|
| double touch_timestamp;
|
| if (GetGestureTimes(xev, &start, &end)) {
|
| // If the driver supports gesture times, use them.
|
| - return base::TimeDelta::FromMicroseconds(end * 1000000);
|
| + return base::TimeTicks() +
|
| + base::TimeDelta::FromMicroseconds(end * 1000000);
|
| } else if (DeviceDataManagerX11::GetInstance()->GetEventData(
|
| xev, DeviceDataManagerX11::DT_TOUCH_RAW_TIMESTAMP,
|
| &touch_timestamp)) {
|
| - return base::TimeDelta::FromMicroseconds(touch_timestamp * 1000000);
|
| + return base::TimeTicks() +
|
| + base::TimeDelta::FromMicroseconds(touch_timestamp * 1000000);
|
| } else {
|
| XIDeviceEvent* xide = static_cast<XIDeviceEvent*>(xev.xcookie.data);
|
| - return TimeDeltaFromXEventTime(xide->time);
|
| + return TimeTicksFromXEventTime(xide->time);
|
| }
|
| break;
|
| }
|
| }
|
| NOTREACHED();
|
| - return base::TimeDelta();
|
| + return base::TimeTicks();
|
| }
|
|
|
| gfx::Point EventLocationFromXEvent(const XEvent& xev) {
|
|
|