diff options
author | Tom Ritter <tom@mozilla.com> | 2018-02-20 12:18:30 -0600 |
---|---|---|
committer | wolfbeast <mcwerewolf@gmail.com> | 2018-03-14 11:27:26 +0100 |
commit | a32b7f7c4e4e31669e0787e6321d74e4db71e514 (patch) | |
tree | e83acb2eb895162f010e7ff9ee2d39548c4d90b4 /dom/base/TimerClamping.cpp | |
parent | bd819cc43653220abdbfe040ba5c721e9861241c (diff) | |
download | UXP-a32b7f7c4e4e31669e0787e6321d74e4db71e514.tar UXP-a32b7f7c4e4e31669e0787e6321d74e4db71e514.tar.gz UXP-a32b7f7c4e4e31669e0787e6321d74e4db71e514.tar.lz UXP-a32b7f7c4e4e31669e0787e6321d74e4db71e514.tar.xz UXP-a32b7f7c4e4e31669e0787e6321d74e4db71e514.zip |
Bug 1430173 - Reduce the precision of all explicit clocks to 2ms. r=baku, a=RyanVM
Backport to ESR where we don't have the ResistFingerprinting component.
MozReview-Commit-ID: 9bjycHjR3SF
--HG--
extra : transplant_source : %EA%03%21%0A%E9%3F%8E%CD%7C%D79f%96%85%96%00%5D%7F%95X
Diffstat (limited to 'dom/base/TimerClamping.cpp')
-rwxr-xr-x | dom/base/TimerClamping.cpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/dom/base/TimerClamping.cpp b/dom/base/TimerClamping.cpp new file mode 100755 index 000000000..70639686b --- /dev/null +++ b/dom/base/TimerClamping.cpp @@ -0,0 +1,35 @@ +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set ts=8 sts=2 et sw=2 tw=80: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "TimerClamping.h" + +namespace mozilla { + +/* static */ +double +TimerClamping::ReduceSTimeValue(double aTime) +{ + static const double maxResolutionS = .002; + return floor(aTime / maxResolutionS) * maxResolutionS; +} + +/* static */ +double +TimerClamping::ReduceMsTimeValue(double aTime) +{ + static const double maxResolutionMs = 2; + return floor(aTime / maxResolutionMs) * maxResolutionMs; +} + +/* static */ +double +TimerClamping::ReduceUsTimeValue(double aTime) +{ + static const double maxResolutionUs = 2000; + return floor(aTime / maxResolutionUs) * maxResolutionUs; +} + +}
\ No newline at end of file |