diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-05-20 09:47:09 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-06-07 11:15:42 +0000 |
commit | 189d4fd8fad9e3c776873be51938cd31a42b6177 (patch) | |
tree | 6497caeff5e383937996768766ab3bb2081a40b2 /chromium/third_party/blink/renderer/core/loader/document_load_timing.cc | |
parent | 8bc75099d364490b22f43a7ce366b366c08f4164 (diff) | |
download | qtwebengine-chromium-189d4fd8fad9e3c776873be51938cd31a42b6177.tar.gz |
BASELINE: Update Chromium to 90.0.4430.221
Change-Id: Iff4d9d18d2fcf1a576f3b1f453010f744a232920
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/third_party/blink/renderer/core/loader/document_load_timing.cc')
-rw-r--r-- | chromium/third_party/blink/renderer/core/loader/document_load_timing.cc | 37 |
1 files changed, 24 insertions, 13 deletions
diff --git a/chromium/third_party/blink/renderer/core/loader/document_load_timing.cc b/chromium/third_party/blink/renderer/core/loader/document_load_timing.cc index 60996694441..024758372ad 100644 --- a/chromium/third_party/blink/renderer/core/loader/document_load_timing.cc +++ b/chromium/third_party/blink/renderer/core/loader/document_load_timing.cc @@ -33,13 +33,14 @@ #include "third_party/blink/renderer/core/loader/document_loader.h" #include "third_party/blink/renderer/platform/instrumentation/tracing/trace_event.h" #include "third_party/blink/renderer/platform/weborigin/security_origin.h" +#include "third_party/perfetto/include/perfetto/tracing/traced_value.h" namespace blink { DocumentLoadTiming::DocumentLoadTiming(DocumentLoader& document_loader) : redirect_count_(0), has_cross_origin_redirect_(false), - has_same_origin_as_previous_document_(false), + can_request_from_previous_document_(false), clock_(base::DefaultClock::GetInstance()), tick_clock_(base::DefaultTickClock::GetInstance()), document_loader_(document_loader) {} @@ -114,20 +115,20 @@ void DocumentLoadTiming::MarkNavigationStart() { navigation_start_ = reference_monotonic_time_; TRACE_EVENT_MARK_WITH_TIMESTAMP2( "blink.user_timing", "navigationStart", navigation_start_, "frame", - ToTraceValue(GetFrame()), "data", GetNavigationStartTracingData()); + ToTraceValue(GetFrame()), "data", [&](perfetto::TracedValue ctx) { + WriteNavigationStartDataIntoTracedValue(std::move(ctx)); + }); NotifyDocumentTimingChanged(); } -std::unique_ptr<TracedValue> DocumentLoadTiming::GetNavigationStartTracingData() - const { - auto data = std::make_unique<TracedValue>(); - data->SetString("documentLoaderURL", - document_loader_ ? document_loader_->Url().GetString() : ""); - data->SetBoolean("isLoadingMainFrame", - GetFrame() ? GetFrame()->IsMainFrame() : false); - data->SetString("navigationId", - IdentifiersFactory::LoaderId(document_loader_)); - return data; +void DocumentLoadTiming::WriteNavigationStartDataIntoTracedValue( + perfetto::TracedValue context) const { + auto dict = std::move(context).WriteDictionary(); + dict.Add("documentLoaderURL", + document_loader_ ? document_loader_->Url().GetString() : ""); + dict.Add("isLoadingMainFrame", + GetFrame() ? GetFrame()->IsMainFrame() : false); + dict.Add("navigationId", IdentifiersFactory::LoaderId(document_loader_)); } void DocumentLoadTiming::SetNavigationStart(base::TimeTicks navigation_start) { @@ -138,7 +139,9 @@ void DocumentLoadTiming::SetNavigationStart(base::TimeTicks navigation_start) { navigation_start_ = navigation_start; TRACE_EVENT_MARK_WITH_TIMESTAMP2( "blink.user_timing", "navigationStart", navigation_start_, "frame", - ToTraceValue(GetFrame()), "data", GetNavigationStartTracingData()); + ToTraceValue(GetFrame()), "data", [&](perfetto::TracedValue context) { + WriteNavigationStartDataIntoTracedValue(std::move(context)); + }); // The reference times are adjusted based on the embedder's navigationStart. DCHECK(!reference_monotonic_time_.is_null()); @@ -249,4 +252,12 @@ void DocumentLoadTiming::MarkRedirectEnd() { NotifyDocumentTimingChanged(); } +void DocumentLoadTiming::MarkCommitNavigationEnd() { + commit_navigation_end_ = tick_clock_->NowTicks(); + TRACE_EVENT_MARK_WITH_TIMESTAMP1("blink.user_timing", "commitNavigationEnd", + commit_navigation_end_, "frame", + ToTraceValue(GetFrame())); + NotifyDocumentTimingChanged(); +} + } // namespace blink |