Index: webkit/glue/webaccessibility.cc |
=================================================================== |
--- webkit/glue/webaccessibility.cc (revision 57849) |
+++ webkit/glue/webaccessibility.cc (working copy) |
@@ -7,6 +7,13 @@ |
#include "third_party/WebKit/WebKit/chromium/public/WebAccessibilityCache.h" |
#include "third_party/WebKit/WebKit/chromium/public/WebAccessibilityObject.h" |
#include "third_party/WebKit/WebKit/chromium/public/WebAccessibilityRole.h" |
+#include "third_party/WebKit/WebKit/chromium/public/WebAttribute.h" |
+#include "third_party/WebKit/WebKit/chromium/public/WebDocument.h" |
+#include "third_party/WebKit/WebKit/chromium/public/WebDocumentType.h" |
+#include "third_party/WebKit/WebKit/chromium/public/WebElement.h" |
+#include "third_party/WebKit/WebKit/chromium/public/WebFrame.h" |
+#include "third_party/WebKit/WebKit/chromium/public/WebNamedNodeMap.h" |
+#include "third_party/WebKit/WebKit/chromium/public/WebNode.h" |
#include "third_party/WebKit/WebKit/chromium/public/WebString.h" |
using WebKit::WebAccessibilityCache; |
@@ -288,7 +295,37 @@ |
attributes[ATTR_HELP] = src.helpText(); |
if (src.keyboardShortcut().length()) |
attributes[ATTR_SHORTCUT] = src.keyboardShortcut(); |
+ if (src.hasComputedStyle()) |
+ attributes[ATTR_DISPLAY] = src.computedStyleDisplay(); |
+ WebKit::WebNode node = src.node(); |
+ |
+ if (!node.isNull() && node.isElementNode()) { |
+ WebKit::WebElement element = node.to<WebKit::WebElement>(); |
+ attributes[ATTR_HTML_TAG] = element.tagName(); |
+ for (unsigned i = 0; i < element.attributes().length(); i++) { |
+ html_attributes.push_back( |
+ std::pair<string16, string16>( |
+ element.attributes().attributeItem(i).localName(), |
+ element.attributes().attributeItem(i).value())); |
+ } |
+ } |
+ |
+ if (role == WebAccessibility::ROLE_DOCUMENT || |
+ role == WebAccessibility::ROLE_WEB_AREA) { |
+ WebKit::WebDocument document = src.document(); |
+ attributes[ATTR_DOC_TITLE] = document.title(); |
+ attributes[ATTR_DOC_URL] = document.frame()->url().spec().utf16(); |
+ if (document.isXHTMLDocument()) |
+ attributes[ATTR_DOC_MIMETYPE] = WebKit::WebString("text/xhtml"); |
+ else |
+ attributes[ATTR_DOC_MIMETYPE] = WebKit::WebString("text/html"); |
+ |
+ WebKit::WebDocumentType doctype = document.doctype(); |
+ if (!doctype.isNull()) |
+ attributes[ATTR_DOC_DOCTYPE] = doctype.name(); |
+ } |
+ |
// Add the source object to the cache and store its id. |
id = cache->addOrGetId(src); |