/* * Copyright (c) 2020, Andreas Kling * * SPDX-License-Identifier: BSD-2-Clause */ #include #include #include #include #include #include namespace Web::HighResolutionTime { Performance::Performance(DOM::Window& window) : DOM::EventTarget(static_cast(window.associated_document())) , m_window(window) , m_timing(make(window)) { m_timer.start(); } 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() { m_window.ref(); } void Performance::unref_event_target() { m_window.unref(); } JS::Object* Performance::create_wrapper(JS::GlobalObject& global_object) { return Bindings::wrap(global_object, *this); } }