Diff
Modified: trunk/LayoutTests/ChangeLog (166397 => 166398)
--- trunk/LayoutTests/ChangeLog 2014-03-28 05:28:39 UTC (rev 166397)
+++ trunk/LayoutTests/ChangeLog 2014-03-28 06:00:39 UTC (rev 166398)
@@ -1,3 +1,15 @@
+2014-03-27 James Craig <[email protected]>
+
+ Web Inspector: AXI: expose selectedChildNodeIds of list boxes, tree controls, etc., and reconcile UI with childNodeIds
+ https://bugs.webkit.org/show_bug.cgi?id=130827
+
+ Reviewed by Timothy Hatcher.
+
+ Tests selectedChildNodeIds in inspector-protocol: DOM.getAccessibilityPropertiesForNode.
+
+ * inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
+ * inspector-protocol/dom/getAccessibilityPropertiesForNode.html:
+
2014-03-27 Mark Rowe <[email protected]>
<https://webkit.org/b/42704> WebKitTestRunner needs to print history delegate information
Modified: trunk/LayoutTests/inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt (166397 => 166398)
--- trunk/LayoutTests/inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt 2014-03-28 05:28:39 UTC (rev 166397)
+++ trunk/LayoutTests/inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt 2014-03-28 06:00:39 UTC (rev 166398)
@@ -4,10 +4,10 @@
exists: true
label:
role:
- childNodeIds.length: 19
+ childNodeIds.length: 20
-Total elements to be tested: 57.
+Total elements to be tested: 58.
<li role="treeitem" aria-expanded="undefined">expanded</li>
exists: true
@@ -16,13 +16,14 @@
childNodeIds.length: 1
parentNodeId: exists
-<li role="treeitem" aria-expanded="false" id="activedescendant">collapsed</li>
+<li role="treeitem" aria-expanded="false" id="activedescendant" aria-selected="true">collapsed</li>
exists: true
label:
role: treeitem
childNodeIds.length: 1
expanded: false
parentNodeId: exists
+ selected: true
<li role="treeitem" aria-expanded="true">expanded</li>
exists: true
@@ -34,7 +35,7 @@
<ul role="tree" id="flowedTo1" aria-activedescendant="activedescendant">
<li role="treeitem" aria-expanded="true">expanded</li>
- <li role="treeitem" aria-expanded="false" id="activedescendant">collapsed</li>
+ <li role="treeitem" aria-expanded="false" id="activedescendant" aria-selected="true">collapsed</li>
<li role="treeitem" aria-expanded="undefined">expanded</li>
</ul>
exists: true
@@ -43,7 +44,21 @@
activeDescendantNodeId: exists
childNodeIds.length: 3
parentNodeId: exists
+ selectedChildNodeIds.length: 1
+<div role="listbox" aria-multiselectable="true">
+ <div role="option" aria-selected="true">selected</div>
+ <div role="option" aria-selected="false">not selected</div>
+ <div role="option" aria-selected="true">selected</div>
+</div>
+ exists: true
+ label:
+ role: listbox
+ childNodeIds.length: 3
+ parentNodeId: exists
+ required: false
+ selectedChildNodeIds.length: 2
+
<div role="tab" aria-selected="false">not selected</div>
exists: true
label:
@@ -91,6 +106,7 @@
childNodeIds.length: 2
parentNodeId: exists
required: false
+ selectedChildNodeIds.length: 1
<input role="combobox" aria-owns="ownedlistbox invalidIdRef" aria-controls="ownedlistbox invalidIdRef">
exists: true
Modified: trunk/LayoutTests/inspector-protocol/dom/getAccessibilityPropertiesForNode.html (166397 => 166398)
--- trunk/LayoutTests/inspector-protocol/dom/getAccessibilityPropertiesForNode.html 2014-03-28 05:28:39 UTC (rev 166397)
+++ trunk/LayoutTests/inspector-protocol/dom/getAccessibilityPropertiesForNode.html 2014-03-28 06:00:39 UTC (rev 166398)
@@ -92,9 +92,15 @@
<div class="ex" role="tab" aria-selected="false">not selected</div>
</div>
+<div role="listbox" class="ex" aria-multiselectable="true">
+ <div role="option" aria-selected="true">selected</div>
+ <div role="option" aria-selected="false">not selected</div>
+ <div role="option" aria-selected="true">selected</div>
+</div>
+
<ul role="tree" class="ex" id="flowedTo1" aria-activedescendant="activedescendant">
<li class="ex" role="treeitem" aria-expanded="true">expanded</li>
- <li class="ex" role="treeitem" aria-expanded="false" id="activedescendant">collapsed</li>
+ <li class="ex" role="treeitem" aria-expanded="false" id="activedescendant" aria-selected="true">collapsed</li>
<li class="ex" role="treeitem" aria-expanded="undefined">expanded</li>
</ul>
@@ -175,6 +181,7 @@
case "controlledNodeIds":
case "flowedNodeIds":
case "ownedNodeIds":
+ case "selectedChildNodeIds":
if (typeof value === "object" && value.length)
InspectorTest.log(" " + key + ".length: " + value.length);
break;
Modified: trunk/Source/WebCore/ChangeLog (166397 => 166398)
--- trunk/Source/WebCore/ChangeLog 2014-03-28 05:28:39 UTC (rev 166397)
+++ trunk/Source/WebCore/ChangeLog 2014-03-28 06:00:39 UTC (rev 166398)
@@ -1,3 +1,18 @@
+2014-03-27 James Craig <[email protected]>
+
+ Web Inspector: AXI: expose selectedChildNodeIds of list boxes, tree controls, etc., and reconcile UI with childNodeIds
+ https://bugs.webkit.org/show_bug.cgi?id=130827
+
+ Reviewed by Timothy Hatcher.
+
+ Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
+
+ Support for selectedChildNodeIds in inspector-protocol: DOM.getAccessibilityPropertiesForNode.
+
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
+ * inspector/protocol/DOM.json:
+
2014-03-27 Brent Fulgham <[email protected]>
Specify Shadow DOM Pseudo IDs in Media Element Constructors
Modified: trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp (166397 => 166398)
--- trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp 2014-03-28 05:28:39 UTC (rev 166397)
+++ trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp 2014-03-28 06:00:39 UTC (rev 166398)
@@ -1445,6 +1445,7 @@
bool required = false;
String role;
bool selected = false;
+ RefPtr<Inspector::TypeBuilder::Array<int>> selectedChildNodeIds;
bool supportsChecked = false;
bool supportsExpanded = false;
bool supportsPressed = false;
@@ -1552,6 +1553,16 @@
role = axObject->computedRoleString();
selected = axObject->isSelected();
+
+ AccessibilityObject::AccessibilityChildrenVector selectedChildren;
+ axObject->selectedChildren(selectedChildren);
+ if (selectedChildren.size()) {
+ selectedChildNodeIds = Inspector::TypeBuilder::Array<int>::create();
+ for (auto& selectedChildObject : selectedChildren) {
+ if (Node* selectedChildNode = selectedChildObject->node())
+ selectedChildNodeIds->addItem(pushNodePathToFrontend(selectedChildNode));
+ }
+ }
}
}
@@ -1598,6 +1609,8 @@
value->setRequired(required);
if (selected)
value->setSelected(selected);
+ if (selectedChildNodeIds)
+ value->setSelectedChildNodeIds(selectedChildNodeIds);
}
return value.release();
Modified: trunk/Source/WebCore/inspector/protocol/DOM.json (166397 => 166398)
--- trunk/Source/WebCore/inspector/protocol/DOM.json 2014-03-28 05:28:39 UTC (rev 166397)
+++ trunk/Source/WebCore/inspector/protocol/DOM.json 2014-03-28 06:00:39 UTC (rev 166398)
@@ -81,7 +81,8 @@
{ "name": "readonly", "type": "boolean", "optional": true, "description": "Readonly state of text controls." },
{ "name": "required", "type": "boolean", "optional": true, "description": "Required state of form controls." },
{ "name": "role", "type": "string", "description": "Computed value for first recognized role token, default role per element, or overridden role." },
- { "name": "selected", "type": "boolean", "optional": true, "description": "Selected state of certain form controls." }
+ { "name": "selected", "type": "boolean", "optional": true, "description": "Selected state of certain form controls." },
+ { "name": "selectedChildNodeIds", "type": "array", "items": { "$ref": "NodeId" }, "optional": true, "description": "Array of <code>DOMNode</code> ids of any children marked as selected." }
]
},
{
Modified: trunk/Source/WebInspectorUI/ChangeLog (166397 => 166398)
--- trunk/Source/WebInspectorUI/ChangeLog 2014-03-28 05:28:39 UTC (rev 166397)
+++ trunk/Source/WebInspectorUI/ChangeLog 2014-03-28 06:00:39 UTC (rev 166398)
@@ -1,3 +1,16 @@
+2014-03-27 James Craig <[email protected]>
+
+ Web Inspector: AXI: expose selectedChildNodeIds of list boxes, tree controls, etc., and reconcile UI with childNodeIds
+ https://bugs.webkit.org/show_bug.cgi?id=130827
+
+ Reviewed by Timothy Hatcher.
+
+ UI updates for "Selected Item(s)" and "Child(ren)" rows in accessibility node inspector.
+
+ * Localizations/en.lproj/localizedStrings.js:
+ * UserInterface/Models/DOMNode.js:
+ * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
+
2014-03-27 Antoine Quint <[email protected]>
Web Inspector: clearing the console log doesn't update the activity viewer
Modified: trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js (166397 => 166398)
--- trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js 2014-03-28 05:28:39 UTC (rev 166397)
+++ trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js 2014-03-28 06:00:39 UTC (rev 166398)
@@ -362,6 +362,8 @@
l o c a l i z e d S t r i n g s [ "