diff options
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.cc | 10 |
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; } |