Chromium Code Reviews| 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 aab272373068313cf5ae95cd5fbb27b34fa12287..fc781705830477c54f431432eb6eae209d15a859 100644 |
| --- a/ui/events/x/events_x_utils.cc |
| +++ b/ui/events/x/events_x_utils.cc |
| @@ -20,6 +20,7 @@ |
| #include "build/build_config.h" |
| #include "ui/display/display.h" |
| #include "ui/display/screen.h" |
| +#include "ui/events/base_event_utils.h" |
| #include "ui/events/devices/x11/device_data_manager_x11.h" |
| #include "ui/events/devices/x11/device_list_cache_x11.h" |
| #include "ui/events/devices/x11/touch_factory_x11.h" |
| @@ -314,11 +315,11 @@ base::LazyInstance<std::unique_ptr<base::TickClock>>::Leaky g_tick_clock = |
| // Takes Xlib Time and returns a time delta that is immune to timer rollover. |
|
miu
2016/05/16 20:05:35
comment need edit: s/time delta/base::TimeTicks/
majidvp
2016/05/21 01:38:00
Done.
|
| // 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. |
| @@ -331,7 +332,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"; |
| @@ -348,7 +350,7 @@ base::TimeDelta TimeDeltaFromXEventTime(Time timestamp) { |
| DCHECK(delta < 60 * 1000 || g_tick_clock.Get() != nullptr) |
| << "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 |
| @@ -525,41 +527,41 @@ 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 ui::EventTimeStampFromSeconds(end); |
| } else if (DeviceDataManagerX11::GetInstance()->GetEventData( |
| xev, DeviceDataManagerX11::DT_TOUCH_RAW_TIMESTAMP, |
| &touch_timestamp)) { |
| - return base::TimeDelta::FromMicroseconds(touch_timestamp * 1000000); |
| + return ui::EventTimeStampFromSeconds(touch_timestamp); |
| } 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) { |