| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 * @param {!Element} element | 7 * @param {!Element} element |
| 8 */ | 8 */ |
| 9 WebInspector.EventListenersView = function(element) | 9 WebInspector.EventListenersView = function(element) |
| 10 { | 10 { |
| 11 this._element = element; | 11 this._element = element; |
| 12 this._treeOutline = new TreeOutlineInShadow("event-listener-tree"); | 12 this._treeOutline = new TreeOutlineInShadow("event-listener-tree"); |
| 13 this._treeOutline.registerRequiredCSS("components/objectValue.css"); | 13 this._treeOutline.registerRequiredCSS("components/objectValue.css"); |
| 14 this._treeOutline.registerRequiredCSS("components/eventListenersView.css"); | 14 this._treeOutline.registerRequiredCSS("components/eventListenersView.css"); |
| 15 this._treeOutline.setComparator(WebInspector.EventListenersTreeElement.compa
rator); | 15 this._treeOutline.setComparator(WebInspector.EventListenersTreeElement.compa
rator); |
| 16 this._treeOutline.element.classList.add("monospace"); | 16 this._treeOutline.element.classList.add("monospace"); |
| 17 this._element.appendChild(this._treeOutline.element) | 17 this._element.appendChild(this._treeOutline.element) |
| 18 this._emptyHolder = createElementWithClass("div", "info"); | 18 this._emptyHolder = createElementWithClass("div", "info"); |
| 19 this._emptyHolder.textContent = WebInspector.UIString("No Event Listeners"); | 19 this._emptyHolder.textContent = WebInspector.UIString("No Event Listeners"); |
| 20 this._linkifier = new WebInspector.Linkifier(); | 20 this._linkifier = new WebInspector.Linkifier(); |
| 21 /** @type {!Map<string, !WebInspector.EventListenersTreeElement>} */ | 21 /** @type {!Map<string, !WebInspector.EventListenersTreeElement>} */ |
| 22 this._treeItemMap = new Map(); | 22 this._treeItemMap = new Map(); |
| 23 this._listenerTreeElements = []; |
| 23 } | 24 } |
| 24 | 25 |
| 25 WebInspector.EventListenersView.prototype = { | 26 WebInspector.EventListenersView.prototype = { |
| 26 /** | 27 /** |
| 27 * @param {!Array<!WebInspector.RemoteObject>} objects | 28 * @param {!Array<!WebInspector.RemoteObject>} objects |
| 28 * @return {!Promise<undefined>} | 29 * @return {!Promise<undefined>} |
| 29 */ | 30 */ |
| 30 addObjects: function(objects) | 31 addObjects: function(objects) |
| 31 { | 32 { |
| 32 var promises = []; | 33 var promises = []; |
| (...skipping 17 matching lines...) Expand all Loading... |
| 50 /** | 51 /** |
| 51 * @param {!WebInspector.RemoteObject} object | 52 * @param {!WebInspector.RemoteObject} object |
| 52 * @param {?Array<!WebInspector.EventListener>} eventListeners | 53 * @param {?Array<!WebInspector.EventListener>} eventListeners |
| 53 */ | 54 */ |
| 54 _addObjectEventListeners: function(object, eventListeners) | 55 _addObjectEventListeners: function(object, eventListeners) |
| 55 { | 56 { |
| 56 if (!eventListeners) | 57 if (!eventListeners) |
| 57 return; | 58 return; |
| 58 for (var eventListener of eventListeners) { | 59 for (var eventListener of eventListeners) { |
| 59 var treeItem = this._getOrCreateTreeElementForType(eventListener.typ
e()); | 60 var treeItem = this._getOrCreateTreeElementForType(eventListener.typ
e()); |
| 60 treeItem.addObjectEventListener(eventListener, object); | 61 this._listenerTreeElements.push(treeItem.addObjectEventListener(even
tListener, object)); |
| 61 } | 62 } |
| 62 }, | 63 }, |
| 63 | 64 |
| 64 /** | 65 /** |
| 65 * @param {string} type | 66 * @param {string} type |
| 66 * @return {!WebInspector.EventListenersTreeElement} | 67 * @return {!WebInspector.EventListenersTreeElement} |
| 67 */ | 68 */ |
| 68 _getOrCreateTreeElementForType: function(type) | 69 _getOrCreateTreeElementForType: function(type) |
| 69 { | 70 { |
| 70 var treeItem = this._treeItemMap.get(type); | 71 var treeItem = this._treeItemMap.get(type); |
| 71 if (!treeItem) { | 72 if (!treeItem) { |
| 72 treeItem = new WebInspector.EventListenersTreeElement(type, this._li
nkifier); | 73 treeItem = new WebInspector.EventListenersTreeElement(type, this._li
nkifier); |
| 73 this._treeItemMap.set(type, treeItem); | 74 this._treeItemMap.set(type, treeItem); |
| 74 this._treeOutline.appendChild(treeItem); | 75 this._treeOutline.appendChild(treeItem); |
| 75 this._emptyHolder.remove(); | 76 this._emptyHolder.remove(); |
| 76 } | 77 } |
| 77 return treeItem; | 78 return treeItem; |
| 78 }, | 79 }, |
| 79 | 80 |
| 80 addEmptyHolderIfNeeded: function() | 81 addEmptyHolderIfNeeded: function() |
| 81 { | 82 { |
| 82 if (!this._treeOutline.firstChild() && !this._emptyHolder.parentNode) | 83 if (!this._treeOutline.firstChild() && !this._emptyHolder.parentNode) |
| 83 this._element.appendChild(this._emptyHolder); | 84 this._element.appendChild(this._emptyHolder); |
| 84 }, | 85 }, |
| 85 | 86 |
| 86 reset: function() | 87 reset: function() |
| 87 { | 88 { |
| 88 this._treeItemMap = new Map(); | 89 this._treeItemMap = new Map(); |
| 90 this._listenerTreeElements = []; |
| 89 this._treeOutline.removeChildren(); | 91 this._treeOutline.removeChildren(); |
| 90 this._linkifier.reset(); | 92 this._linkifier.reset(); |
| 91 }, | 93 }, |
| 92 | 94 |
| 95 /** |
| 96 * @param {boolean} showResolvedHandlers |
| 97 */ |
| 98 showResolvedHandlers: function(showResolvedHandlers) |
| 99 { |
| 100 for (var listenerTreeElement of this._listenerTreeElements) { |
| 101 var handlerType = listenerTreeElement.eventListener().handlerType(); |
| 102 var hidden = false; |
| 103 if (handlerType === "frameworksResolved" && !showResolvedHandlers) |
| 104 hidden = true; |
| 105 if (handlerType === "frameworksInternal" && showResolvedHandlers) |
| 106 hidden = true; |
| 107 listenerTreeElement.hidden = hidden; |
| 108 } |
| 109 }, |
| 110 |
| 93 _eventListenersArrivedForTest: function() | 111 _eventListenersArrivedForTest: function() |
| 94 { | 112 { |
| 95 } | 113 } |
| 96 } | 114 } |
| 97 | 115 |
| 98 /** | 116 /** |
| 99 * @constructor | 117 * @constructor |
| 100 * @extends {TreeElement} | 118 * @extends {TreeElement} |
| 101 * @param {string} type | 119 * @param {string} type |
| 102 * @param {!WebInspector.Linkifier} linkifier | 120 * @param {!WebInspector.Linkifier} linkifier |
| (...skipping 14 matching lines...) Expand all Loading... |
| 117 WebInspector.EventListenersTreeElement.comparator = function(element1, element2)
{ | 135 WebInspector.EventListenersTreeElement.comparator = function(element1, element2)
{ |
| 118 if (element1.title === element2.title) | 136 if (element1.title === element2.title) |
| 119 return 0; | 137 return 0; |
| 120 return element1.title > element2.title ? 1 : -1; | 138 return element1.title > element2.title ? 1 : -1; |
| 121 } | 139 } |
| 122 | 140 |
| 123 WebInspector.EventListenersTreeElement.prototype = { | 141 WebInspector.EventListenersTreeElement.prototype = { |
| 124 /** | 142 /** |
| 125 * @param {!WebInspector.EventListener} eventListener | 143 * @param {!WebInspector.EventListener} eventListener |
| 126 * @param {!WebInspector.RemoteObject} object | 144 * @param {!WebInspector.RemoteObject} object |
| 145 * @return {!WebInspector.ObjectEventListenerBar} |
| 127 */ | 146 */ |
| 128 addObjectEventListener: function(eventListener, object) | 147 addObjectEventListener: function(eventListener, object) |
| 129 { | 148 { |
| 130 var treeElement = new WebInspector.ObjectEventListenerBar(eventListener,
object, this._linkifier); | 149 var treeElement = new WebInspector.ObjectEventListenerBar(eventListener,
object, this._linkifier); |
| 131 this.appendChild(/** @type {!TreeElement} */ (treeElement)); | 150 this.appendChild(/** @type {!TreeElement} */ (treeElement)); |
| 151 return treeElement; |
| 132 }, | 152 }, |
| 133 | 153 |
| 134 __proto__: TreeElement.prototype | 154 __proto__: TreeElement.prototype |
| 135 } | 155 } |
| 136 | 156 |
| 137 /** | 157 /** |
| 138 * @constructor | 158 * @constructor |
| 139 * @extends {TreeElement} | 159 * @extends {TreeElement} |
| 140 * @param {!WebInspector.EventListener} eventListener | 160 * @param {!WebInspector.EventListener} eventListener |
| 141 * @param {!WebInspector.RemoteObject} object | 161 * @param {!WebInspector.RemoteObject} object |
| (...skipping 25 matching lines...) Expand all Loading... |
| 167 * @param {!WebInspector.Linkifier} linkifier | 187 * @param {!WebInspector.Linkifier} linkifier |
| 168 */ | 188 */ |
| 169 _setTitle: function(object, linkifier) | 189 _setTitle: function(object, linkifier) |
| 170 { | 190 { |
| 171 var title = this.listItemElement.createChild("span"); | 191 var title = this.listItemElement.createChild("span"); |
| 172 var subtitle = this.listItemElement.createChild("span", "event-listener-
tree-subtitle"); | 192 var subtitle = this.listItemElement.createChild("span", "event-listener-
tree-subtitle"); |
| 173 subtitle.appendChild(linkifier.linkifyRawLocation(this._eventListener.lo
cation(), this._eventListener.sourceName())); | 193 subtitle.appendChild(linkifier.linkifyRawLocation(this._eventListener.lo
cation(), this._eventListener.sourceName())); |
| 174 title.appendChild(WebInspector.ObjectPropertiesSection.createValueElemen
t(object, false)); | 194 title.appendChild(WebInspector.ObjectPropertiesSection.createValueElemen
t(object, false)); |
| 175 }, | 195 }, |
| 176 | 196 |
| 197 /** |
| 198 * @return {!WebInspector.EventListener} |
| 199 */ |
| 200 eventListener: function() |
| 201 { |
| 202 return this._eventListener; |
| 203 }, |
| 204 |
| 177 __proto__: TreeElement.prototype | 205 __proto__: TreeElement.prototype |
| 178 } | 206 } |
| OLD | NEW |