Chromium Code Reviews| Index: third_party/WebKit/Source/devtools/front_end/network/NetworkLogView.js |
| diff --git a/third_party/WebKit/Source/devtools/front_end/network/NetworkLogView.js b/third_party/WebKit/Source/devtools/front_end/network/NetworkLogView.js |
| index d55d185236884e3e294fabc75426c3979702f66d..4104f02a22bf2bdcdd3f5eae07a64f9e9d6babc0 100644 |
| --- a/third_party/WebKit/Source/devtools/front_end/network/NetworkLogView.js |
| +++ b/third_party/WebKit/Source/devtools/front_end/network/NetworkLogView.js |
| @@ -76,6 +76,9 @@ Network.NetworkLogView = class extends UI.VBox { |
| this._nodesByRequestId = new Map(); |
| /** @type {!Map<*, !Network.NetworkGroupNode>} */ |
| this._nodeGroups = new Map(); |
| + /** @type {!Set<!Network.NetworkRowDecorator>} */ |
| + this._rowDecorators = new Set(); |
| + |
| /** @type {!Object.<string, boolean>} */ |
| this._staleRequestIds = {}; |
| /** @type {number} */ |
| @@ -358,6 +361,13 @@ Network.NetworkLogView = class extends UI.VBox { |
| } |
| /** |
| + * @return {!Set<!Network.NetworkRowDecorator>} |
| + */ |
| + rowDecorators() { |
| + return this._rowDecorators; |
| + } |
| + |
| + /** |
| * @param {!SDK.NetworkRequest} request |
| * @return {?Network.NetworkRequestNode} |
| */ |
| @@ -488,6 +498,15 @@ Network.NetworkLogView = class extends UI.VBox { |
| this.element.id = 'network-container'; |
| this._setupDataGrid(); |
| + var extensions = self.runtime.extensions(Network.NetworkRowDecorator); |
| + for (var extension of extensions) { |
| + extension.instance().then(instance => { |
| + instance.setDataGrid(this._dataGrid); |
| + this._rowDecorators.add(instance); |
| + this._invalidateAllItems(true); |
|
pfeldman
2017/04/11 00:07:31
I was suggesting to put a barrier to coalesce thos
allada
2017/04/12 00:53:47
Done.
|
| + }); |
| + } |
| + |
| this._columns.show(this.element); |
| this._summaryBarElement = this.element.createChild('div', 'network-summary-bar'); |
| @@ -1816,3 +1835,20 @@ Network.NetworkGroupLookupInterface.prototype = { |
| */ |
| groupName(key) {} |
| }; |
| + |
| +/** |
| + * @interface |
| + */ |
| +Network.NetworkRowDecorator = function() {}; |
| + |
| +Network.NetworkRowDecorator.prototype = { |
| + /** |
| + * @param {!DataGrid.SortableDataGrid<!Network.NetworkNode>} dataGrid |
| + */ |
| + setDataGrid(dataGrid) {}, |
| + |
| + /** |
| + * @param {!Network.NetworkNode} node |
| + */ |
| + decorate(node) {} |
| +}; |