| Index: net/quic/platform/impl/quic_chromium_clock.cc
|
| diff --git a/net/quic/platform/impl/quic_chromium_clock.cc b/net/quic/platform/impl/quic_chromium_clock.cc
|
| index cbf1ed1b14e2c94199da029c3ec1a69e13a7a96a..fb591f842feffedc69d6145f50771c62b7e1ac14 100644
|
| --- a/net/quic/platform/impl/quic_chromium_clock.cc
|
| +++ b/net/quic/platform/impl/quic_chromium_clock.cc
|
| @@ -4,6 +4,12 @@
|
|
|
| #include "net/quic/platform/impl/quic_chromium_clock.h"
|
|
|
| +#if defined(OS_IOS)
|
| +#include <time.h>
|
| +
|
| +#include "base/ios/ios_util.h"
|
| +#endif
|
| +
|
| #include "base/memory/singleton.h"
|
| #include "base/time/time.h"
|
|
|
| @@ -23,7 +29,16 @@ QuicTime QuicChromiumClock::ApproximateNow() const {
|
| }
|
|
|
| QuicTime QuicChromiumClock::Now() const {
|
| - return QuicTime(base::TimeTicks::Now());
|
| +#if defined(OS_IOS)
|
| + if (base::ios::IsRunningOnIOS10OrLater()) {
|
| + struct timespec tp;
|
| + if (clock_gettime(CLOCK_MONOTONIC, &tp) == 0) {
|
| + return CreateTimeFromMicroseconds(tp.tv_sec * 1000000 +
|
| + tp.tv_nsec / 1000);
|
| + }
|
| + }
|
| +#endif
|
| + return CreateTimeFromMicroseconds(base::TimeTicks::Now().ToInternalValue());
|
| }
|
|
|
| QuicWallTime QuicChromiumClock::WallNow() const {
|
|
|