#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include "third_party/blink/renderer/core/frame/performance_monitor.h"
#include "base/format_macros.h"
#include "third_party/blink/public/platform/platform.h"
#include "third_party/blink/renderer/bindings/core/v8/capture_source_location.h"
#include "third_party/blink/renderer/core/core_probe_sink.h"
#include "third_party/blink/renderer/core/dom/document.h"
#include "third_party/blink/renderer/core/dom/events/event_listener.h"
#include "third_party/blink/renderer/core/execution_context/execution_context.h"
#include "third_party/blink/renderer/core/frame/frame.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/html/parser/html_document_parser.h"
#include "third_party/blink/renderer/core/probe/core_probes.h"
#include "third_party/blink/renderer/platform/bindings/source_location.h"
#include "v8/include/v8-metrics.h"
namespace blink {
base::TimeDelta PerformanceMonitor::Threshold(ExecutionContext* context,
Violation violation) { … }
void PerformanceMonitor::ReportGenericViolation(
ExecutionContext* context,
Violation violation,
const String& text,
base::TimeDelta time,
std::unique_ptr<SourceLocation> location) { … }
PerformanceMonitor* PerformanceMonitor::Monitor(
const ExecutionContext* context) { … }
PerformanceMonitor* PerformanceMonitor::InstrumentingMonitorExcludingLongTasks(
const ExecutionContext* context) { … }
PerformanceMonitor::PerformanceMonitor(LocalFrame* local_root,
v8::Isolate* isolate)
: … { … }
PerformanceMonitor::~PerformanceMonitor() { … }
void PerformanceMonitor::Dispose() { … }
void PerformanceMonitor::Subscribe(Violation violation,
base::TimeDelta threshold,
Client* client) { … }
void PerformanceMonitor::UnsubscribeAll(Client* client) { … }
void PerformanceMonitor::Shutdown() { … }
void PerformanceMonitor::UpdateInstrumentation() { … }
void PerformanceMonitor::WillExecuteScript(ExecutionContext* context) { … }
void PerformanceMonitor::DidExecuteScript() { … }
void PerformanceMonitor::UpdateTaskAttribution(ExecutionContext* context) { … }
void PerformanceMonitor::UpdateTaskShouldBeReported(LocalFrame* frame) { … }
void PerformanceMonitor::Will(const probe::RecalculateStyle& probe) { … }
void PerformanceMonitor::Did(const probe::RecalculateStyle& probe) { … }
void PerformanceMonitor::Will(const probe::UpdateLayout& probe) { … }
void PerformanceMonitor::Did(const probe::UpdateLayout& probe) { … }
void PerformanceMonitor::Will(const probe::ExecuteScript& probe) { … }
void PerformanceMonitor::Did(const probe::ExecuteScript& probe) { … }
void PerformanceMonitor::Will(const probe::CallFunction& probe) { … }
void PerformanceMonitor::Did(const probe::CallFunction& probe) { … }
void PerformanceMonitor::Will(const probe::V8Compile& probe) { … }
void PerformanceMonitor::Did(const probe::V8Compile& probe) { … }
void PerformanceMonitor::Will(const probe::UserCallback& probe) { … }
void PerformanceMonitor::Did(const probe::UserCallback& probe) { … }
void PerformanceMonitor::DocumentWriteFetchScript(Document* document) { … }
void PerformanceMonitor::WillProcessTask(base::TimeTicks start_time) { … }
void PerformanceMonitor::DidProcessTask(base::TimeTicks start_time,
base::TimeTicks end_time) { … }
void PerformanceMonitor::InnerReportGenericViolation(
ExecutionContext* context,
Violation violation,
const String& text,
base::TimeDelta time,
std::unique_ptr<SourceLocation> location) { … }
void PerformanceMonitor::Trace(Visitor* visitor) const { … }
}