Index: third_party/WebKit/Source/devtools/front_end/accessibility/AXTreePane.js |
diff --git a/third_party/WebKit/Source/devtools/front_end/accessibility/AXTreePane.js b/third_party/WebKit/Source/devtools/front_end/accessibility/AXTreePane.js |
index 4830cc7588773bda55394232d41a5493526bc8af..ab855811c5322fa5a6ea540d5a7ee2f5dfa6fb59 100644 |
--- a/third_party/WebKit/Source/devtools/front_end/accessibility/AXTreePane.js |
+++ b/third_party/WebKit/Source/devtools/front_end/accessibility/AXTreePane.js |
@@ -5,9 +5,13 @@ |
* @unrestricted |
*/ |
Accessibility.AXTreePane = class extends Accessibility.AccessibilitySubPane { |
- constructor() { |
+ /** |
+ * @param {!Accessibility.AccessibilitySidebarView} axSidebarView |
+ */ |
+ constructor(axSidebarView) { |
super(Common.UIString('Accessibility Tree')); |
+ this._axSidebarView = axSidebarView; |
this._treeOutline = this.createTreeOutline(); |
this.element.classList.add('accessibility-computed'); |
@@ -77,6 +81,21 @@ Accessibility.AXTreePane = class extends Accessibility.AccessibilitySubPane { |
} |
/** |
+ * @param {!Accessibility.AccessibilityNode} axNode |
+ */ |
+ setSelectedNode(axNode) { |
+ if (axNode.parentNode()) { |
+ Common.Revealer.reveal(axNode.deferredDOMNode()); |
+ } else { |
+ // Only set the node for the accessibility panel, not the Elements tree. |
+ var axSidebarView = this._axSidebarView; |
+ axNode.deferredDOMNode().resolve((node) => { |
+ axSidebarView.setNode(node); |
+ }); |
+ } |
+ } |
+ |
+ /** |
* @param {boolean} selectedByUser |
*/ |
setSelectedByUser(selectedByUser) { |
@@ -137,7 +156,7 @@ Accessibility.InspectNodeButton = class { |
*/ |
_handleMouseDown(event) { |
this._treePane.setSelectedByUser(true); |
- Common.Revealer.reveal(this._axNode.deferredDOMNode()); |
+ this._treePane.setSelectedNode(this._axNode); |
} |
}; |
@@ -205,7 +224,7 @@ Accessibility.AXNodeTreeElement = class extends UI.TreeElement { |
inspectDOMNode() { |
this._treePane.setSelectedByUser(true); |
- Common.Revealer.reveal(this._axNode.deferredDOMNode()); |
+ this._treePane.setSelectedNode(this._axNode); |
} |
/** |