Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(822)

Unified Diff: third_party/WebKit/Source/devtools/front_end/network/NetworkLogView.js

Issue 2614823003: [Devtools] Network group experiment is now grouped by connectionId (Closed)
Patch Set: changes Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/WebKit/Source/devtools/front_end/network/NetworkDataGridNode.js ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 2db3eee9362736e3951d3b9d4b43f32ea3f657b5..329097f2b2cee83d6cc143b7225481137a0e6e98 100644
--- a/third_party/WebKit/Source/devtools/front_end/network/NetworkLogView.js
+++ b/third_party/WebKit/Source/devtools/front_end/network/NetworkLogView.js
@@ -782,9 +782,9 @@ Network.NetworkLogView = class extends UI.VBox {
this._timeCalculator.updateBoundariesForEventTime(this._mainRequestDOMContentLoadedTime);
this._durationCalculator.updateBoundariesForEventTime(this._mainRequestDOMContentLoadedTime);
- /** @type {!Array<!Network.NetworkRequestNode> } */
- var nodesToInsert = [];
- /** @type {!Array<!Network.NetworkRequestNode> } */
+ /** @type {!Map<!Network.NetworkNode, !Network.NetworkNode>} */
+ var nodesToInsert = new Map();
+ /** @type {!Array<!Network.NetworkNode>} */
var nodesToRefresh = [];
for (var requestId in this._staleRequestIds) {
var node = this._nodesByRequestId.get(requestId);
@@ -793,27 +793,44 @@ Network.NetworkLogView = class extends UI.VBox {
var isFilteredOut = !this._applyFilter(node);
if (isFilteredOut && node === this._hoveredNode)
this._setHoveredNode(null);
- if (node[Network.NetworkLogView._isFilteredOutSymbol] !== isFilteredOut) {
- if (!node[Network.NetworkLogView._isFilteredOutSymbol])
- node.parent.removeChild(node);
- node[Network.NetworkLogView._isFilteredOutSymbol] = isFilteredOut;
-
- if (!node[Network.NetworkLogView._isFilteredOutSymbol])
- nodesToInsert.push(node);
- }
if (!isFilteredOut)
nodesToRefresh.push(node);
var request = node.request();
this._timeCalculator.updateBoundaries(request);
this._durationCalculator.updateBoundaries(request);
+
+ if (node[Network.NetworkLogView._isFilteredOutSymbol] === isFilteredOut)
+ continue;
+
+ node[Network.NetworkLogView._isFilteredOutSymbol] = isFilteredOut;
+ var newParent = this._parentNodeForInsert(node);
+ var removeFromParent = node.parent && (isFilteredOut || node.parent !== newParent);
+ if (removeFromParent) {
+ var parent = node.parent;
+ parent.removeChild(node);
+ while (parent && !parent.hasChildren() && parent.dataGrid && parent.dataGrid.rootNode() !== parent) {
+ var grandparent = parent.parent;
+ grandparent.removeChild(parent);
+ parent = grandparent;
+ }
+ }
+
+ if (isFilteredOut)
+ continue;
+
+ if (!newParent.dataGrid && !nodesToInsert.has(newParent)) {
+ nodesToInsert.set(newParent, this._dataGrid.rootNode());
+ nodesToRefresh.push(newParent);
+ }
+ nodesToInsert.set(node, newParent);
}
- for (var i = 0; i < nodesToInsert.length; ++i) {
- var node = nodesToInsert[i];
+ for (var node of nodesToInsert.keys()) {
+ var parent = nodesToInsert.get(node);
var request = node.request();
- node[Network.NetworkLogView._isMatchingSearchQuerySymbol] = this._matchRequest(request);
- var parent = this._parentNodeForInsert(node);
+ if (request)
+ node[Network.NetworkLogView._isMatchingSearchQuerySymbol] = this._matchRequest(request);
parent.appendChild(node);
}
@@ -839,13 +856,17 @@ Network.NetworkLogView = class extends UI.VBox {
var request = node.request();
// TODO(allada) Make this dynamic and allow multiple grouping types.
- var groupKey = request.domain;
+ var groupKey = request.connectionId;
var group = this._nodeGroups.get(groupKey);
if (group)
return group;
- group = new Network.NetworkGroupNode(this, groupKey);
+
+ var parsedURL = request.url().asParsedURL();
+ var host = '';
+ if (parsedURL)
+ host = parsedURL.host;
+ group = new Network.NetworkGroupNode(this, host + ' - ' + groupKey);
this._nodeGroups.set(groupKey, group);
- this._dataGrid.rootNode().appendChild(group);
return group;
}
« no previous file with comments | « third_party/WebKit/Source/devtools/front_end/network/NetworkDataGridNode.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698