1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 22:27:35 +00:00

LibWeb: Implement performance.timeOrigin

This is the origin timestamp of the same monotonic clock used for the
performance.now() timestamp.

I got a little confused while implementing this, since the numbers are
very low. That's because it uses the CLOCK_MONOTONIC system clock,
which we start counting from 0 at boot. :^)
This commit is contained in:
Andreas Kling 2020-09-29 18:31:07 +02:00
parent 62785b7872
commit 18cff5e0be
3 changed files with 8 additions and 0 deletions

View file

@ -44,6 +44,12 @@ Performance::~Performance()
{ {
} }
double Performance::time_origin() const
{
auto origin = m_timer.origin_time();
return (origin.tv_sec * 1000.0) + (origin.tv_usec / 1000.0);
}
void Performance::ref_event_target() void Performance::ref_event_target()
{ {
m_window.ref(); m_window.ref();

View file

@ -42,6 +42,7 @@ public:
~Performance(); ~Performance();
double now() const { return m_timer.elapsed(); } double now() const { return m_timer.elapsed(); }
double time_origin() const;
virtual void ref_event_target() override; virtual void ref_event_target() override;
virtual void unref_event_target() override; virtual void unref_event_target() override;

View file

@ -1,3 +1,4 @@
interface Performance : EventTarget { interface Performance : EventTarget {
double now(); double now();
readonly attribute double timeOrigin;
} }