| 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 b408c94daa1016ebf62d75f9c10c5c399288bd46..e83ecc02250e6abeac606dcb77585a5dadacfa76 100644
|
| --- a/third_party/WebKit/Source/devtools/front_end/network/NetworkLogView.js
|
| +++ b/third_party/WebKit/Source/devtools/front_end/network/NetworkLogView.js
|
| @@ -57,6 +57,9 @@ Network.NetworkLogView = class extends UI.VBox {
|
| this._durationCalculator = new Network.NetworkTransferDurationCalculator();
|
| this._calculator = this._timeCalculator;
|
|
|
| + /** @type {?Network.NetworkGroupLookupInterface} */
|
| + this._activeGroupLookup = null;
|
| +
|
| /**
|
| * @this {Network.NetworkLogView}
|
| */
|
| @@ -345,6 +348,14 @@ Network.NetworkLogView = class extends UI.VBox {
|
| }
|
|
|
| /**
|
| + * @param {?Network.NetworkGroupLookupInterface} grouping
|
| + */
|
| + setGrouping(grouping) {
|
| + this._activeGroupLookup = grouping;
|
| + this._invalidateAllItems();
|
| + }
|
| +
|
| + /**
|
| * @param {!SDK.NetworkRequest} request
|
| * @return {?Network.NetworkRequestNode}
|
| */
|
| @@ -846,25 +857,21 @@ Network.NetworkLogView = class extends UI.VBox {
|
|
|
| /**
|
| * @param {!Network.NetworkRequestNode} node
|
| - * @return {!Network.NetworkNode}
|
| + * @return {?Network.NetworkNode}
|
| */
|
| _parentNodeForInsert(node) {
|
| - if (!Runtime.experiments.isEnabled('networkGroupingRequests'))
|
| - return /** @type {!Network.NetworkNode} */ (this._dataGrid.rootNode());
|
| + if (!this._activeGroupLookup)
|
| + return this._dataGrid.rootNode();
|
|
|
| - var request = node.request();
|
| - // TODO(allada) Make this dynamic and allow multiple grouping types.
|
| - var groupKey = request.connectionId;
|
| - var group = this._nodeGroups.get(groupKey);
|
| + var groupName = this._activeGroupLookup.lookup(node.request());
|
| + if (!groupName)
|
| + return this._dataGrid.rootNode();
|
| +
|
| + var group = this._nodeGroups.get(groupName);
|
| if (group)
|
| return group;
|
| -
|
| - var parsedURL = request.url().asParsedURL();
|
| - var host = '';
|
| - if (parsedURL)
|
| - host = parsedURL.host;
|
| - group = new Network.NetworkGroupNode(this, host + ' - ' + groupKey);
|
| - this._nodeGroups.set(groupKey, group);
|
| + group = new Network.NetworkGroupNode(this, groupName);
|
| + this._nodeGroups.set(groupName, group);
|
| return group;
|
| }
|
|
|
| @@ -1779,3 +1786,16 @@ Network.NetworkLogView._searchKeys =
|
|
|
| /** @typedef {function(!SDK.NetworkRequest): boolean} */
|
| Network.NetworkLogView.Filter;
|
| +
|
| +/**
|
| + * @interface
|
| + */
|
| +Network.NetworkGroupLookupInterface = function() {};
|
| +
|
| +Network.NetworkGroupLookupInterface.prototype = {
|
| + /**
|
| + * @param {!SDK.NetworkRequest} request
|
| + * @return {?string}
|
| + */
|
| + lookup(request) {}
|
| +};
|
|
|