diff options
author | aboxhall@chromium.org <aboxhall@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-29 01:10:36 +0000 |
---|---|---|
committer | aboxhall@chromium.org <aboxhall@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-29 01:10:36 +0000 |
commit | 769c7aa11e79e08bd367f6d8b97b09314ed55263 (patch) | |
tree | 2f3ddb1e41979e4f92acc87aa879d785e381a4fd /chrome/browser | |
parent | c87c457e465f31483eb99c0f3a428eef48fb0d4c (diff) | |
download | chromium_src-769c7aa11e79e08bd367f6d8b97b09314ed55263.zip chromium_src-769c7aa11e79e08bd367f6d8b97b09314ed55263.tar.gz chromium_src-769c7aa11e79e08bd367f6d8b97b09314ed55263.tar.bz2 |
Ensure WebKit's "canSetValue" attribute is reflected in Chrome's accessibility tree.
BUG=none
TEST=RendererAccessibilityBrowserTest.CrossPlatformWritableElement
Review URL: http://codereview.chromium.org/8050003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103217 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
-rw-r--r-- | chrome/browser/accessibility/renderer_accessibility_browsertest.cc | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/chrome/browser/accessibility/renderer_accessibility_browsertest.cc b/chrome/browser/accessibility/renderer_accessibility_browsertest.cc index 10a918f..6f1d53c 100644 --- a/chrome/browser/accessibility/renderer_accessibility_browsertest.cc +++ b/chrome/browser/accessibility/renderer_accessibility_browsertest.cc @@ -64,6 +64,8 @@ class RendererAccessibilityBrowserTest : public InProcessBrowserTest { const WebAccessibility::StringAttribute attr); int GetIntAttr(const WebAccessibility& node, const WebAccessibility::IntAttribute attr); + bool GetBoolAttr(const WebAccessibility& node, + const WebAccessibility::BoolAttribute attr); }; void RendererAccessibilityBrowserTest::SetUpInProcessBrowserTestFixture() { @@ -109,6 +111,19 @@ int RendererAccessibilityBrowserTest::GetIntAttr( return -1; } +// Convenience method to get the value of a particular WebAccessibility +// node boolean attribute. +bool RendererAccessibilityBrowserTest::GetBoolAttr( + const WebAccessibility& node, + const WebAccessibility::BoolAttribute attr) { + std::map<WebAccessibility::BoolAttribute, bool>::const_iterator iter = + node.bool_attributes.find(attr); + if (iter != node.bool_attributes.end()) + return iter->second; + else + return false; +} + IN_PROC_BROWSER_TEST_F(RendererAccessibilityBrowserTest, CrossPlatformWebpageAccessibility) { // Create a data url and load it. @@ -418,4 +433,23 @@ IN_PROC_BROWSER_TEST_F(RendererAccessibilityBrowserTest, WebAccessibility::ATTR_TABLE_CELL_COLUMN_SPAN)); } +IN_PROC_BROWSER_TEST_F(RendererAccessibilityBrowserTest, + CrossPlatformWritableElement) { + const char url_str[] = + "data:text/html," + "<!doctype html>" + "<div role='textbox' tabindex=0>" + " Some text" + "</div>"; + GURL url(url_str); + browser()->OpenURL(url, GURL(), CURRENT_TAB, PageTransition::TYPED); + const WebAccessibility& tree = GetWebAccessibilityTree(); + + ASSERT_EQ(1U, tree.children.size()); + const WebAccessibility& textbox = tree.children[0]; + + EXPECT_EQ( + true, GetBoolAttr(textbox, WebAccessibility::ATTR_CAN_SET_VALUE)); +} + } // namespace |