summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/html/anchor_element_metrics.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/core/html/anchor_element_metrics.cc')
-rw-r--r--chromium/third_party/blink/renderer/core/html/anchor_element_metrics.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/chromium/third_party/blink/renderer/core/html/anchor_element_metrics.cc b/chromium/third_party/blink/renderer/core/html/anchor_element_metrics.cc
index 9666026725e..f9c46deb318 100644
--- a/chromium/third_party/blink/renderer/core/html/anchor_element_metrics.cc
+++ b/chromium/third_party/blink/renderer/core/html/anchor_element_metrics.cc
@@ -249,9 +249,13 @@ void AnchorElementMetrics::MaybeReportViewportMetricsOnLoad(
for (const auto& member_element : sender->GetAnchorElements()) {
const HTMLAnchorElement& anchor_element = *member_element;
- // We ignore anchor elements that are not in the visual viewport.
- if (!anchor_element.Href().ProtocolIsInHTTPFamily() ||
- anchor_element.VisibleBoundsInVisualViewport().IsEmpty()) {
+ if (!anchor_element.Href().ProtocolIsInHTTPFamily())
+ continue;
+
+ if (anchor_element.VisibleBoundsInVisualViewport().IsEmpty() &&
+ (!anchor_element.GetDocument().GetFrame() ||
+ !GetRootDocument(anchor_element) ||
+ !IsUrlIncrementedByOne(anchor_element))) {
continue;
}