#include "third_party/blink/renderer/core/timing/performance_entry.h"
#include "base/atomic_sequence_num.h"
#include "third_party/blink/public/mojom/timing/performance_mark_or_measure.mojom-blink.h"
#include "third_party/blink/renderer/bindings/core/v8/script_value.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_object_builder.h"
#include "third_party/blink/renderer/core/execution_context/execution_context.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/core/performance_entry_names.h"
#include "third_party/blink/renderer/platform/wtf/casting.h"
#include "third_party/blink/renderer/platform/wtf/uuid.h"
namespace blink {
namespace {
static base::AtomicSequenceNumber index_seq;
}
PerformanceEntry::PerformanceEntry(const AtomicString& name,
double start_time,
double finish_time,
DOMWindow* source,
bool is_triggered_by_soft_navigation)
: … { … }
PerformanceEntry::PerformanceEntry(double duration,
const AtomicString& name,
double start_time,
DOMWindow* source,
bool is_triggered_by_soft_navigation)
: … { … }
PerformanceEntry::~PerformanceEntry() = default;
DOMHighResTimeStamp PerformanceEntry::startTime() const { … }
DOMHighResTimeStamp PerformanceEntry::duration() const { … }
String PerformanceEntry::navigationId() const { … }
DOMWindow* PerformanceEntry::source() const { … }
mojom::blink::PerformanceMarkOrMeasurePtr
PerformanceEntry::ToMojoPerformanceMarkOrMeasure() { … }
PerformanceEntry::EntryType PerformanceEntry::ToEntryTypeEnum(
const AtomicString& entry_type) { … }
String PerformanceEntry::GetNavigationId(ScriptState* script_state) { … }
void PerformanceEntry::Trace(Visitor* visitor) const { … }
ScriptValue PerformanceEntry::toJSONForBinding(
ScriptState* script_state) const { … }
void PerformanceEntry::BuildJSONValue(V8ObjectBuilder& builder) const { … }
}