Open Bug 2068169 Opened 9 days ago Updated 7 days ago

[meta] Timer Precision

Categories

(Core :: DOM: Core & HTML, task)

task

Tracking

()

People

(Reporter: tjr, Unassigned)

References

(Blocks 6 open bugs)

Details

(Keywords: meta)

This bug serves as a meta collecting all the bugs relating to Firefox's Timer Precision code. Presently this is implemented in nsRFPService.cpp because it began as code for Resist Fingerprinting (which has a coarse 16.667ms 'rounding') but is enabled by default for all timestamps exposed to DOM/JavaScript at a 1ms resolution. COOP+COEP isolated processes get a finer resolution (20 microseconds).

'Rounding' is not an accurate term, for every timestamp request we actually pick a random midpoint within floor(timestamp) and ceil(timestamp) and then round the timestamp up or down based on whether it is lower or greater than that midpoint - this provides additional non-determinism that makes approximating a finer-resolution timer more difficult.

You need to log in before you can comment on or make changes to this bug.