// Copyright 2019 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "content/browser/accessibility/accessibility_browsertest.h" #include "base/callback_helpers.h" #include "base/macros.h" #include "content/browser/accessibility/browser_accessibility.h" #include "content/browser/renderer_host/render_widget_host_view_aura.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/public/test/accessibility_notification_waiter.h" #include "content/public/test/browser_test_utils.h" #include "content/public/test/content_browser_test.h" #include "content/public/test/content_browser_test_utils.h" #include "content/shell/browser/shell.h" #include "content/test/content_browser_test_utils_internal.h" #include "net/base/escape.h" namespace content { constexpr char kInputContents[] = "Moz/5.0 (ST 6.x; WWW33) " "WebKit \"KHTML, like\"."; constexpr char kTextareaContents[] = "Moz/5.0 (ST 6.x; WWW33)\n" "WebKit \n\"KHTML, like\"."; gfx::NativeViewAccessible AccessibilityBrowserTest::GetRendererAccessible() { content::WebContents* web_contents = shell()->web_contents(); return web_contents->GetRenderWidgetHostView()->GetNativeViewAccessible(); } void AccessibilityBrowserTest::ExecuteScript(const base::string16& script) { shell()->web_contents()->GetMainFrame()->ExecuteJavaScriptForTests( script, base::NullCallback()); } void AccessibilityBrowserTest::LoadInitialAccessibilityTreeFromHtml( const std::string& html, ui::AXMode accessibility_mode) { AccessibilityNotificationWaiter waiter(shell()->web_contents(), accessibility_mode, ax::mojom::Event::kLoadComplete); GURL html_data_url("data:text/html," + net::EscapeQueryParamValue(html, false)); EXPECT_TRUE(NavigateToURL(shell(), html_data_url)); waiter.WaitForNotification(); } void AccessibilityBrowserTest::LoadInputField() { LoadInitialAccessibilityTreeFromHtml(std::string( R"HTML(
)HTML")); } void AccessibilityBrowserTest::LoadTextareaField() { LoadInitialAccessibilityTreeFromHtml(std::string(R"HTML( )HTML")); } void AccessibilityBrowserTest::LoadSampleParagraph( ui::AXMode accessibility_mode) { LoadInitialAccessibilityTreeFromHtml( R"HTML(Game theory is "the study of
mathematical models
of conflict and
cooperation between intelligent rational
decision-makers."
hello
hello
Game theory is "the study of
mathematical models
of conflict and
cooperation between intelligent rational
decision-makers."