Chromium Code Reviews| Index: Source/devtools/front_end/components/EventListenersView.js |
| diff --git a/Source/devtools/front_end/components/EventListenersView.js b/Source/devtools/front_end/components/EventListenersView.js |
| index 795610a41a17889600d8437e106000766fe0e606..5b50bfaf6c9bd14d4836cf89dbd7bd8e7e3a7a2e 100644 |
| --- a/Source/devtools/front_end/components/EventListenersView.js |
| +++ b/Source/devtools/front_end/components/EventListenersView.js |
| @@ -17,7 +17,6 @@ WebInspector.EventListenersView = function(element) |
| this._element.appendChild(this._treeOutline.element) |
| this._emptyHolder = createElementWithClass("div", "info"); |
| this._emptyHolder.textContent = WebInspector.UIString("No Event Listeners"); |
| - this._element.appendChild(this._emptyHolder); |
| this._linkifier = new WebInspector.Linkifier(); |
| /** @type {!Map<string, !WebInspector.EventListenersTreeElement>} */ |
| this._treeItemMap = new Map(); |
| @@ -25,10 +24,34 @@ WebInspector.EventListenersView = function(element) |
| WebInspector.EventListenersView.prototype = { |
| /** |
| + * @param {!Array<!WebInspector.RemoteObject>} objects |
| + * @return {!Promise<undefined>} |
| + */ |
| + addObjects: function(objects) |
| + { |
| + var promises = []; |
| + for (var i = 0; i < objects.length; ++i) |
| + promises.push(objects[i].eventListeners()); |
| + return Promise.all(promises).then(listenersCallback.bind(this)); |
| + /** |
| + * @param {!Array<?Array<!WebInspector.EventListener>>} listeners |
| + * @this {WebInspector.EventListenersView} |
| + */ |
| + function listenersCallback(listeners) |
| + { |
| + this.reset(); |
| + for (var i = 0; i < listeners.length; ++i) |
| + this.addObjectEventListeners(objects[i], listeners[i]); |
| + this.addEmptyHolderIfNeeded(); |
| + this._eventListenersArrivedForTest(); |
| + } |
| + }, |
| + |
| + /** |
| * @param {!WebInspector.RemoteObject} object |
| * @param {?Array<!WebInspector.EventListener>} eventListeners |
| */ |
| - _addObjectEventListeners: function(object, eventListeners) |
| + addObjectEventListeners: function(object, eventListeners) |
|
lushnikov
2015/06/17 14:44:50
private?
kozy
2015/06/17 15:54:32
Done.
|
| { |
| if (!eventListeners) |
| return; |
| @@ -54,21 +77,21 @@ WebInspector.EventListenersView.prototype = { |
| return treeItem; |
| }, |
| - /** |
| - * @param {!WebInspector.RemoteObject} object |
| - * @return {!Promise<undefined>} |
| - */ |
| - addObjectEventListeners: function(object) |
| + addEmptyHolderIfNeeded: function() |
| { |
| - return object.eventListeners().then(this._addObjectEventListeners.bind(this, object)); |
| + if (!this._treeOutline.firstChild() && !this._emptyHolder.parentNode) |
| + this._element.appendChild(this._emptyHolder); |
| }, |
| reset: function() |
| { |
| this._treeItemMap = new Map(); |
| this._treeOutline.removeChildren(); |
| - this._element.appendChild(this._emptyHolder); |
| this._linkifier.reset(); |
| + }, |
| + |
| + _eventListenersArrivedForTest: function() |
| + { |
| } |
| } |