Commit db6a0824 authored by Aaron Leventhal's avatar Aaron Leventhal Committed by Chromium LUCI CQ

Remove seemingly unnecessary element continuation child logic

This logic doesn't make a difference in any tests.
Notably: continuation.html in web tests passes.

This CL progresses towards removal of
ShouldUseLayoutBuilderTraversal(), simplifying AddChildren() and
removing conditions that lead to lack of symmetry in
child-parent relationships.

Bug: None
Change-Id: Ic436c4dd51ba7d12cd6adec0f7d35cdbab7dc487
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2563863Reviewed-by: default avatarAlice Boxhall <aboxhall@chromium.org>
Commit-Queue: Aaron Leventhal <aleventhal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#832024}
parent 81a1da06
...@@ -595,6 +595,10 @@ IN_PROC_BROWSER_TEST_P(DumpAccessibilityTreeTest, ...@@ -595,6 +595,10 @@ IN_PROC_BROWSER_TEST_P(DumpAccessibilityTreeTest,
RunAriaTest(FILE_PATH_LITERAL("aria-contentinfo.html")); RunAriaTest(FILE_PATH_LITERAL("aria-contentinfo.html"));
} }
IN_PROC_BROWSER_TEST_P(DumpAccessibilityTreeTest, AccessibilityContinuations) {
RunHtmlTest(FILE_PATH_LITERAL("continuations.html"));
}
IN_PROC_BROWSER_TEST_P(DumpAccessibilityTreeTest, AccessibilityAriaControls) { IN_PROC_BROWSER_TEST_P(DumpAccessibilityTreeTest, AccessibilityAriaControls) {
RunAriaTest(FILE_PATH_LITERAL("aria-controls.html")); RunAriaTest(FILE_PATH_LITERAL("aria-controls.html"));
} }
......
[document web]
++[panel] name='Group 1'
++++[section]
++++++[push button] name='Before'
++++[section]
++++++[static] name='After'
++[panel] name='Group 2'
++++[section]
++++++[static] name='Before'
++++[section]
++++++[static] name='After'
++[panel] name='Group 3'
++++[link] name='Before'
++++++[section]
++++++++[static] name='Before'
++++[section]
++++++[link] name='Ever '
++++++++[static] name='Ever '
++++++[link] name='After'
++++++++[static] name='After'
++[panel] name='Group 4'
++++[section]
++++++[static] name='Before'
++++[paragraph]
++++++[static] name='After'
++[panel] name='Group 5'
++++[static] name='Italic only '
++++[static] name='italic and bold'
++++[section]
++++++[static] name='Wow, a block!'
++++[section]
++++++[static] name='Wow, another block!'
++++[static] name='More italic and bold text'
++++[static] name=' More italic text'
rootWebArea isLineBreakingObject=true
++genericContainer ignored display='block' isLineBreakingObject=true
++++genericContainer ignored display='block' isLineBreakingObject=true
++++++group display='block' name='Group 1' isLineBreakingObject=true
++++++++genericContainer display='block' isLineBreakingObject=true
++++++++++button display='inline-block' name='Before' isLineBreakingObject=true
++++++++++++staticText display='inline-block' name='Before'
++++++++++++++inlineTextBox display='inline-block' name='Before'
++++++++genericContainer display='block' isLineBreakingObject=true
++++++++++staticText display='block' name='After'
++++++++++++inlineTextBox display='block' name='After'
++++++group display='block' name='Group 2' isLineBreakingObject=true
++++++++genericContainer display='block' isLineBreakingObject=true
++++++++++staticText display='block' name='Before'
++++++++++++inlineTextBox display='block' name='Before'
++++++++genericContainer display='block' isLineBreakingObject=true
++++++++++staticText display='block' name='After'
++++++++++++inlineTextBox display='block' name='After'
++++++group display='block' name='Group 3' isLineBreakingObject=true
++++++++anchor display='inline' name='Before'
++++++++++genericContainer display='block' isLineBreakingObject=true
++++++++++++staticText display='block' name='Before'
++++++++++++++inlineTextBox display='block' name='Before'
++++++++genericContainer display='block' isLineBreakingObject=true
++++++++++anchor display='inline' name='Ever '
++++++++++++staticText display='inline' name='Ever '
++++++++++++++inlineTextBox display='inline' name='Ever '
++++++++++link display='inline' name='After'
++++++++++++staticText display='inline' name='After'
++++++++++++++inlineTextBox display='inline' name='After'
++++++group display='block' name='Group 4' isLineBreakingObject=true
++++++++genericContainer display='block' isLineBreakingObject=true
++++++++++staticText display='block' name='Before'
++++++++++++inlineTextBox display='block' name='Before'
++++++++genericContainer ignored display='block' isLineBreakingObject=true
++++++++++paragraph display='block' isLineBreakingObject=true
++++++++++++staticText display='block' name='After'
++++++++++++++inlineTextBox display='block' name='After'
++++++group display='block' name='Group 5' isLineBreakingObject=true
++++++++staticText display='inline' name='Italic only '
++++++++++inlineTextBox display='inline' name='Italic only '
++++++++staticText display='inline' name='italic and bold'
++++++++++inlineTextBox display='inline' name='italic and bold'
++++++++genericContainer display='block' isLineBreakingObject=true
++++++++++staticText display='block' name='Wow, a block!'
++++++++++++inlineTextBox display='block' name='Wow, a block!'
++++++++genericContainer display='block' isLineBreakingObject=true
++++++++++staticText display='block' name='Wow, another block!'
++++++++++++inlineTextBox display='block' name='Wow, another block!'
++++++++staticText display='inline' name='More italic and bold text'
++++++++++inlineTextBox display='inline' name='More italic and bold text'
++++++++staticText display='inline' name=' More italic text'
++++++++++inlineTextBox display='inline' name=' More italic text'
<!--
@BLINK-ALLOW:display*
@BLINK-ALLOW:isLineBreakingObject*
-->
<!--
Continuations in Blink are described here:
https://webkit.org/blog/115/webcore-rendering-ii-blocks-and-inlines/
-->
<div role="group" aria-label="Group 1">
<b>
<i>
<div>
<button id="before">Before</button>
</div></i><div id="after">After</div></b>
</div>
<div role="group" aria-label="Group 2">
<foo>
<bar>
<div id="before">Before</div>
</bar><div id="after">After</div>
</foo>
</div>
<div role="group" aria-label="Group 3">
<span>
<a name="a">
<div id="before">Before</div>
<div id="ever">
Ever
<a href="#" id="after">After</a>
</div>
</a>
</span>
</div>
<div role="group" aria-label="Group 4">
<div id="before">Before</div>
<div><span><p id="after">After</p></span></div>
</div>
<div role="group" aria-label="Group 5">
<i>Italic only <b>italic and bold
<div>
Wow, a block!
</div>
<div>
Wow, another block!
</div>
More italic and bold text</b> More italic text</i>
</div>
...@@ -3227,10 +3227,6 @@ bool AXNodeObject::ShouldUseLayoutBuilderTraversal() const { ...@@ -3227,10 +3227,6 @@ bool AXNodeObject::ShouldUseLayoutBuilderTraversal() const {
// it's possible for the same object to become a child of 2 different nodes, // it's possible for the same object to become a child of 2 different nodes,
// e.g. if it has a different layout parent and DOM parent. // e.g. if it has a different layout parent and DOM parent.
// Avoid calling AXNodeObject logic for continuations.
if (GetLayoutObject() && GetLayoutObject()->IsElementContinuation())
return false;
Node* node = GetNode(); Node* node = GetNode();
if (!node) if (!node)
return false; return false;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment