Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(934)

Unified Diff: content/renderer/accessibility/renderer_accessibility_browsertest.cc

Issue 1761633002: One accessibility tree per frame. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix is-richly-editable test Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/renderer/accessibility/renderer_accessibility_browsertest.cc
diff --git a/content/renderer/accessibility/renderer_accessibility_browsertest.cc b/content/renderer/accessibility/renderer_accessibility_browsertest.cc
index ec6ac0a52699faa0e767b3c8b775014bb92b87ea..f08559397d16a7d65269022b93e547428bff9d96 100644
--- a/content/renderer/accessibility/renderer_accessibility_browsertest.cc
+++ b/content/renderer/accessibility/renderer_accessibility_browsertest.cc
@@ -403,59 +403,4 @@ TEST_F(RendererAccessibilityTest, DetachAccessibilityObject) {
// so we don't have a test expectation for it.
}
-TEST_F(RendererAccessibilityTest, EventOnDetachedNodeTriggersMainFrameLayout) {
- std::string html =
- "<body>"
- " <iframe srcdoc='<input>'></iframe>"
- " <button>Button</button>"
- "</body>";
- LoadHTML(html.c_str());
-
- scoped_ptr<TestRendererAccessibility> accessibility(
- new TestRendererAccessibility(frame()));
- accessibility->SendPendingAccessibilityEvents();
-
- WebDocument document = view()->GetWebView()->mainFrame()->document();
- WebAXObject root_obj = document.accessibilityObject();
- ASSERT_EQ(blink::WebAXRoleWebArea, root_obj.role());
- WebAXObject group = root_obj.childAt(0);
- ASSERT_EQ(blink::WebAXRoleGroup, group.role());
- WebAXObject iframe = group.childAt(0);
- ASSERT_EQ(blink::WebAXRoleIframe, iframe.role());
- WebAXObject child_doc = iframe.childAt(0);
- ASSERT_EQ(blink::WebAXRoleWebArea, child_doc.role());
- WebAXObject child_group = child_doc.childAt(0);
- ASSERT_EQ(blink::WebAXRoleGroup, child_group.role());
- WebAXObject child_textfield = child_group.childAt(0);
- ASSERT_EQ(blink::WebAXRoleTextField, child_textfield.role());
-
- // Hide the input element inside the iframe.
- ExecuteJavaScriptForTests(
- "document.querySelector('iframe').contentDocument"
- ".querySelector('input').style.display = 'none';");
- accessibility->HandleAXEvent(
- child_textfield,
- ui::AX_EVENT_LAYOUT_COMPLETE);
- accessibility->SendPendingAccessibilityEvents();
-
- // Make sure |child_textfield| is invalid now.
- ASSERT_TRUE(child_textfield.isDetached());
-
- // Now do a random style change in the iframe to make its layout not clean.
- ExecuteJavaScriptForTests(
- "var doc = document.querySelector('iframe').contentDocument; "
- "doc.body.style.backgroundColor = '#f00';");
-
- // Now try to handle a "layout complete" event on the detached textfield
- // object. The event handling will be a no-op, but the layout complete
- // will trigger calling SendLocationChanges. Make sure that
- // SendLocationChanges doesn't depend on layout in the main frame being
- // clean.
- //
- // If this doesn't crash, the test passes.
- accessibility->HandleAXEvent(child_textfield,
- ui::AX_EVENT_LAYOUT_COMPLETE);
- accessibility->SendPendingAccessibilityEvents();
-}
-
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698