#include "third_party/blink/renderer/core/intersection_observer/intersection_observer_controller.h"
#include "third_party/blink/public/platform/task_type.h"
#include "third_party/blink/renderer/core/dom/document.h"
#include "third_party/blink/renderer/core/dom/element.h"
#include "third_party/blink/renderer/core/frame/frame_owner.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/intersection_observer/intersection_observation.h"
#include "third_party/blink/renderer/core/timing/dom_window_performance.h"
#include "third_party/blink/renderer/platform/instrumentation/tracing/trace_event.h"
#include "third_party/blink/renderer/platform/wtf/functional.h"
namespace blink {
base::TimeTicks ComputeIntersectionsContext::GetMonotonicTime() { … }
DOMHighResTimeStamp ComputeIntersectionsContext::GetTimeStamp(
const IntersectionObserver& observer) { … }
std::optional<IntersectionGeometry::RootGeometry>&
ComputeIntersectionsContext::GetRootGeometry(
const IntersectionObserver& observer,
unsigned flags) { … }
void ComputeIntersectionsContext::UpdateNextRunDelay(base::TimeDelta delay) { … }
base::TimeDelta ComputeIntersectionsContext::GetAndResetNextRunDelay() { … }
IntersectionObserverController::IntersectionObserverController(
ExecutionContext* context)
: … { … }
IntersectionObserverController::~IntersectionObserverController() = default;
void IntersectionObserverController::PostTaskToDeliverNotifications() { … }
void IntersectionObserverController::ScheduleIntersectionObserverForDelivery(
IntersectionObserver& observer) { … }
void IntersectionObserverController::DeliverNotifications(
IntersectionObserver::DeliveryBehavior behavior) { … }
bool IntersectionObserverController::ComputeIntersections(
unsigned flags,
LocalFrameView& frame_view,
gfx::Vector2dF accumulated_scroll_delta_since_last_update,
ComputeIntersectionsContext& context) { … }
void IntersectionObserverController::AddTrackedObserver(
IntersectionObserver& observer) { … }
void IntersectionObserverController::RemoveTrackedObserver(
IntersectionObserver& observer) { … }
void IntersectionObserverController::AddTrackedObservation(
IntersectionObservation& observation) { … }
void IntersectionObserverController::RemoveTrackedObservation(
IntersectionObservation& observation) { … }
wtf_size_t
IntersectionObserverController::GetTrackedObservationCountForTesting() const { … }
void IntersectionObserverController::Trace(Visitor* visitor) const { … }
}