Index: third_party/WebKit/Source/modules/accessibility/InspectorAccessibilityAgent.cpp |
diff --git a/third_party/WebKit/Source/modules/accessibility/InspectorAccessibilityAgent.cpp b/third_party/WebKit/Source/modules/accessibility/InspectorAccessibilityAgent.cpp |
index 4ef4a5fa86e2a93091d1a13905c5583b8fcd0837..7e91b0f4ff522bd176e5efabaf6ce7985424dcb3 100644 |
--- a/third_party/WebKit/Source/modules/accessibility/InspectorAccessibilityAgent.cpp |
+++ b/third_party/WebKit/Source/modules/accessibility/InspectorAccessibilityAgent.cpp |
@@ -470,13 +470,14 @@ |
(*nodes)->addItem(buildObjectForIgnoredNode(domNode, inspectedAXObject, |
fetchRelatives.fromMaybe(true), |
*nodes, *cache)); |
+ return Response::OK(); |
} else { |
(*nodes)->addItem( |
buildProtocolAXObject(*inspectedAXObject, inspectedAXObject, |
fetchRelatives.fromMaybe(true), *nodes, *cache)); |
} |
- if (!inspectedAXObject || !inspectedAXObject->isAXLayoutObject()) |
+ if (!inspectedAXObject) |
return Response::OK(); |
AXObject* parent = inspectedAXObject->parentObjectUnignored(); |
@@ -697,19 +698,6 @@ |
nodeObject.setChildIds(std::move(childIds)); |
} |
-void InspectorAccessibilityAgent::addChild( |
- std::unique_ptr<protocol::Array<AXNodeId>>& childIds, |
- AXObject& childAXObject, |
- AXObject* inspectedAXObject, |
- std::unique_ptr<protocol::Array<AXNode>>& nodes, |
- AXObjectCacheImpl& cache) const { |
- childIds->addItem(String::number(childAXObject.axObjectID())); |
- if (&childAXObject == inspectedAXObject) |
- return; |
- nodes->addItem(buildProtocolAXObject(childAXObject, inspectedAXObject, true, |
- nodes, cache)); |
-} |
- |
void InspectorAccessibilityAgent::addChildren( |
AXObject& axObject, |
AXObject* inspectedAXObject, |
@@ -728,14 +716,14 @@ |
childIds->addItem(String::number(childAXObject.axObjectID())); |
if (&childAXObject == inspectedAXObject) |
continue; |
- if (&axObject != inspectedAXObject) { |
- if (!inspectedAXObject) |
- continue; |
- if (&axObject != inspectedAXObject->parentObjectUnignored()) |
- continue; |
- } |
- |
- // Only add children/siblings of inspected node to returned nodes. |
+ if (&axObject != inspectedAXObject && |
+ (axObject.getNode() || |
+ axObject.parentObjectUnignored() != inspectedAXObject)) { |
+ continue; |
+ } |
+ |
+ // Only add children of inspected node (or un-inspectable children of |
+ // inspected node) to returned nodes. |
std::unique_ptr<AXNode> childNode = buildProtocolAXObject( |
childAXObject, inspectedAXObject, true, nodes, cache); |
nodes->addItem(std::move(childNode)); |