Index: LayoutTests/fast/css/focus-ring-recursive-inlines.html |
diff --git a/LayoutTests/fast/css/focus-ring-recursive-inlines.html b/LayoutTests/fast/css/focus-ring-recursive-inlines.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..96c932fdb3eec4dc91703ff64f33ac43053f895d |
--- /dev/null |
+++ b/LayoutTests/fast/css/focus-ring-recursive-inlines.html |
@@ -0,0 +1,31 @@ |
+<!DOCTYPE html> |
+<style> |
+#container { |
+ width: 200px; |
+} |
+#inner { |
+ position: relative; |
+ top: -3px; |
+} |
+</style> |
+<script src="../../resources/js-test.js"></script> |
+<script> |
+description('When adding focus ring rects, we should avoid adding line box rects of recursive inlines repeatedly'); |
+onload = function() { |
+ document.body.offsetTop; |
+ // 6 focus ring rects: |
+ // - 0-2: line boxes of the focused span; |
+ // - 3: anonymous continuation block; |
+ // - 4: the inner block |
+ // - 5: root line box of the inner block |
+ if (window.testRunner && window.internals) |
+ shouldBe("internals.focusRingRects(document.getElementById('focus')).length", "6"); |
+}; |
+</script> |
+<div id="container"> |
+ <span id="focus"> |
+ <b><b><b><i><i><i>INLINE</i></i> <i><i>TEXT</i></i> |
+ <div id="inner"><b><b>BLOCK</b> <i>CONTENTS</i></b></div> |
+ </i></b></b></b> |
+ </span> |
+</div> |