#include "third_party/blink/renderer/core/timing/performance_observer.h"
#include <algorithm>
#include "third_party/blink/public/mojom/frame/lifecycle.mojom-shared.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_core.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_performance_observer_callback.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_performance_observer_callback_options.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_performance_observer_init.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/inspector/console_message.h"
#include "third_party/blink/renderer/core/performance_entry_names.h"
#include "third_party/blink/renderer/core/timing/dom_window_performance.h"
#include "third_party/blink/renderer/core/timing/performance_entry.h"
#include "third_party/blink/renderer/core/timing/performance_observer_entry_list.h"
#include "third_party/blink/renderer/core/timing/window_performance.h"
#include "third_party/blink/renderer/core/timing/worker_global_scope_performance.h"
#include "third_party/blink/renderer/core/workers/worker_global_scope.h"
#include "third_party/blink/renderer/platform/bindings/exception_messages.h"
#include "third_party/blink/renderer/platform/bindings/exception_state.h"
#include "third_party/blink/renderer/platform/bindings/v8_throw_exception.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
#include "third_party/blink/renderer/platform/instrumentation/use_counter.h"
#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
#include "third_party/blink/renderer/platform/timer.h"
namespace blink {
PerformanceObserver* PerformanceObserver::Create(
ScriptState* script_state,
V8PerformanceObserverCallback* callback) { … }
PerformanceEntryType PerformanceObserver::supportedEntryTypeMask(
ScriptState* script_state) { … }
Vector<AtomicString> PerformanceObserver::supportedEntryTypes(
ScriptState* script_state) { … }
PerformanceObserver::PerformanceObserver(
ExecutionContext* execution_context,
Performance* performance,
V8PerformanceObserverCallback* callback)
: … { … }
void PerformanceObserver::observe(ScriptState* script_state,
const PerformanceObserverInit* observer_init,
ExceptionState& exception_state) { … }
void PerformanceObserver::disconnect() { … }
PerformanceEntryVector PerformanceObserver::takeRecords() { … }
void PerformanceObserver::EnqueuePerformanceEntry(PerformanceEntry& entry) { … }
bool PerformanceObserver::CanObserve(const PerformanceEntry& entry) const { … }
bool PerformanceObserver::HasPendingActivity() const { … }
void PerformanceObserver::Deliver(std::optional<int> dropped_entries_count) { … }
void PerformanceObserver::ContextLifecycleStateChanged(
mojom::FrameLifecycleState state) { … }
void PerformanceObserver::Trace(Visitor* visitor) const { … }
}