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

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

Issue 2839273003: [Devtools] New structure and colorize rows for network products (Closed)
Patch Set: changes Created 3 years, 8 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
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 a602a1f0462ce67c62869cefa9a9aabd56ee898b..5936f76efacc558498248eaa753e88c7cbdb6b30 100644
--- a/third_party/WebKit/Source/devtools/front_end/network/NetworkDataGridNode.js
+++ b/third_party/WebKit/Source/devtools/front_end/network/NetworkDataGridNode.js
@@ -38,14 +38,10 @@ 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} */
this._requestOrFirstKnownChildRequest = null;
- /** @type {!Map<string, !UI.Icon>} */
- this._columnIcons = new Map();
/** @type {?Common.Color} */
this._backgroundColor = null;
}
@@ -88,14 +84,6 @@ Network.NetworkNode = class extends DataGrid.SortableDataGridNode {
return /** @type {string} */ (color.asString(Common.Color.Format.HEX));
}
- /**
- * @param {?Common.Color} color
- */
- setBackgroundColor(color) {
- this._backgroundColor = color;
- this._updateBackgroundColor();
- }
-
_updateBackgroundColor() {
var element = this.existingElement();
if (!element)
@@ -143,13 +131,6 @@ Network.NetworkNode = class extends DataGrid.SortableDataGridNode {
}
/**
- * @param {!Map<string, ?Network.NetworkColumnExtensionInterface>} columnExtensions
- */
- setColumnExtensions(columnExtensions) {
- this._columnExtensions = columnExtensions;
- }
-
- /**
* @param {boolean} hovered
* @param {boolean} showInitiatorChain
*/
@@ -351,6 +332,22 @@ Network.NetworkRequestNode = class extends Network.NetworkNode {
}
/**
+ * @param {!ProductRegistry.Registry} productRegistry
+ * @param {!Network.NetworkNode} a
+ * @param {!Network.NetworkNode} b
+ * @return {number}
+ */
+ static ProductComparator(productRegistry, a, b) {
+ var aRequest = a.request();
+ var bRequest = b.request();
+ if (!aRequest || !bRequest)
+ return !aRequest ? -1 : 1;
+ var aName = productRegistry.nameForUrl(aRequest.parsedURL) || '';
+ var bName = productRegistry.nameForUrl(bRequest.parsedURL) || '';
+ return aName.localeCompare(bName) || aRequest.indentityCompare(bRequest);
+ }
+
+ /**
* @param {!Network.NetworkNode} a
* @param {!Network.NetworkNode} b
* @return {number}
@@ -566,24 +563,6 @@ 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() {
@@ -706,21 +685,11 @@ Network.NetworkRequestNode = class extends Network.NetworkNode {
element.classList.toggle('network-error-row', this._isFailed());
element.classList.toggle('network-navigation-row', this._isNavigationRequest);
- for (var rowDecorator of this._parentView.rowDecorators())
- rowDecorator.decorate(this);
super.createCells(element);
this._updateBackgroundColor();
}
/**
- * @param {string} columnId
- * @param {!UI.Icon} icon
- */
- setIconForColumn(columnId, icon) {
- this._columnIcons.set(columnId, icon);
- }
-
- /**
* @param {!Element} element
* @param {string} text
*/
@@ -736,21 +705,18 @@ Network.NetworkRequestNode = class extends Network.NetworkNode {
*/
createCell(columnIdentifier) {
var cell = this.createTD(columnIdentifier);
- var icon = this._columnIcons.get(columnIdentifier);
- if (icon)
- cell.appendChild(icon);
- // 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);
break;
+ case 'product':
+ if (!Runtime.experiments.isEnabled('networkGroupingRequests')) {
+ this._setTextAndTitle(cell, this._request.responseHeaderValue(columnIdentifier) || '');
+ break;
+ }
+ if (this.request())
+ ProductRegistry.instance().then(this._renderProductCell.bind(this, cell));
+ break;
case 'method':
this._setTextAndTitle(cell, this._request.requestMethod);
break;
@@ -900,6 +866,42 @@ Network.NetworkRequestNode = class extends Network.NetworkNode {
/**
* @param {!Element} cell
+ * @param {!ProductRegistry.Registry} productRegistry
+ */
+ _renderProductCell(cell, productRegistry) {
+ var request = this.request();
+ if (!request)
+ return;
+ var entry = productRegistry.entryForUrl(request.parsedURL);
+ if (!entry)
+ return;
+ this._setTextAndTitle(cell, entry.name);
+ if (entry.type !== null) {
+ var element = this.existingElement();
+ if (!element)
pfeldman 2017/04/28 21:08:35 When does this happen?
allada 2017/04/28 22:21:09 It should not happen, however if I call element()
+ return;
+ switch (entry.type) {
+ case 0:
+ this._backgroundColor = Common.Color.fromRGBA([224, 247, 250, .6]);
+ cell.classList.add('product-ad');
+ break;
+ case 1:
+ this._backgroundColor = Common.Color.fromRGBA([255, 252, 225, .6]);
+ cell.classList.add('product-tracking');
+ break;
+ case 2:
+ this._backgroundColor = Common.Color.fromRGBA([211, 253, 211, .6]);
+ cell.classList.add('product-cdn');
+ break;
+ default:
+ this._backgroundColor = null;
+ }
+ this._updateBackgroundColor();
+ }
+ }
+
+ /**
+ * @param {!Element} cell
*/
_renderStatusCell(cell) {
cell.classList.toggle(
@@ -1100,8 +1102,6 @@ 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);

Powered by Google App Engine
This is Rietveld 408576698