Hi All,
I am running into a problem with a problem with timestamps for the chromedp (
https://github.com/knq/chromedp) project. Specifically, I'd appreciate it if someone could clarify the different types of timestamps that I've encountered in the protocol definitions.
As far as I can tell, there are 3 different types of timestamps at play, spread over roughly 4 different uses, namely:
a) Network.Timestamp
b) Runtime.Timestamp
c) Page timestamps (not an actual declared type)
d) Other object parameters named "timestamp" for commands/events (for instance, those in the Input domain)
All of these seem to have a JSON type declared as "number". I'd like to clarify what the expected behavior and time resolution of these are, as it appears over time the definition has changed (I may be wrong about this).
3. Page timestamps (the various object parameters named "timestamp") are more like "bootstamps" and have SECOND resolution since the BOOT epoch (no reference; deduced by examining actual wire data)
4. Other object parameters named "timestamp" appear to all have SECOND resolution since the UTC epoch, from: various Chrome domains
If someone could clarify if 1, 2, 3 above is true (or correct where my understanding is wrong), and if it would be "safe" to map instances of #4 to Network.Timestamp, I'd greatly appreciate it!
My reasoning for this is that I'd like fully type-safe protocol/wire data flowing between chrome/go [via chromedp] and want to ensure that the wireline code is "correct."
Thanks in advance!
-Ken