diff --git a/mozglue/misc/AwakeTimeStamp.cpp b/mozglue/misc/AwakeTimeStamp.cpp index ca7d2a75cdf7..a67c3e49a8aa 100644 --- a/mozglue/misc/AwakeTimeStamp.cpp +++ b/mozglue/misc/AwakeTimeStamp.cpp @@ -31,11 +31,26 @@ double AwakeTimeDuration::ToMicroseconds() const { return static_cast(mValueUs); } +AwakeTimeDuration AwakeTimeDuration::FromSeconds(uint64_t aSeconds) { + return AwakeTimeDuration(aSeconds * 1000000); +} +AwakeTimeDuration AwakeTimeDuration::FromMilliseconds(uint64_t aMilliseconds) { + return AwakeTimeDuration(aMilliseconds * 1000); +} +AwakeTimeDuration AwakeTimeDuration::FromMicroseconds(uint64_t aMicroseconds) { + return AwakeTimeDuration(aMicroseconds); +} + AwakeTimeDuration AwakeTimeStamp::operator-( AwakeTimeStamp const& aOther) const { return AwakeTimeDuration(mValueUs - aOther.mValueUs); } +AwakeTimeStamp AwakeTimeStamp::operator-( + AwakeTimeDuration const& aOther) const { + return AwakeTimeStamp(mValueUs - aOther.mValueUs); +} + AwakeTimeStamp AwakeTimeStamp::operator+( const AwakeTimeDuration& aDuration) const { return AwakeTimeStamp(mValueUs + aDuration.mValueUs); diff --git a/mozglue/misc/AwakeTimeStamp.h b/mozglue/misc/AwakeTimeStamp.h index 7549dfdb602f..e38405beab9c 100644 --- a/mozglue/misc/AwakeTimeStamp.h +++ b/mozglue/misc/AwakeTimeStamp.h @@ -53,6 +53,7 @@ class AwakeTimeStamp { return !(*this == aOther); } MFBT_API AwakeTimeDuration operator-(AwakeTimeStamp const& aOther) const; + MFBT_API AwakeTimeStamp operator-(AwakeTimeDuration const& aOther) const; MFBT_API AwakeTimeStamp operator+(const AwakeTimeDuration& aDuration) const; private: @@ -74,6 +75,9 @@ class AwakeTimeDuration { MFBT_API double ToSeconds() const; MFBT_API double ToMilliseconds() const; MFBT_API double ToMicroseconds() const; + static MFBT_API AwakeTimeDuration FromSeconds(uint64_t aSeconds); + static MFBT_API AwakeTimeDuration FromMilliseconds(uint64_t aMilliseconds); + static MFBT_API AwakeTimeDuration FromMicroseconds(uint64_t aMicroseconds); MFBT_API void operator+=(const AwakeTimeDuration& aDuration) { mValueUs += aDuration.mValueUs; }