Changeset 163891 in webkit
- Timestamp:
- Feb 11, 2014 11:27:12 AM (10 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 28 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r163890 r163891 1 2014-02-11 James Craig <jcraig@apple.com> 2 3 Web Inspector: AX: Accessibility Node Inspection 4 https://bugs.webkit.org/show_bug.cgi?id=127447 5 6 Reviewed by Timothy Hatcher. 7 8 New layout verifying AccessibilityObject::computedRoleString() 9 10 * accessibility/roles-computedRoleString-expected.txt: Added. 11 * accessibility/roles-computedRoleString.html: Added. 12 1 13 2014-02-10 Oliver Hunt <oliver@apple.com> 2 14 -
trunk/LayoutTests/platform/gtk/TestExpectations
r163749 r163891 1317 1317 webkit.org/b/106316 accessibility/render-counter-text.html [ Failure ] 1318 1318 1319 webkit.org/b/128420 accessibility/roles-computedRoleString.html [ Skip ] 1320 1319 1321 webkit.org/b/103927 http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_cross_origin_resource_request.html [ Failure ] 1320 1322 webkit.org/b/103927 http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_timing_allow_cross_origin_resource_request.html [ Failure ] -
trunk/Source/WebCore/ChangeLog
r163890 r163891 1 2014-02-11 James Craig <jcraig@apple.com> 2 3 Web Inspector: AX: Accessibility Node Inspection 4 https://bugs.webkit.org/show_bug.cgi?id=127447 5 6 Reviewed by Timothy Hatcher. 7 8 New methods supporting WebCore::AccessibilityObject::computedRoleString() 9 used for Accessibility section in WebInspector Node Inspector. Other updates 10 support the JSON interface for the WebInspectorUI feature. 11 12 Test: accessibility/roles-computedRoleString.html 13 14 * accessibility/AccessibilityObject.cpp: 15 (WebCore::initializeRoleMap): 16 (WebCore::ariaRoleMap): 17 (WebCore::reverseAriaRoleMap): 18 (WebCore::AccessibilityObject::ariaRoleToWebCoreRole): 19 (WebCore::AccessibilityObject::computedRoleString): 20 * accessibility/AccessibilityObject.h: 21 * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: 22 (-[WebAccessibilityObjectWrapper computedRoleString]): 23 (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]): 24 * inspector/InspectorDOMAgent.cpp: 25 (WebCore::InspectorDOMAgent::getAccessibilityPropertiesForNode): 26 (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties): 27 * inspector/InspectorDOMAgent.h: 28 * inspector/protocol/DOM.json: 29 1 30 2014-02-10 Oliver Hunt <oliver@apple.com> 2 31 -
trunk/Source/WebCore/accessibility/AccessibilityObject.cpp
r163882 r163891 1611 1611 1612 1612 typedef HashMap<String, AccessibilityRole, CaseFoldingHash> ARIARoleMap; 1613 typedef HashMap<AccessibilityRole, String, DefaultHash<int>::Hash, WTF::UnsignedWithZeroKeyHashTraits<int>> ARIAReverseRoleMap; 1614 1615 static ARIARoleMap* gAriaRoleMap = nullptr; 1616 static ARIAReverseRoleMap* gAriaReverseRoleMap = nullptr; 1613 1617 1614 1618 struct RoleEntry { … … 1617 1621 }; 1618 1622 1619 static ARIARoleMap* createARIARoleMap() 1620 { 1623 static void initializeRoleMap() 1624 { 1625 if (gAriaRoleMap) 1626 return; 1627 ASSERT(!gAriaReverseRoleMap); 1628 1621 1629 const RoleEntry roles[] = { 1622 1630 { "alert", ApplicationAlertRole }, … … 1682 1690 { "treeitem", TreeItemRole } 1683 1691 }; 1684 ARIARoleMap* roleMap = new ARIARoleMap; 1685 1686 for (size_t i = 0; i < WTF_ARRAY_LENGTH(roles); ++i) 1687 roleMap->set(roles[i].ariaRole, roles[i].webcoreRole); 1688 return roleMap; 1692 1693 gAriaRoleMap = new ARIARoleMap; 1694 gAriaReverseRoleMap = new ARIAReverseRoleMap; 1695 size_t roleLength = WTF_ARRAY_LENGTH(roles); 1696 for (size_t i = 0; i < roleLength; ++i) { 1697 gAriaRoleMap->set(roles[i].ariaRole, roles[i].webcoreRole); 1698 gAriaReverseRoleMap->set(roles[i].webcoreRole, roles[i].ariaRole); 1699 } 1700 } 1701 1702 static ARIARoleMap& ariaRoleMap() 1703 { 1704 initializeRoleMap(); 1705 return *gAriaRoleMap; 1706 } 1707 1708 static ARIAReverseRoleMap& reverseAriaRoleMap() 1709 { 1710 initializeRoleMap(); 1711 return *gAriaReverseRoleMap; 1689 1712 } 1690 1713 … … 1693 1716 ASSERT(!value.isEmpty()); 1694 1717 1695 static const ARIARoleMap* roleMap = createARIARoleMap();1696 1697 1718 Vector<String> roleVector; 1698 1719 value.split(' ', roleVector); … … 1701 1722 for (unsigned i = 0; i < size; ++i) { 1702 1723 String roleName = roleVector[i]; 1703 role = roleMap->get(roleName);1724 role = ariaRoleMap().get(roleName); 1704 1725 if (role) 1705 1726 return role; … … 1707 1728 1708 1729 return role; 1730 } 1731 1732 String AccessibilityObject::computedRoleString() const 1733 { 1734 // FIXME: Need a few special cases that aren't in the RoleMap: option, etc. http://webkit.org/b/128296 1735 return reverseAriaRoleMap().get(roleValue()); 1709 1736 } 1710 1737 -
trunk/Source/WebCore/accessibility/AccessibilityObject.h
r163725 r163891 806 806 unsigned doAXLineForIndex(unsigned); 807 807 808 String computedRoleString() const; 809 808 810 virtual String stringValueForMSAA() const { return String(); } 809 811 virtual String stringRoleForMSAA() const { return String(); } -
trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm
r163712 r163891 2124 2124 } 2125 2125 2126 - (NSString *)computedRoleString 2127 { 2128 if (!m_object) 2129 return nil; 2130 return m_object->computedRoleString(); 2131 } 2132 2126 2133 - (id)scrollViewParent 2127 2134 { … … 2161 2168 if ([attributeName isEqualToString: NSAccessibilityRoleDescriptionAttribute]) 2162 2169 return [self roleDescription]; 2170 2171 // AXARIARole is only used by DumpRenderTree (so far). 2172 if ([attributeName isEqualToString:@"AXARIARole"]) 2173 return [self computedRoleString]; 2163 2174 2164 2175 if ([attributeName isEqualToString: NSAccessibilityParentAttribute]) { -
trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp
r163844 r163891 35 35 #include "InspectorDOMAgent.h" 36 36 37 #include "AXObjectCache.h" 37 38 #include "Attr.h" 38 39 #include "CSSComputedStyleDeclaration.h" … … 875 876 } 876 877 878 void InspectorDOMAgent::getAccessibilityPropertiesForNode(ErrorString* errorString, int nodeId, RefPtr<Inspector::TypeBuilder::DOM::AccessibilityProperties>& axProperties) 879 { 880 Node* node = assertNode(errorString, nodeId); 881 axProperties = buildObjectForAccessibilityProperties(node); 882 } 883 877 884 void InspectorDOMAgent::performSearch(ErrorString* errorString, const String& whitespaceTrimmedQuery, const RefPtr<InspectorArray>* nodeIds, String* searchId, int* resultCount) 878 885 { … … 1400 1407 } 1401 1408 1409 PassRefPtr<TypeBuilder::DOM::AccessibilityProperties> InspectorDOMAgent::buildObjectForAccessibilityProperties(Node* node) 1410 { 1411 ASSERT(node); 1412 if (!node) 1413 return nullptr; 1414 1415 if (!WebCore::AXObjectCache::accessibilityEnabled()) 1416 WebCore::AXObjectCache::enableAccessibility(); 1417 1418 bool ignored = true; 1419 1420 // Computed ARIA Role 1421 String role; 1422 1423 // Computed Label 1424 // FIXME: Waiting on http://webkit.org/b/121134 1425 String label; 1426 1427 if (AXObjectCache* axObjectCache = node->document().axObjectCache()) { 1428 if (AccessibilityObject* axObject = axObjectCache->getOrCreate(node)) { 1429 ignored = axObject->accessibilityIsIgnored(); 1430 role = axObject->computedRoleString(); 1431 } 1432 } 1433 1434 RefPtr<Inspector::TypeBuilder::DOM::AccessibilityProperties> value = Inspector::TypeBuilder::DOM::AccessibilityProperties::create() 1435 .setIgnored(ignored) 1436 .setRole(role) 1437 .setLabel(label) 1438 .setNodeId(pushNodePathToFrontend(node)); 1439 1440 return value.release(); 1441 } 1442 1402 1443 Node* InspectorDOMAgent::innerFirstChild(Node* node) 1403 1444 { -
trunk/Source/WebCore/inspector/InspectorDOMAgent.h
r162676 r163891 132 132 virtual void setNodeValue(ErrorString*, int nodeId, const String& value) override; 133 133 virtual void getEventListenersForNode(ErrorString*, int nodeId, const WTF::String* objectGroup, RefPtr<Inspector::TypeBuilder::Array<Inspector::TypeBuilder::DOM::EventListener>>& listenersArray) override; 134 virtual void getAccessibilityPropertiesForNode(ErrorString*, int nodeId, RefPtr<Inspector::TypeBuilder::DOM::AccessibilityProperties>& axProperties) override; 134 135 virtual void performSearch(ErrorString*, const String& whitespaceTrimmedQuery, const RefPtr<Inspector::InspectorArray>* nodeIds, String* searchId, int* resultCount) override; 135 136 virtual void getSearchResults(ErrorString*, const String& searchId, int fromIndex, int toIndex, RefPtr<Inspector::TypeBuilder::Array<int>>&) override; … … 234 235 PassRefPtr<Inspector::TypeBuilder::Array<Inspector::TypeBuilder::DOM::Node>> buildArrayForContainerChildren(Node* container, int depth, NodeToIdMap* nodesMap); 235 236 PassRefPtr<Inspector::TypeBuilder::DOM::EventListener> buildObjectForEventListener(const RegisteredEventListener&, const AtomicString& eventType, Node*, const String* objectGroupId); 237 PassRefPtr<Inspector::TypeBuilder::DOM::AccessibilityProperties> buildObjectForAccessibilityProperties(Node*); 236 238 237 239 Node* nodeForPath(const String& path); -
trunk/Source/WebCore/inspector/protocol/DOM.json
r161380 r163891 56 56 }, 57 57 { 58 "id": "AccessibilityProperties", 59 "description": "A structure holding accessibility properties.", 60 "type": "object", 61 "properties": [ 62 { "name": "ignored", "type": "boolean", "description": "Returns whether the accessibility of the DOM node is ignored, whether heuristically or explicitly." }, 63 { "name": "role", "type": "string", "description": "Computed value for first recognized role token, default role per element, or overridden role." }, 64 { "name": "label", "type": "string", "description": "Computed label value for the node, sometimes calculated by referencing other nodes." }, 65 { "name": "nodeId", "$ref": "NodeId", "description": "Target <code>DOMNode</code> id." } 66 ] 67 }, 68 { 58 69 "id": "RGBA", 59 70 "type": "object", … … 189 200 }, 190 201 { 202 "name": "getAccessibilityPropertiesForNode", 203 "description": "Returns a dictionary of accessibility properties for the node.", 204 "parameters": [ 205 { "name": "nodeId", "$ref": "NodeId", "description": "Id of the node for which to get accessibility properties." } 206 ], 207 "returns": [ 208 { "name": "properties", "$ref": "AccessibilityProperties", "description": "Dictionary of relevant accessibility properties." } 209 ] 210 }, 211 { 191 212 "name": "getOuterHTML", 192 213 "parameters": [ -
trunk/Source/WebInspectorUI/ChangeLog
r163812 r163891 1 2014-02-11 James Craig <jcraig@apple.com> 2 3 Web Inspector: AX: Accessibility Node Inspection 4 https://bugs.webkit.org/show_bug.cgi?id=127447 5 6 Reviewed by Timothy Hatcher. 7 8 New Accessibility section in WebInspector Node Inspector. 9 Version 1.0 only shows computed role. Computed label should come soon. 10 11 Removed CSS fixed table layout b/c CSS bug: http://webkit.org/b/128294 12 13 * Localizations/en.lproj/localizedStrings.js: 14 * UserInterface/DOMNode.js: 15 * UserInterface/DOMNodeDetailsSidebarPanel.js: 16 * UserInterface/DetailsSection.css: 17 * UserInterface/InspectorWebBackendCommands.js: 18 1 19 2014-02-10 Joseph Pecoraro <pecoraro@apple.com> 2 20 -
trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js
r163735 r163891 24 24 localizedStrings["%fpx²"] = "%fpx²"; 25 25 localizedStrings["%s Event Dispatched"] = "%s Event Dispatched"; 26 localizedStrings["%s (computed)"] = "%s (computed)"; 27 localizedStrings["%s (default)"] = "%s (default)"; 26 28 localizedStrings["(anonymous function)"] = "(anonymous function)"; 27 29 localizedStrings["(program)"] = "(program)"; 28 30 localizedStrings["1 match"] = "1 match"; 29 31 localizedStrings["999+"] = "999+"; 32 localizedStrings["Accessibility"] = "Accessibility"; 30 33 localizedStrings["Action"] = "Action"; 31 34 localizedStrings["Activity Viewer"] = "Activity Viewer"; … … 216 219 localizedStrings["JavaScript profiles show where the execution time is spent in your page's JavaScript functions."] = "JavaScript profiles show where the execution time is spent in your page's JavaScript functions."; 217 220 localizedStrings["Key"] = "Key"; 221 localizedStrings["Label"] = "Label"; 218 222 localizedStrings["Latency"] = "Latency"; 219 223 localizedStrings["Layer"] = "Layer"; … … 249 253 localizedStrings["New Rule"] = "New Rule"; 250 254 localizedStrings["No"] = "No"; 255 localizedStrings["No Accessibility Information"] = "No Accessibility Information"; 251 256 localizedStrings["No Application Cache information available"] = "No Application Cache information available"; 252 257 localizedStrings["No Attributes"] = "No Attributes"; … … 255 260 localizedStrings["No Child Layers"] = "No Child Layers"; 256 261 localizedStrings["No Event Listeners"] = "No Event Listeners"; 262 localizedStrings["No exact ARIA role match."] = "No exact ARIA role match."; 257 263 localizedStrings["No Filter Results"] = "No Filter Results"; 258 264 localizedStrings["No Layer Available"] = "No Layer Available"; … … 314 320 localizedStrings["Reveal in Debugger Navigation Sidebar"] = "Reveal in Debugger Navigation Sidebar"; 315 321 localizedStrings["Reveal in Original Resource"] = "Reveal in Original Resource"; 322 localizedStrings["Role"] = "Role"; 316 323 localizedStrings["Rules"] = "Rules"; 317 324 localizedStrings["Scheme"] = "Scheme"; -
trunk/Source/WebInspectorUI/UserInterface/DOMNode.js
r151453 r163891 442 442 }, 443 443 444 accessibilityProperties: function(callback) 445 { 446 function accessibilityPropertiesCallback(error, accessibilityProperties) 447 { 448 if (!error && callback) { 449 callback({ 450 ignored: accessibilityProperties.ignored, 451 role: accessibilityProperties.role, 452 label: accessibilityProperties.label 453 }); 454 } 455 } 456 DOMAgent.getAccessibilityPropertiesForNode(this.id, accessibilityPropertiesCallback.bind(this)); 457 }, 458 444 459 /** 445 460 * @return {string} -
trunk/Source/WebInspectorUI/UserInterface/DOMNodeDetailsSidebarPanel.js
r153894 r163891 52 52 var eventListenersSection = new WebInspector.DetailsSection("dom-node-event-listeners", WebInspector.UIString("Event Listeners"), [this._eventListenersSectionGroup]); 53 53 54 this._accessibilityEmptyRow = new WebInspector.DetailsSectionRow(WebInspector.UIString("No Accessibility Information")); 55 this._accessibilityNodeComputedLabelRow = new WebInspector.DetailsSectionSimpleRow(WebInspector.UIString("Label")); 56 this._accessibilityNodeComputedRoleRow = new WebInspector.DetailsSectionSimpleRow(WebInspector.UIString("Role")); 57 58 this._accessibilityGroup = new WebInspector.DetailsSectionGroup([this._accessibilityEmptyRow]); 59 var accessibilitySection = new WebInspector.DetailsSection("dom-node-accessibility", WebInspector.UIString("Accessibility"), [this._accessibilityGroup]); 60 54 61 this.element.appendChild(identitySection.element); 55 62 this.element.appendChild(attributesSection.element); 56 63 this.element.appendChild(propertiesSection.element); 57 64 this.element.appendChild(eventListenersSection.element); 65 this.element.appendChild(accessibilitySection.element); 58 66 }; 59 67 … … 79 87 this._refreshProperties(); 80 88 this._refreshEventListeners(); 89 this._refreshAccessibility(); 81 90 }, 82 91 … … 224 233 }, 225 234 235 _refreshAccessibility: function() 236 { 237 var domNode = this.domNode; 238 if (!domNode) 239 return; 240 241 function accessibilityPropertiesCallback(accessibilityProperties) 242 { 243 if (this.domNode !== domNode) 244 return; 245 246 if (accessibilityProperties && !accessibilityProperties.ignored) { 247 var role = accessibilityProperties.role; 248 249 if (role === "" || role === "unknown") 250 role = WebInspector.UIString("No exact ARIA role match."); 251 else if (role) { 252 if (!domNode.getAttribute("role")) 253 role = WebInspector.UIString("%s (default)").format(role); 254 else if (domNode.getAttribute("role") !== role) 255 role = WebInspector.UIString("%s (computed)").format(role); 256 } 257 258 // FIXME: label will always come back as empty. Blocked by http://webkit.org/b/121134 259 var label = accessibilityProperties.label; 260 if (label && label !== domNode.getAttribute("aria-label")) 261 label = WebInspector.UIString("%s (computed)").format(label); 262 263 this._accessibilityNodeComputedLabelRow.value = label; 264 this._accessibilityNodeComputedRoleRow.value = role; 265 266 this._accessibilityGroup.rows = [this._accessibilityNodeComputedLabelRow, this._accessibilityNodeComputedRoleRow]; 267 this._accessibilityEmptyRow.hideEmptyMessage(); 268 } else { 269 this._accessibilityGroup.rows = [this._accessibilityEmptyRow]; 270 this._accessibilityEmptyRow.showEmptyMessage(); 271 } 272 } 273 domNode.accessibilityProperties(accessibilityPropertiesCallback.bind(this)); 274 }, 275 226 276 _attributesChanged: function(event) 227 277 { … … 229 279 return; 230 280 this._refreshAttributes(); 281 this._refreshAccessibility(); 231 282 }, 232 283 -
trunk/Source/WebInspectorUI/UserInterface/DetailsSection.css
r162415 r163891 124 124 .details-section > .content { 125 125 display: table; 126 table-layout: fixed;127 126 width: 100%; 128 127 border-spacing: 0; -
trunk/Source/WebInspectorUI/UserInterface/InspectorWebBackendCommands.js
r163568 r163891 88 88 InspectorBackend.registerCommand("DOM.removeAttribute", [{"name": "nodeId", "type": "number", "optional": false}, {"name": "name", "type": "string", "optional": false}], []); 89 89 InspectorBackend.registerCommand("DOM.getEventListenersForNode", [{"name": "nodeId", "type": "number", "optional": false}, {"name": "objectGroup", "type": "string", "optional": true}], ["listeners"]); 90 InspectorBackend.registerCommand("DOM.getAccessibilityPropertiesForNode", [{"name": "nodeId", "type": "number", "optional": false}], ["properties"]); 90 91 InspectorBackend.registerCommand("DOM.getOuterHTML", [{"name": "nodeId", "type": "number", "optional": false}], ["outerHTML"]); 91 92 InspectorBackend.registerCommand("DOM.setOuterHTML", [{"name": "nodeId", "type": "number", "optional": false}, {"name": "outerHTML", "type": "string", "optional": false}], []); -
trunk/Tools/ChangeLog
r163870 r163891 1 2014-02-11 James Craig <jcraig@apple.com> 2 3 Web Inspector: AX: Accessibility Node Inspection 4 https://bugs.webkit.org/show_bug.cgi?id=127447 5 6 Reviewed by Timothy Hatcher. 7 8 New computedRoleString interfaces in DumpRenderTree/WebKitTestRunner 9 to support LayoutTest coverage of AccessibilityObject::computedRoleString() 10 11 * DumpRenderTree/AccessibilityUIElement.cpp: 12 * DumpRenderTree/AccessibilityUIElement.h: 13 * DumpRenderTree/atk/AccessibilityUIElementAtk.cpp: 14 * DumpRenderTree/ios/AccessibilityUIElementIOS.mm: 15 * DumpRenderTree/mac/AccessibilityUIElementMac.mm: 16 * DumpRenderTree/win/AccessibilityUIElementWin.cpp: 17 * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp: 18 * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h: 19 * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl: 20 * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm: 21 * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm: 22 1 23 2014-02-11 Carlos Garcia Campos <cgarcia@igalia.com> 2 24 -
trunk/Tools/DumpRenderTree/AccessibilityUIElement.cpp
r163632 r163891 883 883 } 884 884 885 static JSValueRef getComputedRoleStringCallback(JSContextRef context, JSObjectRef thisObject, JSStringRef propertyName, JSValueRef* exception) 886 { 887 JSRetainPtr<JSStringRef> compRole(Adopt, toAXElement(thisObject)->computedRoleString()); 888 return JSValueMakeString(context, compRole.get()); 889 } 890 885 891 static JSValueRef getTitleCallback(JSContextRef context, JSObjectRef thisObject, JSStringRef propertyName, JSValueRef* exception) 886 892 { … … 1418 1424 { "subrole", getSubroleCallback, 0, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete }, 1419 1425 { "roleDescription", getRoleDescriptionCallback, 0, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete }, 1426 { "computedRoleString", getComputedRoleStringCallback, 0, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete }, 1420 1427 { "title", getTitleCallback, 0, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete }, 1421 1428 { "description", getDescriptionCallback, 0, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete }, -
trunk/Tools/DumpRenderTree/AccessibilityUIElement.h
r163632 r163891 118 118 JSStringRef subrole(); 119 119 JSStringRef roleDescription(); 120 JSStringRef computedRoleString(); 120 121 JSStringRef title(); 121 122 JSStringRef description(); -
trunk/Tools/DumpRenderTree/atk/AccessibilityUIElementAtk.cpp
r163632 r163891 752 752 } 753 753 754 JSStringRef AccessibilityUIElement::computedRoleString() 755 { 756 // FIXME: implement http://webkit.org/b/128420 757 return nullptr; 758 } 759 754 760 JSStringRef AccessibilityUIElement::title() 755 761 { -
trunk/Tools/DumpRenderTree/ios/AccessibilityUIElementIOS.mm
r163632 r163891 474 474 } 475 475 476 JSStringRef AccessibilityUIElement::computedRoleString() 477 { 478 // FIXME: implement 479 return JSStringCreateWithCharacters(0, 0); 480 } 481 476 482 JSStringRef AccessibilityUIElement::title() 477 483 { -
trunk/Tools/DumpRenderTree/mac/AccessibilityUIElementMac.mm
r163632 r163891 628 628 } 629 629 630 JSStringRef AccessibilityUIElement::computedRoleString() 631 { 632 BEGIN_AX_OBJC_EXCEPTIONS 633 NSString *computedRoleString = descriptionOfValue([m_element accessibilityAttributeValue:@"AXARIARole"], m_element); 634 return [computedRoleString createJSStringRef]; 635 END_AX_OBJC_EXCEPTIONS 636 637 return nullptr; 638 } 639 630 640 JSStringRef AccessibilityUIElement::title() 631 641 { -
trunk/Tools/DumpRenderTree/win/AccessibilityUIElementWin.cpp
r163632 r163891 287 287 } 288 288 289 JSStringRef AccessibilityUIElement::computedRoleString() 290 { 291 return 0; 292 } 293 289 294 JSStringRef AccessibilityUIElement::title() 290 295 { -
trunk/Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp
r163632 r163891 100 100 JSRetainPtr<JSStringRef> AccessibilityUIElement::subrole() { return 0; } 101 101 JSRetainPtr<JSStringRef> AccessibilityUIElement::roleDescription() { return 0; } 102 JSRetainPtr<JSStringRef> AccessibilityUIElement::computedRoleString() { return 0; } 102 103 JSRetainPtr<JSStringRef> AccessibilityUIElement::title() { return 0; } 103 104 JSRetainPtr<JSStringRef> AccessibilityUIElement::description() { return 0; } -
trunk/Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h
r163632 r163891 114 114 JSRetainPtr<JSStringRef> subrole(); 115 115 JSRetainPtr<JSStringRef> roleDescription(); 116 JSRetainPtr<JSStringRef> computedRoleString(); 116 117 JSRetainPtr<JSStringRef> title(); 117 118 JSRetainPtr<JSStringRef> description(); -
trunk/Tools/WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl
r163632 r163891 44 44 readonly attribute DOMString subrole; 45 45 readonly attribute DOMString roleDescription; 46 readonly attribute DOMString computedRoleString; 46 47 readonly attribute DOMString title; 47 48 readonly attribute DOMString description; -
trunk/Tools/WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp
r163642 r163891 914 914 } 915 915 916 JSRetainPtr<JSStringRef> AccessibilityUIElement::computedRoleString() 917 { 918 // FIXME: implement http://webkit.org/b/128420 919 return JSStringCreateWithCharacters(0, 0); 920 } 921 916 922 JSRetainPtr<JSStringRef> AccessibilityUIElement::title() 917 923 { -
trunk/Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm
r163632 r163891 254 254 } 255 255 256 JSStringRef AccessibilityUIElement::computedRoleString() 257 { 258 // FIXME: implement 259 return JSStringCreateWithCharacters(0, 0); 260 } 261 256 262 JSRetainPtr<JSStringRef> AccessibilityUIElement::title() 257 263 { -
trunk/Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm
r163632 r163891 672 672 } 673 673 674 JSRetainPtr<JSStringRef> AccessibilityUIElement::computedRoleString() 675 { 676 BEGIN_AX_OBJC_EXCEPTIONS 677 NSString *computedRoleString = descriptionOfValue([m_element accessibilityAttributeValue:@"AXARIARole"], m_element); 678 return [computedRoleString createJSStringRef]; 679 END_AX_OBJC_EXCEPTIONS 680 681 return nullptr; 682 } 683 674 684 JSRetainPtr<JSStringRef> AccessibilityUIElement::title() 675 685 {
Note: See TracChangeset
for help on using the changeset viewer.