Commit Graph

8 Commits

Author SHA1 Message Date
Brian Birtles
cc422b4d45 Bug 1207412 - Make SystemTimeConverter use TimeStamp::Now() when converting times; r=karlt 2015-10-26 09:29:54 +09:00
Brian Birtles
e81ac381a9 Bug 1212102 - Drop unnecessary assertion comparing timestamps in SystemTimeConverter; r=karlt 2015-10-21 15:26:46 +09:00
Brian Birtles
4ccc816d84 Bug 1026803 part 8b - Factor out an IsTimeNewerThanTimeStamp method; r=karlt
--HG--
extra : rebase_source : ea01340dfb0d2cf9560af0102c0fd82eb57d0bcd
2015-08-12 13:19:14 +09:00
Brian Birtles
38d0384528 Bug 1026803 part 6 - Make SystemTimeConverter detect clock skew; r=karlt
This patch revises the logic in SystemTimeConverter to detect backwards and
forwards skew between the two time sources: the native time source (represented
by the Time type) and the time source used to generate TimeStamp objects.

--HG--
extra : rebase_source : 208b4535f8a7d33a81dd0937a4fcbe38ee46335d
2015-08-11 17:11:41 +09:00
Brian Birtles
9a127183cd Bug 1026803 part 5 - Convert CurrentXXXTimeGetter classes from functors to helper classes; r=karlt
Previously the CurrentX11TimeGetter and CurrentWindowsTimeGetter classes acted
as functors with a single operator() method. In preparation for handling clock
skew, this patch refactors these two helper classes into regular classes with
two named methods:

  GetCurrentTime which matches the existing operator() method, and

  GetTimeAsyncForPossibleBackwardsSkew which will be used when possible
  backwards skew is detected to fetch the current time asynchronously.

Some renaming is also included to match the expanded role of these classes.

--HG--
extra : rebase_source : 4d46e09bd09cbb0dbffcb0aa46742157384d37e8
2015-02-19 14:10:00 +09:00
Brian Birtles
7dc9a3e6ae Bug 1026803 part 3 - Make some simplifications to SystemTimeConverter; r=karlt
This patch exploits the fact that the underlying Time type is an unsigned
integer to simplify some of the overflow checks in SystemTimeConvert by relying
on unsigned integer overflow behavior, which, unlike signed integer overflow, is
well-defined.

--HG--
extra : rebase_source : e21f865e1ed22e1d3adc5e835e052cb9f80b9beb
2015-02-19 14:06:01 +09:00
Brian Birtles
d6dfa32cc0 Bug 1026803 part 2 - Add an assertion that SystemTimeConverter's template parameter is unsigned; r=karlt
Various operations in the time conversion assume that the native event time is
an unsigned integer so this patch adds and assertion to check this precondition
is met.

--HG--
extra : rebase_source : bd197c71b09a2c58c4ffeca8326b5aadff14750c
2015-02-19 14:05:42 +09:00
Brian Birtles
d2de6ae5b9 Bug 1026803 part 1 - Factor out a common utility class for converting wrapping native times to TimeStamps; r=karlt
This just moves the code from widget/windows/nsWindow.cpp to a template class in
widget/xpwidgets/WrappingTimeConverter.h so that we can reuse this code for
other platforms (GTK at least).

--HG--
extra : rebase_source : efa9582fd8cf5b26d1a59219f427aa20a460f7cd
2015-08-11 13:38:18 +09:00