| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/renderer/accessibility/blink_ax_tree_source.h" | 5 #include "content/renderer/accessibility/blink_ax_tree_source.h" |
| 6 | 6 |
| 7 #include <set> | 7 #include <set> |
| 8 | 8 |
| 9 #include "base/strings/string_number_conversions.h" | 9 #include "base/strings/string_number_conversions.h" |
| 10 #include "base/strings/string_util.h" | 10 #include "base/strings/string_util.h" |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 49 // accessibilityIsIgnored(). | 49 // accessibilityIsIgnored(). |
| 50 bool IsParentUnignoredOf(WebAXObject ancestor, | 50 bool IsParentUnignoredOf(WebAXObject ancestor, |
| 51 WebAXObject child) { | 51 WebAXObject child) { |
| 52 WebAXObject parent = child.parentObject(); | 52 WebAXObject parent = child.parentObject(); |
| 53 while (!parent.isDetached() && parent.accessibilityIsIgnored()) | 53 while (!parent.isDetached() && parent.accessibilityIsIgnored()) |
| 54 parent = parent.parentObject(); | 54 parent = parent.parentObject(); |
| 55 return parent.equals(ancestor); | 55 return parent.equals(ancestor); |
| 56 } | 56 } |
| 57 | 57 |
| 58 bool IsTrue(std::string html_value) { | 58 bool IsTrue(std::string html_value) { |
| 59 return base::LowerCaseEqualsASCII(html_value, "true"); | 59 return LowerCaseEqualsASCII(html_value, "true"); |
| 60 } | 60 } |
| 61 | 61 |
| 62 std::string GetEquivalentAriaRoleString(const ui::AXRole role) { | 62 std::string GetEquivalentAriaRoleString(const ui::AXRole role) { |
| 63 switch (role) { | 63 switch (role) { |
| 64 case ui::AX_ROLE_ARTICLE: | 64 case ui::AX_ROLE_ARTICLE: |
| 65 return "article"; | 65 return "article"; |
| 66 case ui::AX_ROLE_BANNER: | 66 case ui::AX_ROLE_BANNER: |
| 67 return "banner"; | 67 return "banner"; |
| 68 case ui::AX_ROLE_COMPLEMENTARY: | 68 case ui::AX_ROLE_COMPLEMENTARY: |
| 69 return "complementary"; | 69 return "complementary"; |
| (...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 289 bool is_iframe = false; | 289 bool is_iframe = false; |
| 290 std::string live_atomic; | 290 std::string live_atomic; |
| 291 std::string live_busy; | 291 std::string live_busy; |
| 292 std::string live_status; | 292 std::string live_status; |
| 293 std::string live_relevant; | 293 std::string live_relevant; |
| 294 | 294 |
| 295 if (!node.isNull() && node.isElementNode()) { | 295 if (!node.isNull() && node.isElementNode()) { |
| 296 WebElement element = node.to<WebElement>(); | 296 WebElement element = node.to<WebElement>(); |
| 297 is_iframe = (element.tagName() == ASCIIToUTF16("IFRAME")); | 297 is_iframe = (element.tagName() == ASCIIToUTF16("IFRAME")); |
| 298 | 298 |
| 299 if (base::LowerCaseEqualsASCII( | 299 if (LowerCaseEqualsASCII(element.getAttribute("aria-expanded"), "true")) |
| 300 base::string16(element.getAttribute("aria-expanded")), | |
| 301 "true")) | |
| 302 dst->state |= (1 << ui::AX_STATE_EXPANDED); | 300 dst->state |= (1 << ui::AX_STATE_EXPANDED); |
| 303 | 301 |
| 304 // TODO(ctguil): The tagName in WebKit is lower cased but | 302 // TODO(ctguil): The tagName in WebKit is lower cased but |
| 305 // HTMLElement::nodeName calls localNameUpper. Consider adding | 303 // HTMLElement::nodeName calls localNameUpper. Consider adding |
| 306 // a WebElement method that returns the original lower cased tagName. | 304 // a WebElement method that returns the original lower cased tagName. |
| 307 dst->AddStringAttribute( | 305 dst->AddStringAttribute( |
| 308 ui::AX_ATTR_HTML_TAG, | 306 ui::AX_ATTR_HTML_TAG, |
| 309 base::StringToLowerASCII(UTF16ToUTF8(element.tagName()))); | 307 base::StringToLowerASCII(UTF16ToUTF8(element.tagName()))); |
| 310 for (unsigned i = 0; i < element.attributeCount(); ++i) { | 308 for (unsigned i = 0; i < element.attributeCount(); ++i) { |
| 311 std::string name = base::StringToLowerASCII(UTF16ToUTF8( | 309 std::string name = base::StringToLowerASCII(UTF16ToUTF8( |
| (...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 556 blink::WebDocument BlinkAXTreeSource::GetMainDocument() const { | 554 blink::WebDocument BlinkAXTreeSource::GetMainDocument() const { |
| 557 WebView* view = render_frame_->render_view()->GetWebView(); | 555 WebView* view = render_frame_->render_view()->GetWebView(); |
| 558 WebFrame* main_frame = view ? view->mainFrame() : NULL; | 556 WebFrame* main_frame = view ? view->mainFrame() : NULL; |
| 559 | 557 |
| 560 if (main_frame) | 558 if (main_frame) |
| 561 return main_frame->document(); | 559 return main_frame->document(); |
| 562 return WebDocument(); | 560 return WebDocument(); |
| 563 } | 561 } |
| 564 | 562 |
| 565 } // namespace content | 563 } // namespace content |
| OLD | NEW |