#include "third_party/blink/renderer/core/timing/performance_navigation_timing.h"
#include "third_party/blink/public/mojom/timing/resource_timing.mojom-blink-forward.h"
#include "third_party/blink/public/web/web_navigation_type.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_object_builder.h"
#include "third_party/blink/renderer/core/dom/document.h"
#include "third_party/blink/renderer/core/dom/document_timing.h"
#include "third_party/blink/renderer/core/frame/dom_window.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/loader/document_load_timing.h"
#include "third_party/blink/renderer/core/loader/document_loader.h"
#include "third_party/blink/renderer/core/performance_entry_names.h"
#include "third_party/blink/renderer/core/timing/performance.h"
#include "third_party/blink/renderer/core/timing/performance_navigation_timing_activation_start.h"
#include "third_party/blink/renderer/platform/instrumentation/use_counter.h"
#include "third_party/blink/renderer/platform/loader/fetch/delivery_type_names.h"
#include "third_party/blink/renderer/platform/loader/fetch/fetch_initiator_type_names.h"
#include "third_party/blink/renderer/platform/loader/fetch/resource_timing_utils.h"
#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
#include "third_party/blink/renderer/platform/weborigin/kurl.h"
namespace blink {
NavigationDeliveryType;
namespace {
String GetSystemEntropy(DocumentLoader* loader) { … }
}
PerformanceNavigationTiming::PerformanceNavigationTiming(
LocalDOMWindow& window,
mojom::blink::ResourceTimingInfoPtr resource_timing,
base::TimeTicks time_origin)
: … { … }
PerformanceNavigationTiming::~PerformanceNavigationTiming() = default;
const AtomicString& PerformanceNavigationTiming::entryType() const { … }
PerformanceEntryType PerformanceNavigationTiming::EntryTypeEnum() const { … }
void PerformanceNavigationTiming::Trace(Visitor* visitor) const { … }
DocumentLoadTiming* PerformanceNavigationTiming::GetDocumentLoadTiming() const { … }
void PerformanceNavigationTiming::OnBodyLoadFinished(
int64_t encoded_body_size,
int64_t decoded_body_size) { … }
bool PerformanceNavigationTiming::AllowRedirectDetails() const { … }
DocumentLoader* PerformanceNavigationTiming::GetDocumentLoader() const { … }
const DocumentTiming* PerformanceNavigationTiming::GetDocumentTiming() const { … }
AtomicString PerformanceNavigationTiming::GetNavigationTimingType(
WebNavigationType type) { … }
DOMHighResTimeStamp PerformanceNavigationTiming::unloadEventStart() const { … }
DOMHighResTimeStamp PerformanceNavigationTiming::unloadEventEnd() const { … }
DOMHighResTimeStamp PerformanceNavigationTiming::domInteractive() const { … }
DOMHighResTimeStamp PerformanceNavigationTiming::domContentLoadedEventStart()
const { … }
DOMHighResTimeStamp PerformanceNavigationTiming::domContentLoadedEventEnd()
const { … }
DOMHighResTimeStamp PerformanceNavigationTiming::domComplete() const { … }
DOMHighResTimeStamp PerformanceNavigationTiming::loadEventStart() const { … }
DOMHighResTimeStamp PerformanceNavigationTiming::loadEventEnd() const { … }
AtomicString PerformanceNavigationTiming::type() const { … }
AtomicString PerformanceNavigationTiming::deliveryType() const { … }
uint16_t PerformanceNavigationTiming::redirectCount() const { … }
DOMHighResTimeStamp PerformanceNavigationTiming::redirectStart() const { … }
DOMHighResTimeStamp PerformanceNavigationTiming::redirectEnd() const { … }
DOMHighResTimeStamp PerformanceNavigationTiming::fetchStart() const { … }
DOMHighResTimeStamp PerformanceNavigationTiming::responseEnd() const { … }
DOMHighResTimeStamp PerformanceNavigationTiming::duration() const { … }
NotRestoredReasons* PerformanceNavigationTiming::notRestoredReasons() const { … }
AtomicString PerformanceNavigationTiming::systemEntropy() const { … }
DOMHighResTimeStamp PerformanceNavigationTiming::criticalCHRestart(
ScriptState* script_state) const { … }
NotRestoredReasons* PerformanceNavigationTiming::BuildNotRestoredReasons(
const mojom::blink::BackForwardCacheNotRestoredReasonsPtr& nrr) const { … }
void PerformanceNavigationTiming::BuildJSONValue(
V8ObjectBuilder& builder) const { … }
}