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

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

Issue 2461573002: [Devtools] Added timeline event dividers bars to network timeline exp (Closed)
Patch Set: changes Created 4 years, 2 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 | « no previous file | third_party/WebKit/Source/devtools/front_end/network/NetworkTimelineColumn.js » ('j') | 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/NetworkLogViewColumns.js
diff --git a/third_party/WebKit/Source/devtools/front_end/network/NetworkLogViewColumns.js b/third_party/WebKit/Source/devtools/front_end/network/NetworkLogViewColumns.js
index ae611c8b343b8bd218f6a6f33f55066734ecceca..a5c13a817902a20980f863eb314f7eb576d5d92e 100644
--- a/third_party/WebKit/Source/devtools/front_end/network/NetworkLogViewColumns.js
+++ b/third_party/WebKit/Source/devtools/front_end/network/NetworkLogViewColumns.js
@@ -34,6 +34,10 @@ WebInspector.NetworkLogViewColumns = function(networkLogView, timeCalculator, du
/** @type {!Array<{time: number, element: !Element}>} */
this._eventDividers = [];
+ /** @type {!Map<string, !Array<number>>} */
+ this._shownEventDividers = new Map();
+ this._eventDividersShown = false;
+
this._gridMode = true;
/** @type {!Array.<!WebInspector.NetworkLogViewColumns.Descriptor>} */
@@ -360,6 +364,8 @@ WebInspector.NetworkLogViewColumns._defaultColumns = [
}
];
+WebInspector.NetworkLogViewColumns._filmStripDividerColor = "#fccc49";
+
/**
* @param {!WebInspector.NetworkLogViewColumns.Descriptor} columnConfig
* @return {!WebInspector.DataGrid.ColumnDescriptor}
@@ -392,6 +398,7 @@ WebInspector.NetworkLogViewColumns.prototype = {
if (this._popoverHelper)
this._popoverHelper.hidePopover();
this._timelineGrid.removeEventDividers();
+ this._shownEventDividers.clear();
this.updateDividersIfNeeded();
},
@@ -504,7 +511,7 @@ WebInspector.NetworkLogViewColumns.prototype = {
{
if (!this._timelineRequestsAreStale) {
this._updateScrollerWidthIfNeeded();
- this._timelineColumn.update(this._activeScroller.scrollTop);
+ this._timelineColumn.update(this._activeScroller.scrollTop, this._eventDividersShown ? this._shownEventDividers : undefined);
return;
}
var currentNode = this._dataGrid.rootNode();
@@ -517,7 +524,7 @@ WebInspector.NetworkLogViewColumns.prototype = {
requestData.navigationRequest = currentNode.request();
requestData.requests.push(currentNode.request());
}
- this._timelineColumn.update(this._activeScroller.scrollTop, requestData);
+ this._timelineColumn.update(this._activeScroller.scrollTop, this._shownEventDividers, requestData);
},
/**
@@ -994,8 +1001,26 @@ WebInspector.NetworkLogViewColumns.prototype = {
*/
addEventDividers: function(times, className)
{
- if (Runtime.experiments.isEnabled("canvasNetworkTimeline"))
+ if (Runtime.experiments.isEnabled("canvasNetworkTimeline")) {
+ // TODO(allada) When we remove old timeline remove this and pass in the color.
+ var color = "transparent";
+ switch (className) {
+ case "network-blue-divider":
+ color = "hsla(240, 100%, 80%, 0.7)";
+ break;
+ case "network-red-divider":
+ color = "rgba(255, 0, 0, 0.5)";
+ break;
+ default:
+ return;
+ }
+ var currentTimes = this._shownEventDividers.get(color) || [];
+ this._shownEventDividers.set(color, currentTimes.concat(times));
+
+ this._networkLogView.scheduleRefresh();
return;
+ }
+
for (var i = 0; i < times.length; ++i) {
var element = createElementWithClass("div", "network-event-divider " + className);
this._timelineGrid.addEventDivider(element);
@@ -1021,15 +1046,21 @@ WebInspector.NetworkLogViewColumns.prototype = {
hideEventDividers: function()
{
- if (Runtime.experiments.isEnabled("canvasNetworkTimeline"))
+ this._eventDividersShown = true;
+ if (Runtime.experiments.isEnabled("canvasNetworkTimeline")) {
+ this._redrawTimelineColumn();
return;
+ }
this._timelineGrid.hideEventDividers();
},
showEventDividers: function()
{
- if (Runtime.experiments.isEnabled("canvasNetworkTimeline"))
+ this._eventDividersShown = false;
+ if (Runtime.experiments.isEnabled("canvasNetworkTimeline")) {
+ this._redrawTimelineColumn();
return;
+ }
this._timelineGrid.showEventDividers();
},
@@ -1038,12 +1069,22 @@ WebInspector.NetworkLogViewColumns.prototype = {
*/
selectFilmStripFrame: function(time)
{
+ if (Runtime.experiments.isEnabled("canvasNetworkTimeline")) {
+ this._shownEventDividers.set(WebInspector.NetworkLogViewColumns._filmStripDividerColor, [time]);
+ this._redrawTimelineColumn();
+ return;
+ }
for (var divider of this._eventDividers)
divider.element.classList.toggle("network-frame-divider-selected", divider.time === time);
},
clearFilmStripFrame: function()
{
+ if (Runtime.experiments.isEnabled("canvasNetworkTimeline")) {
+ this._shownEventDividers.delete(WebInspector.NetworkLogViewColumns._filmStripDividerColor);
+ this._redrawTimelineColumn();
+ return;
+ }
for (var divider of this._eventDividers)
divider.element.classList.toggle("network-frame-divider-selected", false);
}
« no previous file with comments | « no previous file | third_party/WebKit/Source/devtools/front_end/network/NetworkTimelineColumn.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698