| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 /** | 5 /** |
| 6 * @constructor | 6 * @constructor |
| 7 * @extends {WebInspector.AccessibilitySubPane} | 7 * @extends {WebInspector.AccessibilitySubPane} |
| 8 */ | 8 */ |
| 9 WebInspector.AXTreePane = function() | 9 WebInspector.AXTreePane = function() |
| 10 { | 10 { |
| 11 WebInspector.AccessibilitySubPane.call(this, WebInspector.UIString("Accessib
ility Tree")); | 11 WebInspector.AccessibilitySubPane.call(this, WebInspector.UIString("Accessib
ility Tree")); |
| 12 | 12 |
| 13 this._treeOutline = this.createTreeOutline(); | 13 this._treeOutline = this.createTreeOutline(); |
| 14 | 14 |
| 15 this.element.classList.add("accessibility-computed"); | 15 this.element.classList.add("accessibility-computed"); |
| 16 }; | 16 }; |
| 17 | 17 |
| 18 | 18 |
| 19 WebInspector.AXTreePane.prototype = { | 19 WebInspector.AXTreePane.prototype = { |
| 20 /** | 20 /** |
| 21 * @param {!Array<!AccessibilityAgent.AXNode>} nodes | 21 * @param {!Array<!WebInspector.AccessibilityNode>} nodes |
| 22 */ | 22 */ |
| 23 setAXNodeAndAncestors: function(nodes) | 23 setAXNodeAndAncestors: function(nodes) |
| 24 { | 24 { |
| 25 this._nodes = nodes; | 25 this._nodes = nodes; |
| 26 | 26 |
| 27 var target = this.node().target(); | 27 var target = this.node().target(); |
| 28 var treeOutline = this._treeOutline; | 28 var treeOutline = this._treeOutline; |
| 29 treeOutline.removeChildren(); | 29 treeOutline.removeChildren(); |
| 30 treeOutline.element.classList.remove("hidden"); | 30 treeOutline.element.classList.remove("hidden"); |
| 31 var previous = treeOutline.rootElement(); | 31 var previous = treeOutline.rootElement(); |
| 32 while (nodes.length) { | 32 while (nodes.length) { |
| 33 var ancestor = nodes.pop(); | 33 var ancestor = nodes.pop(); |
| 34 var ancestorTreeElement = new WebInspector.AXNodeTreeElement(ancesto
r, target); | 34 var ancestorTreeElement = new WebInspector.AXNodeTreeElement(ancesto
r, target); |
| 35 previous.appendChild(ancestorTreeElement); | 35 previous.appendChild(ancestorTreeElement); |
| 36 previous.expand(); | 36 previous.expand(); |
| 37 previous = ancestorTreeElement; | 37 previous = ancestorTreeElement; |
| 38 } | 38 } |
| 39 previous.selectable = true; | 39 previous.selectable = true; |
| 40 previous.select(true /* omitFocus */); | 40 previous.select(true /* omitFocus */); |
| 41 }, | 41 }, |
| 42 | 42 |
| 43 __proto__: WebInspector.AccessibilitySubPane.prototype | 43 __proto__: WebInspector.AccessibilitySubPane.prototype |
| 44 }; | 44 }; |
| 45 | 45 |
| 46 /** | 46 /** |
| 47 * @constructor | 47 * @constructor |
| 48 * @extends {TreeElement} | 48 * @extends {TreeElement} |
| 49 * @param {!AccessibilityAgent.AXNode} axNode | 49 * @param {!WebInspector.AccessibilityNode} axNode |
| 50 * @param {!WebInspector.Target} target | 50 * @param {!WebInspector.Target} target |
| 51 */ | 51 */ |
| 52 WebInspector.AXNodeTreeElement = function(axNode, target) | 52 WebInspector.AXNodeTreeElement = function(axNode, target) |
| 53 { | 53 { |
| 54 /** @type {!AccessibilityAgent.AXNode} */ | 54 /** @type {!WebInspector.AccessibilityNode} */ |
| 55 this._axNode = axNode; | 55 this._axNode = axNode; |
| 56 | 56 |
| 57 /** @type {!WebInspector.Target} */ | 57 /** @type {!WebInspector.Target} */ |
| 58 this._target = target; | 58 this._target = target; |
| 59 | 59 |
| 60 // Pass an empty title, the title gets made later in onattach. | 60 // Pass an empty title, the title gets made later in onattach. |
| 61 TreeElement.call(this, ""); | 61 TreeElement.call(this, ""); |
| 62 | 62 |
| 63 this.selectable = false; | 63 this.selectable = false; |
| 64 }; | 64 }; |
| (...skipping 10 matching lines...) Expand all Loading... |
| 75 */ | 75 */ |
| 76 onattach: function() | 76 onattach: function() |
| 77 { | 77 { |
| 78 this._update(); | 78 this._update(); |
| 79 }, | 79 }, |
| 80 | 80 |
| 81 _update: function() | 81 _update: function() |
| 82 { | 82 { |
| 83 this.listItemElement.removeChildren(); | 83 this.listItemElement.removeChildren(); |
| 84 | 84 |
| 85 if (this._axNode.ignored) { | 85 if (this._axNode.ignored()) { |
| 86 this._appendIgnoredNodeElement(); | 86 this._appendIgnoredNodeElement(); |
| 87 } else { | 87 } else { |
| 88 this._appendRoleElement(this._axNode.role); | 88 this._appendRoleElement(this._axNode.role()); |
| 89 if ("name" in this._axNode && this._axNode.name.value) { | 89 if ("name" in this._axNode && this._axNode.name().value) { |
| 90 this.listItemElement.createChild("span", "separator").textConten
t = "\u00A0"; | 90 this.listItemElement.createChild("span", "separator").textConten
t = "\u00A0"; |
| 91 this._appendNameElement(/** @type {string} */ (this._axNode.name
.value)); | 91 this._appendNameElement(/** @type {string} */ (this._axNode.name
().value)); |
| 92 } | 92 } |
| 93 } | 93 } |
| 94 }, | 94 }, |
| 95 | 95 |
| 96 /** | 96 /** |
| 97 * @param {string} name | 97 * @param {string} name |
| 98 */ | 98 */ |
| 99 _appendNameElement: function(name) | 99 _appendNameElement: function(name) |
| 100 { | 100 { |
| 101 var nameElement = createElement("span"); | 101 var nameElement = createElement("span"); |
| 102 nameElement.textContent = '"' + name + '"'; | 102 nameElement.textContent = '"' + name + '"'; |
| 103 nameElement.classList.add("ax-readable-string"); | 103 nameElement.classList.add("ax-readable-string"); |
| 104 this.listItemElement.appendChild(nameElement); | 104 this.listItemElement.appendChild(nameElement); |
| 105 }, | 105 }, |
| 106 | 106 |
| 107 /** | 107 /** |
| 108 * @param {!AccessibilityAgent.AXValue=} role | 108 * @param {?AccessibilityAgent.AXValue} role |
| 109 */ | 109 */ |
| 110 _appendRoleElement: function(role) | 110 _appendRoleElement: function(role) |
| 111 { | 111 { |
| 112 if (!role) | 112 if (!role) |
| 113 return; | 113 return; |
| 114 | 114 |
| 115 var roleElement = createElementWithClass("span", "monospace"); | 115 var roleElement = createElementWithClass("span", "monospace"); |
| 116 roleElement.classList.add(WebInspector.AXNodeTreeElement.RoleStyles[role
.type]); | 116 roleElement.classList.add(WebInspector.AXNodeTreeElement.RoleStyles[role
.type]); |
| 117 roleElement.setTextContentTruncatedIfNeeded(role.value || ""); | 117 roleElement.setTextContentTruncatedIfNeeded(role.value || ""); |
| 118 | 118 |
| 119 this.listItemElement.appendChild(roleElement); | 119 this.listItemElement.appendChild(roleElement); |
| 120 }, | 120 }, |
| 121 | 121 |
| 122 _appendIgnoredNodeElement: function() | 122 _appendIgnoredNodeElement: function() |
| 123 { | 123 { |
| 124 var ignoredNodeElement = createElementWithClass("span", "monospace"); | 124 var ignoredNodeElement = createElementWithClass("span", "monospace"); |
| 125 ignoredNodeElement.textContent = WebInspector.UIString("Ignored"); | 125 ignoredNodeElement.textContent = WebInspector.UIString("Ignored"); |
| 126 ignoredNodeElement.classList.add("ax-tree-ignored-node"); | 126 ignoredNodeElement.classList.add("ax-tree-ignored-node"); |
| 127 this.listItemElement.appendChild(ignoredNodeElement); | 127 this.listItemElement.appendChild(ignoredNodeElement); |
| 128 }, | 128 }, |
| 129 | 129 |
| 130 __proto__: TreeElement.prototype | 130 __proto__: TreeElement.prototype |
| 131 }; | 131 }; |
| OLD | NEW |