LibWeb: Add stub implementation of performance.navigation

This commit is contained in:
Colin Reeder 2024-08-01 19:50:52 -06:00 committed by Andreas Kling
commit 14267b5d63
Notes: github-actions[bot] 2024-08-04 08:39:27 +00:00
13 changed files with 123 additions and 4 deletions

View file

@ -25,8 +25,6 @@ public:
double now() const { return static_cast<double>(m_timer.elapsed_time().to_nanoseconds()) / 1e6; }
double time_origin() const;
JS::GCPtr<NavigationTiming::PerformanceTiming> timing();
WebIDL::ExceptionOr<JS::NonnullGCPtr<UserTiming::PerformanceMark>> mark(String const& mark_name, UserTiming::PerformanceMarkOptions const& mark_options = {});
void clear_marks(Optional<String> mark_name);
WebIDL::ExceptionOr<JS::NonnullGCPtr<UserTiming::PerformanceMeasure>> measure(String const& measure_name, Variant<String, UserTiming::PerformanceMeasureOptions> const& start_or_measure_options, Optional<String> end_mark);
@ -36,6 +34,9 @@ public:
WebIDL::ExceptionOr<Vector<JS::Handle<PerformanceTimeline::PerformanceEntry>>> get_entries_by_type(String const& type) const;
WebIDL::ExceptionOr<Vector<JS::Handle<PerformanceTimeline::PerformanceEntry>>> get_entries_by_name(String const& name, Optional<String> type) const;
JS::GCPtr<NavigationTiming::PerformanceTiming> timing();
JS::GCPtr<NavigationTiming::PerformanceNavigation> navigation();
private:
explicit Performance(JS::Realm&);
@ -48,6 +49,7 @@ private:
WebIDL::ExceptionOr<HighResolutionTime::DOMHighResTimeStamp> convert_name_to_timestamp(JS::Realm& realm, String const& name);
WebIDL::ExceptionOr<HighResolutionTime::DOMHighResTimeStamp> convert_mark_to_timestamp(JS::Realm& realm, Variant<String, HighResolutionTime::DOMHighResTimeStamp> mark);
JS::GCPtr<NavigationTiming::PerformanceNavigation> m_navigation;
JS::GCPtr<NavigationTiming::PerformanceTiming> m_timing;
Core::ElapsedTimer m_timer;