| Index: content/browser/accessibility/site_per_process_accessibility_browsertest.cc
|
| diff --git a/content/browser/accessibility/site_per_process_accessibility_browsertest.cc b/content/browser/accessibility/site_per_process_accessibility_browsertest.cc
|
| index 1a3ace113889ff7e56c7f20942fec580ba17d618..59e217ae2ee6d2f36042cbd7cada1d63889e33e9 100644
|
| --- a/content/browser/accessibility/site_per_process_accessibility_browsertest.cc
|
| +++ b/content/browser/accessibility/site_per_process_accessibility_browsertest.cc
|
| @@ -47,17 +47,17 @@ bool AccessibilityTreeIsLoaded(BrowserAccessibilityManager* manager) {
|
| root->GetStringAttribute(ui::AX_ATTR_DOC_URL) != url::kAboutBlankURL);
|
| }
|
|
|
| -// Disabled, see https://crbug.com/490831.
|
| // Times out on Android, not clear if it's an actual bug or just slow.
|
| +#if defined(OS_ANDROID)
|
| +#define MAYBE_CrossSiteIframeAccessibility DISABLED_CrossSiteIframeAccessibility
|
| +#else
|
| +#define MAYBE_CrossSiteIframeAccessibility CrossSiteIframeAccessibility
|
| +#endif
|
| IN_PROC_BROWSER_TEST_F(SitePerProcessAccessibilityBrowserTest,
|
| - DISABLED_CrossSiteIframeAccessibility) {
|
| + MAYBE_CrossSiteIframeAccessibility) {
|
| // Enable full accessibility for all current and future WebContents.
|
| BrowserAccessibilityState::GetInstance()->EnableAccessibility();
|
|
|
| - AccessibilityNotificationWaiter main_frame_accessibility_waiter(
|
| - shell(), AccessibilityModeComplete,
|
| - ui::AX_EVENT_LOAD_COMPLETE);
|
| -
|
| host_resolver()->AddRule("*", "127.0.0.1");
|
| ASSERT_TRUE(test_server()->Start());
|
| GURL main_url(test_server()->GetURL("files/site_per_process_main.html"));
|
| @@ -74,6 +74,9 @@ IN_PROC_BROWSER_TEST_F(SitePerProcessAccessibilityBrowserTest,
|
| NavigateFrameToURL(child, http_url);
|
|
|
| // Load cross-site page into iframe.
|
| + RenderFrameHostImpl* child_rfh =
|
| + child->render_manager()->current_frame_host();
|
| + RenderFrameDeletedObserver deleted_observer(child_rfh);
|
| GURL::Replacements replace_host;
|
| GURL cross_site_url(test_server()->GetURL("files/title2.html"));
|
| replace_host.SetHostStr("foo.com");
|
| @@ -85,10 +88,8 @@ IN_PROC_BROWSER_TEST_F(SitePerProcessAccessibilityBrowserTest,
|
| SiteInstance* site_instance = child->current_frame_host()->GetSiteInstance();
|
| EXPECT_NE(shell()->web_contents()->GetSiteInstance(), site_instance);
|
|
|
| - // Wait for the accessibility tree from the main frame to load.
|
| - // Because we created the AccessibilityNotificationWaiter before accessibility
|
| - // was enabled, we're guaranteed to get a LOAD_COMPLETE event.
|
| - main_frame_accessibility_waiter.WaitForNotification();
|
| + // Wait until the iframe completes the swap.
|
| + deleted_observer.WaitUntilDeleted();
|
|
|
| RenderFrameHostImpl* main_frame = static_cast<RenderFrameHostImpl*>(
|
| shell()->web_contents()->GetMainFrame());
|
| @@ -130,12 +131,7 @@ IN_PROC_BROWSER_TEST_F(SitePerProcessAccessibilityBrowserTest,
|
| EXPECT_EQ(ui::AX_ROLE_IFRAME, ax_iframe->GetRole());
|
| ASSERT_EQ(1U, ax_iframe->PlatformChildCount());
|
|
|
| - BrowserAccessibility* ax_scroll_area = ax_iframe->PlatformGetChild(0);
|
| - EXPECT_EQ(ui::AX_ROLE_SCROLL_AREA, ax_scroll_area->GetRole());
|
| - ASSERT_EQ(1U, ax_scroll_area->PlatformChildCount());
|
| -
|
| - BrowserAccessibility* ax_child_frame_root =
|
| - ax_scroll_area->PlatformGetChild(0);
|
| + BrowserAccessibility* ax_child_frame_root = ax_iframe->PlatformGetChild(0);
|
| EXPECT_EQ(ui::AX_ROLE_ROOT_WEB_AREA, ax_child_frame_root->GetRole());
|
| ASSERT_EQ(1U, ax_child_frame_root->PlatformChildCount());
|
| EXPECT_EQ("Title Of Awesomeness",
|
| @@ -152,7 +148,7 @@ IN_PROC_BROWSER_TEST_F(SitePerProcessAccessibilityBrowserTest,
|
| ASSERT_EQ(0U, ax_child_frame_static_text->PlatformChildCount());
|
|
|
| // Last, check that the parent of the child frame root is correct.
|
| - EXPECT_EQ(ax_child_frame_root->GetParent(), ax_scroll_area);
|
| + EXPECT_EQ(ax_child_frame_root->GetParent(), ax_iframe);
|
| }
|
|
|
| } // namespace content
|
|
|