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

Add more iframe tests

Help determine causes of flakiness for Hyperlink issues, as well
as flaky tests for aria-hidden iframes.

Use @WAIT-FOR done with 50ms timeout in order to give iframe
sub documents a chance to load. The timeout is not ideal, but
there currently is no better way unless the iframe has some
actual contents to wait for.

Bug: 1158699,1157731
Change-Id: If6526616f6f9ceeac59a80c8ee8c2cb6b4d6e83a
Cq-Do-Not-Cancel-Tryjobs: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2611284
Commit-Queue: Aaron Leventhal <aleventhal@chromium.org>
Reviewed-by: default avatarNektarios Paisios <nektar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#841307}
parent 7b895b39
...@@ -1704,11 +1704,35 @@ IN_PROC_BROWSER_TEST_P(DumpAccessibilityTreeTest, AccessibilityIframe) { ...@@ -1704,11 +1704,35 @@ IN_PROC_BROWSER_TEST_P(DumpAccessibilityTreeTest, AccessibilityIframe) {
RunHtmlTest(FILE_PATH_LITERAL("iframe.html")); RunHtmlTest(FILE_PATH_LITERAL("iframe.html"));
} }
IN_PROC_BROWSER_TEST_P(DumpAccessibilityTreeTest,
AccessibilityIframeAriaHidden) {
RunHtmlTest(FILE_PATH_LITERAL("iframe-aria-hidden.html"));
}
IN_PROC_BROWSER_TEST_P(DumpAccessibilityTreeTest, AccessibilityIframeCreate) {
RunHtmlTest(FILE_PATH_LITERAL("iframe-create.html"));
}
IN_PROC_BROWSER_TEST_P(DumpAccessibilityTreeTest,
AccessibilityIframeCreateEmpty) {
RunHtmlTest(FILE_PATH_LITERAL("iframe-create-empty.html"));
}
IN_PROC_BROWSER_TEST_P(DumpAccessibilityTreeTest,
AccessibilityIframeEmptyPositioned) {
RunHtmlTest(FILE_PATH_LITERAL("iframe-empty-positioned.html"));
}
IN_PROC_BROWSER_TEST_P(DumpAccessibilityTreeTest, IN_PROC_BROWSER_TEST_P(DumpAccessibilityTreeTest,
AccessibilityIframeScrollable) { AccessibilityIframeScrollable) {
RunHtmlTest(FILE_PATH_LITERAL("iframe-scrollable.html")); RunHtmlTest(FILE_PATH_LITERAL("iframe-scrollable.html"));
} }
IN_PROC_BROWSER_TEST_P(DumpAccessibilityTreeTest,
AccessibilityIframeSrcdocChanged) {
RunHtmlTest(FILE_PATH_LITERAL("iframe-srcdoc-changed.html"));
}
IN_PROC_BROWSER_TEST_P(DumpAccessibilityTreeTest, IN_PROC_BROWSER_TEST_P(DumpAccessibilityTreeTest,
AccessibilityIframePostEnable) { AccessibilityIframePostEnable) {
enable_accessibility_after_navigating_ = true; enable_accessibility_after_navigating_ = true;
......
android.webkit.WebView focusable focused scrollable
++android.view.View invisible
++++android.view.View scrollable
++android.view.View invisible
++++android.view.View scrollable
[document web]
++[internal frame]
++++[document web]
++[internal frame]
++++[document web]
\ No newline at end of file
rootWebArea
++genericContainer ignored
++++genericContainer ignored
++++++iframe invisible
++++++++rootWebArea
++++++++++genericContainer ignored
++++++++++++genericContainer ignored
++++++iframe invisible
++++++++rootWebArea
++++++++++genericContainer ignored
++++++++++++genericContainer ignored
Document
++Document IsControlElement=false
++++Document
++Document IsControlElement=false
++++Document
ROLE_SYSTEM_DOCUMENT READONLY FOCUSABLE ia2_hypertext='<obj0><obj1>'
++IA2_ROLE_INTERNAL_FRAME INVISIBLE ia2_hypertext='<obj0>'
++++ROLE_SYSTEM_DOCUMENT READONLY FOCUSABLE
++IA2_ROLE_INTERNAL_FRAME INVISIBLE ia2_hypertext='<obj0>'
++++ROLE_SYSTEM_DOCUMENT READONLY FOCUSABLE
\ No newline at end of file
<!--
@WIN-ALLOW:ia2_hypertext=*
-->
<iframe tabindex="-1" aria-hidden="true" src="frame/empty.html"
style="position: absolute; width: 9em; height: 9em; top: -99em;">
</iframe>
<!-- Use a unique @src for code that ensures all iframes are loaded -->
<iframe aria-hidden="true" src="frame/empty.html#2"
style="position: absolute; width: 9em; height: 9em; top: -99em;">
</iframe>
android.webkit.WebView focusable focused scrollable
++android.view.View
++++android.view.View
++++++android.view.View scrollable
\ No newline at end of file
[document web]
++[section]
++++[internal frame]
++++++[document web]
\ No newline at end of file
rootWebArea
++genericContainer ignored
++++genericContainer
++++++iframe
++++++++rootWebArea
++++++++++genericContainer ignored
++++++++++++genericContainer ignored
AXWebArea
++AXGroup
++++AXGroup
++++++AXWebArea
\ No newline at end of file
Document
++Group IsControlElement=false
++++Document
++++++Document
\ No newline at end of file
ROLE_SYSTEM_DOCUMENT READONLY FOCUSABLE ia2_hypertext='<obj0>'
++IA2_ROLE_SECTION ia2_hypertext='<obj0>'
++++IA2_ROLE_INTERNAL_FRAME ia2_hypertext='<obj0>'
++++++ROLE_SYSTEM_DOCUMENT READONLY FOCUSABLE
\ No newline at end of file
<!--
@WIN-ALLOW:ia2_hypertext=*
-->
<body>
</body>
<script>
const iframe = document.createElement('iframe');
iframe.src = 'frame/empty.html';
document.body.appendChild(iframe);
</script>
android.webkit.WebView focusable focused scrollable
++android.view.View
++++android.view.View
++++++android.view.View scrollable
++++++++android.view.View
++++++++++android.view.View role_description='link' clickable focusable link name='done'
++++++++++++android.widget.TextView name='done'
[document web]
++[section]
++++[internal frame]
++++++[document web]
++++++++[section]
++++++++++[link] name='done'
++++++++++++[static] name='done'
\ No newline at end of file
rootWebArea
++genericContainer ignored
++++genericContainer
++++++iframe
++++++++rootWebArea
++++++++++genericContainer ignored
++++++++++++genericContainer
++++++++++++++link name='done'
++++++++++++++++staticText name='done'
++++++++++++++++++inlineTextBox name='done'
AXWebArea
++AXGroup
++++AXGroup
++++++AXWebArea
++++++++AXGroup
++++++++++AXLink AXDescription='done'
++++++++++++AXStaticText AXValue='done'
Document
++Group IsControlElement=false
++++Document
++++++Document
++++++++Group IsControlElement=false
++++++++++Hyperlink Name='done'
++++++++++++Text Name='done' IsControlElement=false
\ No newline at end of file
ROLE_SYSTEM_DOCUMENT READONLY FOCUSABLE ia2_hypertext='<obj0>'
++IA2_ROLE_SECTION ia2_hypertext='<obj0>'
++++IA2_ROLE_INTERNAL_FRAME ia2_hypertext='<obj0>'
++++++ROLE_SYSTEM_DOCUMENT value='about:srcdoc' READONLY FOCUSABLE ia2_hypertext='<obj0>'
++++++++IA2_ROLE_SECTION ia2_hypertext='<obj0>'
++++++++++ROLE_SYSTEM_LINK name='done' FOCUSABLE ia2_hypertext='done'
++++++++++++ROLE_SYSTEM_STATICTEXT name='done' ia2_hypertext='done'
<!--
@WIN-ALLOW:ia2_hypertext=*
@WAIT-FOR:done
-->
<body>
</body>
<script>
const iframe = document.createElement('iframe');
iframe.srcdoc = '<a href="/">done</a>';
document.body.appendChild(iframe);
</script>
android.webkit.WebView focusable focused scrollable
++android.view.View
++++android.view.View scrollable
++android.view.View
++++android.view.View scrollable
[document web]
++[internal frame]
++++[document web]
++[internal frame]
++++[document web]
\ No newline at end of file
rootWebArea
++genericContainer ignored
++++genericContainer ignored
++++++iframe
++++++++rootWebArea
++++++++++genericContainer ignored
++++++++++++genericContainer ignored
++++++iframe
++++++++rootWebArea
++++++++++genericContainer ignored
++++++++++++genericContainer ignored
AXWebArea
++AXGroup
++++AXWebArea
++AXGroup
++++AXWebArea
Document
++Document
++++Document
++Document
++++Document
ROLE_SYSTEM_DOCUMENT READONLY FOCUSABLE ia2_hypertext='<obj0><obj1>'
++IA2_ROLE_INTERNAL_FRAME ia2_hypertext='<obj0>'
++++ROLE_SYSTEM_DOCUMENT READONLY FOCUSABLE
++IA2_ROLE_INTERNAL_FRAME ia2_hypertext='<obj0>'
++++ROLE_SYSTEM_DOCUMENT READONLY FOCUSABLE
\ No newline at end of file
<!--
@WIN-ALLOW:ia2_hypertext=*
-->
<iframe tabindex="-1" src="frame/empty.html"
style="position: absolute; width: 9em; height: 9em; top: -99em;">
</iframe>
<!-- Use a unique @src for code that ensures all iframes are loaded -->
<iframe onload="iframeLoaded()" src="frame/empty.html#2"
style="position: absolute; width: 9em; height: 9em; top: -99em;">
</iframe>
android.webkit.WebView focusable focused scrollable name='done'
++android.view.View
++++android.view.View
++++++android.view.View scrollable
\ No newline at end of file
[document web] name='done'
++[section]
++++[internal frame]
++++++[document web]
\ No newline at end of file
rootWebArea name='done'
++genericContainer ignored
++++genericContainer
++++++iframe
++++++++rootWebArea
++++++++++genericContainer ignored
++++++++++++genericContainer ignored
\ No newline at end of file
AXWebArea AXTitle='done'
++AXGroup
++++AXGroup
++++++AXWebArea
\ No newline at end of file
Document Name='done'
++Group IsControlElement=false
++++Document
++++++Document
\ No newline at end of file
ROLE_SYSTEM_DOCUMENT name='done' READONLY FOCUSABLE ia2_hypertext='<obj0>'
++IA2_ROLE_SECTION ia2_hypertext='<obj0>'
++++IA2_ROLE_INTERNAL_FRAME ia2_hypertext='<obj0>'
++++++ROLE_SYSTEM_DOCUMENT value='about:srcdoc' READONLY FOCUSABLE
\ No newline at end of file
<!--
@WIN-ALLOW:ia2_hypertext=*
@WAIT-FOR:done
-->
<body>
</body>
<script>
const iframe = document.createElement('iframe');
iframe.onload = () => {
iframe.onload = () => {
setTimeout(() => { document.title = 'done' }, 99);
};
iframe.srcdoc = '';
};
iframe.srcdoc = '<a href="/">link inside iframe</a>';
document.body.appendChild(iframe);
</script>
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