#include "third_party/blink/renderer/core/layout/anchor_position_visibility_observer.h"
#include "third_party/blink/renderer/core/dom/element.h"
#include "third_party/blink/renderer/core/intersection_observer/intersection_observer.h"
#include "third_party/blink/renderer/core/intersection_observer/intersection_observer_entry.h"
#include "third_party/blink/renderer/core/layout/anchor_position_scroll_data.h"
#include "third_party/blink/renderer/core/paint/paint_layer.h"
#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
#include "third_party/blink/renderer/platform/wtf/functional.h"
namespace blink {
AnchorPositionVisibilityObserver::AnchorPositionVisibilityObserver(
Element& anchored_element)
: … { … }
void AnchorPositionVisibilityObserver::MonitorAnchor(const Element* anchor) { … }
void AnchorPositionVisibilityObserver::Trace(Visitor* visitor) const { … }
void AnchorPositionVisibilityObserver::UpdateForCssAnchorVisibility() { … }
void AnchorPositionVisibilityObserver::UpdateForChainedAnchorVisibility(
const HeapHashSet<WeakMember<ScrollSnapshotClient>>& clients) { … }
bool AnchorPositionVisibilityObserver::IsInvisibleForChainedAnchorVisibility()
const { … }
void AnchorPositionVisibilityObserver::SetLayerInvisible(
LayerPositionVisibility position_visibility,
bool invisible) { … }
void AnchorPositionVisibilityObserver::OnIntersectionVisibilityChanged(
const HeapVector<Member<IntersectionObserverEntry>>& entries) { … }
}