2022-09-21 00:24:02 +02:00
/*
* Copyright ( c ) 2022 , Andreas Kling < kling @ serenityos . org >
2022-10-04 21:03:50 +01:00
* Copyright ( c ) 2022 , Linus Groh < linusg @ serenityos . org >
2022-09-21 00:24:02 +02:00
*
* SPDX - License - Identifier : BSD - 2 - Clause
*/
2022-10-04 21:25:00 +01:00
# include <AK/Time.h>
2022-10-04 21:30:29 +01:00
# include <LibWeb/HighResolutionTime/TimeOrigin.h>
2022-09-21 00:24:02 +02:00
namespace Web : : HighResolutionTime {
// https://w3c.github.io/hr-time/#dfn-coarsen-time
2022-10-04 21:13:35 +01:00
DOMHighResTimeStamp coarsen_time ( DOMHighResTimeStamp timestamp , bool cross_origin_isolated_capability )
2022-09-21 00:24:02 +02:00
{
// FIXME: Implement this.
( void ) cross_origin_isolated_capability ;
return timestamp ;
}
2022-10-04 21:03:50 +01:00
// https://w3c.github.io/hr-time/#dfn-coarsened-shared-current-time
DOMHighResTimeStamp coarsened_shared_current_time ( bool cross_origin_isolated_capability )
{
// The coarsened shared current time given an optional boolean crossOriginIsolatedCapability (default false), must return the result of calling coarsen time with the unsafe shared current time and crossOriginIsolatedCapability.
2022-10-04 21:25:00 +01:00
return coarsen_time ( unsafe_shared_current_time ( ) , cross_origin_isolated_capability ) ;
}
// https://w3c.github.io/hr-time/#dfn-unsafe-shared-current-time
DOMHighResTimeStamp unsafe_shared_current_time ( )
{
// The unsafe shared current time must return the current value of the shared monotonic clock.
return Time : : now_monotonic ( ) . to_nanoseconds ( ) / 1e6 ;
2022-10-04 21:03:50 +01:00
}
2022-09-21 00:24:02 +02:00
}