Make LayoutText::LocalSelectionVisualRect() not to inlcude hidden for paint fragment

This patch makes LayoutText::LocalSelectionVisualRect() not to inlcude hidden
for paint fragment to avoid redundnat paint invalidation.

Change-Id: I2ba8b4de5d03fa72d76e3c03e50ad026c6678c29
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1837446
Commit-Queue: Koji Ishii <kojii@chromium.org>
Auto-Submit: Yoshifumi Inoue <yosin@chromium.org>
Reviewed-by: Koji Ishii <kojii@chromium.org>
Cr-Commit-Position: refs/heads/master@{#702367}
diff --git a/third_party/blink/renderer/core/layout/layout_text.cc b/third_party/blink/renderer/core/layout/layout_text.cc
index 7f1933aa..253628e9 100644
--- a/third_party/blink/renderer/core/layout/layout_text.cc
+++ b/third_party/blink/renderer/core/layout/layout_text.cc
@@ -2088,6 +2088,8 @@
   if (fragments.IsInLayoutNGInlineFormattingContext()) {
     PhysicalRect rect;
     for (const NGPaintFragment* fragment : fragments) {
+      if (fragment->PhysicalFragment().IsHiddenForPaint())
+        continue;
       const LayoutSelectionStatus status =
           frame_selection.ComputeLayoutSelectionStatus(*fragment);
       if (status.start == status.end)