ladybird/Libraries/LibWeb/NavigationTiming
Martin Chrástek 9f3cf862e8 LibWeb: Fix PerformanceTiming getters producing wrong wall clock values
PerformanceTiming::monotonic_timestamp_to_wall_time_milliseconds
assumes all DocumentLoadTimingInfo values are monotonic timestamps
and converts them via wall_time = timestamp - epoch. This is correct
for navigation_start_time (a true monotonic timestamp), but wrong
for all other timing fields like load_event_end_time, dom_complete_time
etc., which are stored as relative timestamps via
current_high_resolution_time() (relative to time origin).

The computed wall clock value ends up off by navigation_start_time,
causing convert_name_to_timestamp() to return wrapped-around u64
values. This broke performance.measure() when using navigation timing
attribute names as start/end marks.

Add relative_timestamp_to_wall_time_milliseconds which adds back
navigation_start_time before the epoch subtraction, producing correct
UTC epoch ms for these fields.
2026-05-19 19:22:11 +02:00
..
EntryNames.cpp LibWeb: Remove the initialize_strings methods 2025-01-12 00:35:58 +01:00
EntryNames.h LibWeb: Remove the initialize_strings methods 2025-01-12 00:35:58 +01:00
PerformanceExtensions.idl LibWeb: Only expose performance.{timing,navigation} on Window 2025-07-25 11:46:58 +02:00
PerformanceNavigation.cpp LibWeb/Bindings: Emit one bindings header and cpp per IDL 2026-04-21 07:36:13 +02:00
PerformanceNavigation.h
PerformanceNavigation.idl
PerformanceTiming.cpp LibWeb: Fix PerformanceTiming getters producing wrong wall clock values 2026-05-19 19:22:11 +02:00
PerformanceTiming.h LibWeb: Fix PerformanceTiming getters producing wrong wall clock values 2026-05-19 19:22:11 +02:00
PerformanceTiming.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00