| Index: third_party/WebKit/Source/devtools/front_end/network/NetworkDataGridNode.js
|
| diff --git a/third_party/WebKit/Source/devtools/front_end/network/NetworkDataGridNode.js b/third_party/WebKit/Source/devtools/front_end/network/NetworkDataGridNode.js
|
| index a584c6edda243766f2016ab2bdffedcda8f33d3f..496c91d0be00385267925157bb51b142c3cf13c7 100644
|
| --- a/third_party/WebKit/Source/devtools/front_end/network/NetworkDataGridNode.js
|
| +++ b/third_party/WebKit/Source/devtools/front_end/network/NetworkDataGridNode.js
|
| @@ -38,6 +38,8 @@ Network.NetworkNode = class extends DataGrid.SortableDataGridNode {
|
| constructor(parentView) {
|
| super({});
|
| this._parentView = parentView;
|
| + /** @type {!Map<string, ?Network.NetworkColumnExtensionInterface>} */
|
| + this._columnExtensions = new Map();
|
| this._isHovered = false;
|
| this._showingInitiatorChain = false;
|
| /** @type {?SDK.NetworkRequest} */
|
| @@ -74,6 +76,13 @@ Network.NetworkNode = class extends DataGrid.SortableDataGridNode {
|
| }
|
|
|
| /**
|
| + * @param {!Map<string, ?Network.NetworkColumnExtensionInterface>} columnExtensions
|
| + */
|
| + setColumnExtensions(columnExtensions) {
|
| + this._columnExtensions = columnExtensions;
|
| + }
|
| +
|
| + /**
|
| * @param {boolean} hovered
|
| * @param {boolean} showInitiatorChain
|
| */
|
| @@ -464,6 +473,24 @@ Network.NetworkRequestNode = class extends Network.NetworkNode {
|
| }
|
|
|
| /**
|
| + * @param {!Map<string, ?Network.NetworkColumnExtensionInterface>} extensionsMap
|
| + * @param {string} extensionId
|
| + * @param {!Network.NetworkNode} a
|
| + * @param {!Network.NetworkNode} b
|
| + * @return {number}
|
| + */
|
| + static ExtensionColumnComparator(extensionsMap, extensionId, a, b) {
|
| + var aRequest = a.requestOrFirstKnownChildRequest();
|
| + var bRequest = b.requestOrFirstKnownChildRequest();
|
| + if (!aRequest || !bRequest)
|
| + return !aRequest ? -1 : 1;
|
| + var instance = extensionsMap.get(extensionId);
|
| + if (!instance)
|
| + return aRequest.indentityCompare(bRequest);
|
| + return instance.requestComparator(aRequest, bRequest);
|
| + }
|
| +
|
| + /**
|
| * @override
|
| */
|
| showingInitiatorChainChanged() {
|
| @@ -604,6 +631,14 @@ Network.NetworkRequestNode = class extends Network.NetworkNode {
|
| */
|
| createCell(columnIdentifier) {
|
| var cell = this.createTD(columnIdentifier);
|
| + // If the key exists but the value is null it means the extension instance has not resolved yet.
|
| + // The view controller will force all rows to update when extension is resolved.
|
| + if (this._columnExtensions.has(columnIdentifier)) {
|
| + var instance = this._columnExtensions.get(columnIdentifier);
|
| + if (instance)
|
| + this._setTextAndTitle(cell, instance.lookupColumnValue(this._request));
|
| + return cell;
|
| + }
|
| switch (columnIdentifier) {
|
| case 'name':
|
| this._renderNameCell(cell);
|
| @@ -954,6 +989,8 @@ Network.NetworkGroupNode = class extends Network.NetworkNode {
|
| */
|
| createCell(columnIdentifier) {
|
| var cell = this.createTD(columnIdentifier);
|
| + if (this._columnExtensions.has(columnIdentifier))
|
| + return cell;
|
| if (columnIdentifier === 'name') {
|
| var leftPadding = this.leftPadding ? this.leftPadding + 'px' : '';
|
| cell.style.setProperty('padding-left', leftPadding);
|
|
|