mdn/content

Event timeStamp accuracy description is misleading

Open

#40673 opened on Aug 8, 2025

View on GitHub
 (2 comments) (0 reactions) (0 assignees)Markdown (8,900 stars) (22,427 forks)batch import
Content:WebAPIhelp wanted

Description

MDN URL

https://developer.mozilla.org/en-US/docs/Web/API/Event/timeStamp

What specific section or headline is this issue about?

No response

What information was incorrect, unhelpful, or incomplete?

Says

The value is a DOMHighResTimeStamp accurate to 5 microseconds (0.005 ms)

It's unclear what is even trying to be communicated. Looking at what the link says ("DOMHighResTimeStamp types are coarsened"), it appears that values should be rounded to the nearest 0.005 in isolated contexts or rounded to 0.100 in non-isolated contexts. This simply isn't the case (see more details below). Thus it appears that this is false:

The value is a DOMHighResTimeStamp

It's just a number that may or may not meet the definitions of that type. If it's going to be, one day, then it would be good to note that it is not yet. (As it says here: "work is underway to change this to be a DOMHighResTimeStamp instead.")

Says

the value of privacy.resistFingerprinting.reduceTimerPrecision.microseconds

Should be 1/1000 this value. We're talking about milliseconds.

Likewise

or privacy.resistFingerprinting.reduceTimerPrecision.microseconds

1/1000 of this, because the value in milliseconds is being discussed.

Says

will always be a multiple of 2, or a multiple of 100 (or ...

No. With privacy.resistFingerprinting and privacy.resistFingerprinting.reduceTimerPrecision.microseconds at default of 1000, it's a number, usually with 3 decimal places, not always an integer like in the examples and as assumed in this statement. (Because of this fact, it's confusing to speak of reduced precision. There's precision more-or-less to the microsecond. Perhaps the accuracy is reduced, not the apparent precision.)

That's the case until privacy.resistFingerprinting.reduceTimerPrecision.microseconds reaches about 16667 (or 16670 with fewer rounding errors); then the precision is a multiple of 1/1000 the value set, but all values of privacy.resistFingerprinting.reduceTimerPrecision.microseconds below this number do not produce any reliable multiples.

Says

the precision will be 100ms

Also says

a multiple of 100

Seems to assume the default of privacy.resistFingerprinting.reduceTimerPrecision.microseconds is 100000, but it's 1000.

Says

the precision will be 100ms or the value of privacy.resistFingerprinting.reduceTimerPrecision.microseconds, whichever is larger.

No, as described above, the precision starts at values around 16667 and greater (equivalent to 16.667 ms), and at lower values, there is no apparent reduction in precision. But according to this ("whichever is larger"), the precision would never be finer than 100 ms, regardless of the value.

Says

// reduced time precision with `privacy.resistFingerprinting` enabled
event.timeStamp;
// Might be:
// 53500
// 58900
// 64400
// …

It might be, but probably not, since 100000 is not the default.

What did you expect to see?

More accurate descriptions would be nice.

Do you have any supporting links, references, or citations?

No response

Do you have anything more you want to share?

No response

MDN metadata

Contributor guide