#include "third_party/blink/renderer/core/html/anchor_element_metrics.h"
#include "base/containers/span.h"
#include "base/hash/hash.h"
#include "base/metrics/histogram_macros.h"
#include "third_party/blink/public/common/features.h"
#include "third_party/blink/public/mojom/loader/navigation_predictor.mojom-blink.h"
#include "third_party/blink/renderer/core/dom/element_traversal.h"
#include "third_party/blink/renderer/core/dom/flat_tree_traversal.h"
#include "third_party/blink/renderer/core/dom/node_computed_style.h"
#include "third_party/blink/renderer/core/dom/text.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/html/anchor_element_metrics_sender.h"
#include "third_party/blink/renderer/core/html/html_anchor_element.h"
#include "third_party/blink/renderer/core/html/html_frame_owner_element.h"
#include "third_party/blink/renderer/core/html/html_image_element.h"
#include "third_party/blink/renderer/core/layout/layout_object.h"
#include "third_party/blink/renderer/core/layout/layout_view.h"
#include "third_party/blink/renderer/core/paint/paint_layer.h"
#include "third_party/blink/renderer/core/paint/paint_layer_scrollable_area.h"
#include "third_party/blink/renderer/platform/wtf/hash_functions.h"
#include "third_party/blink/renderer/platform/wtf/text/string_to_number.h"
#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
#include "third_party/blink/renderer/platform/wtf/vector.h"
#include "ui/gfx/geometry/size.h"
namespace blink {
namespace {
Document* GetTopDocument(const HTMLAnchorElement& anchor) { … }
bool IsInIFrame(const HTMLAnchorElement& anchor_element) { … }
bool ContainsImage(const HTMLAnchorElement& anchor_element) { … }
bool IsSameHost(const HTMLAnchorElement& anchor_element,
const KURL& anchor_href) { … }
bool IsStringIncrementedByOne(const String& source, const String& target) { … }
bool IsUrlIncrementedByOne(const HTMLAnchorElement& anchor_element,
const KURL& anchor_href) { … }
gfx::Rect AbsoluteElementBoundingBoxRect(const LayoutObject& layout_object) { … }
bool HasTextSibling(const HTMLAnchorElement& anchor_element) { … }
}
uint32_t AnchorElementId(const HTMLAnchorElement& element) { … }
mojom::blink::AnchorElementMetricsPtr CreateAnchorElementMetrics(
const HTMLAnchorElement& anchor_element) { … }
}