From 7373c174851ecec25af4dc13892c0cfc6113c569 Mon Sep 17 00:00:00 2001 From: juwenjing Date: Thu, 14 Mar 2024 15:46:41 +0800 Subject: [PATCH] code Signed-off-by: juwenjing --- .../oh_page_load_metrics_observer.cc | 15 +++++++++++++-- .../oh_page_load_metrics_observer.h | 3 +++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/libcef/browser/page_load_metrics/oh_page_load_metrics_observer.cc b/libcef/browser/page_load_metrics/oh_page_load_metrics_observer.cc index 2801344b4..0142edb51 100644 --- a/libcef/browser/page_load_metrics/oh_page_load_metrics_observer.cc +++ b/libcef/browser/page_load_metrics/oh_page_load_metrics_observer.cc @@ -25,6 +25,8 @@ #include "url/gurl.h" #include "ohos_nweb/src/sysevent/event_reporter.h" +int64_t OhPageLoadMetricsObserver::navigation_start_timestamp_ = -1; + OhPageLoadMetricsObserver::OhPageLoadMetricsObserver() { network_quality_tracker_ = g_browser_process->network_quality_tracker(); DCHECK(network_quality_tracker_); @@ -275,8 +277,6 @@ void OhPageLoadMetricsObserver::OnLoadedResource( did_dispatch_on_main_resourse_ = true; base::TimeTicks navigation_start = GetDelegate().GetNavigationStart(); - web_performance_timing_.navigation_start = - navigation_start.is_null() ? -1 : navigation_start.since_origin().InMilliseconds(); const net::LoadTimingInfo& timing = *extra_request_complelte_info.load_timing_info; @@ -326,6 +326,7 @@ void OhPageLoadMetricsObserver::ReportBufferedMetrics( reported_buffered_metrics_ = true; + web_performance_timing_.navigation_start = navigation_start_timestamp_; web_performance_timing_.redirect_count = main_frame_request_redirect_count_; const page_load_metrics::ContentfulPaintTimingInfo& largest_contentful_paint = GetDelegate().GetLargestContentfulPaintHandler() @@ -338,3 +339,13 @@ void OhPageLoadMetricsObserver::ReportBufferedMetrics( return; } } + +int64_t OhPageLoadMetricsObserver::GetCurrentTimestampMS() { + auto currentTime = std::chrono::system_clock::now().time_since_epoch(); + return std::chrono::duration_cast(currentTime) + .count(); +} + +void OhPageLoadMetricsObserver::OnNavigationStart() { + navigation_start_timestamp_ = GetCurrentTimestampMS(); +} diff --git a/libcef/browser/page_load_metrics/oh_page_load_metrics_observer.h b/libcef/browser/page_load_metrics/oh_page_load_metrics_observer.h index 3b2efedfd..8180581a5 100644 --- a/libcef/browser/page_load_metrics/oh_page_load_metrics_observer.h +++ b/libcef/browser/page_load_metrics/oh_page_load_metrics_observer.h @@ -62,6 +62,7 @@ class OhPageLoadMetricsObserver void OnFirstPaintInPage( const page_load_metrics::mojom::PageLoadTiming& timing) override; + static void OnNavigationStart(); protected: OhPageLoadMetricsObserver( network::NetworkQualityTracker* network_quality_tracker) @@ -77,6 +78,7 @@ class OhPageLoadMetricsObserver void ReportBufferedMetrics( const page_load_metrics::mojom::PageLoadTiming& timing); void ReportPerformanceTiming(); + int64_t GetCurrentTimestampMS(); private: int64_t navigation_id_ = -1; @@ -87,6 +89,7 @@ class OhPageLoadMetricsObserver bool reported_buffered_metrics_ = false; uint32_t main_frame_request_redirect_count_ = 0; OhWebPerformanceTiming web_performance_timing_; + static int64_t navigation_start_timestamp_; }; #endif // CEF_LIBCEF_BROWSER_PAGE_LOAD_METRICS_OH_PAGE_LOAD_METRICS_OBSERVER_H_ -- Gitee