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

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

Issue 2561683003: [Devtools] Add experiment for network group support (Closed)
Patch Set: changes Created 4 years 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
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 5d428ae4e70916ef2a378ce0be6a95daaff08abd..6f706f3e6f2921a97e927766e5a5ccfa4dd634d2 100644
--- a/third_party/WebKit/Source/devtools/front_end/network/NetworkLogView.js
+++ b/third_party/WebKit/Source/devtools/front_end/network/NetworkLogView.js
@@ -73,6 +73,8 @@ Network.NetworkLogView = class extends UI.VBox {
/** @type {!Map.<string, !Network.NetworkDataGridNode>} */
this._nodesByRequestId = new Map();
+ /** @type {!Map.<string, !Network.NetworkDataGridParentNode>} */
dgozman 2016/12/15 03:04:41 NetworkDataGridGroupNode
allada 2016/12/19 22:44:28 Done.
+ this._nodeGroups = new Map();
/** @type {!Object.<string, boolean>} */
this._staleRequestIds = {};
/** @type {number} */
@@ -782,7 +784,7 @@ Network.NetworkLogView = class extends UI.VBox {
}
/**
- * @return {!Array<!Network.NetworkDataGridNode>}
+ * @return {!Array<!Network.NetworkDataGridNodeInterface>}
*/
flatNodesList() {
return this._dataGrid.rootNode().flatChildren();
@@ -804,6 +806,8 @@ Network.NetworkLogView = class extends UI.VBox {
this._timeCalculator.updateBoundariesForEventTime(this._mainRequestDOMContentLoadedTime);
this._durationCalculator.updateBoundariesForEventTime(this._mainRequestDOMContentLoadedTime);
+ var groupRequests = Runtime.experiments.isEnabled('networkGroupingRequests');
dgozman 2016/12/15 03:04:41 Unused.
allada 2016/12/19 22:44:29 Done.
+
var dataGrid = this._dataGrid;
var rootNode = dataGrid.rootNode();
/** @type {!Array<!Network.NetworkDataGridNode> } */
@@ -819,7 +823,7 @@ Network.NetworkLogView = class extends UI.VBox {
this._setHoveredNode(null);
if (node[Network.NetworkLogView._isFilteredOutSymbol] !== isFilteredOut) {
if (!node[Network.NetworkLogView._isFilteredOutSymbol])
- rootNode.removeChild(node);
+ node.parent.removeChild(node);
node[Network.NetworkLogView._isFilteredOutSymbol] = isFilteredOut;
@@ -836,8 +840,9 @@ Network.NetworkLogView = class extends UI.VBox {
for (var i = 0; i < nodesToInsert.length; ++i) {
var node = nodesToInsert[i];
var request = node.request();
- dataGrid.insertChild(node);
node[Network.NetworkLogView._isMatchingSearchQuerySymbol] = this._matchRequest(request);
+ var parent = this._parentNodeForInsert(node);
+ parent.appendChild(node);
}
for (var node of nodesToRefresh)
@@ -852,6 +857,22 @@ Network.NetworkLogView = class extends UI.VBox {
this._columns.dataChanged();
}
+ _parentNodeForInsert(node) {
dgozman 2016/12/15 03:04:41 JSDoc
allada 2016/12/19 22:44:28 Done.
+ if (!Runtime.experiments.isEnabled('networkGroupingRequests'))
+ return this._dataGrid.rootNode();
+
+ var request = node.request();
+ // TODO(allada) Make this dynamic and allow multiple grouping types.
+ var groupKey = request.domain;
+ var group = this._nodeGroups.get(groupKey);
+ if (group)
+ return group;
+ group = new Network.NetworkDataGridParentNode(this, groupKey);
+ this._nodeGroups.set(groupKey, group);
+ this._dataGrid.rootNode().appendChild(group);
+ return group;
+ }
+
reset() {
this._requestWithHighlightedInitiators = null;
this.dispatchEventToListeners(Network.NetworkLogView.Events.RequestSelected, null);
@@ -870,6 +891,7 @@ Network.NetworkLogView = class extends UI.VBox {
for (var i = 0; i < nodes.length; ++i)
nodes[i].dispose();
+ this._nodeGroups.clear();
this._nodesByRequestId.clear();
this._staleRequestIds = {};
this._resetSuggestionBuilder();

Powered by Google App Engine
This is Rietveld 408576698