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

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

Issue 2454893004: [Devtools] Added contextmenu item to allow different timeline styles for exp (Closed)
Patch Set: Merge branch 'TIMELINE_DIVIDERS' into TIMELINE_TIMING_BARS 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 | « 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/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 a5c13a817902a20980f863eb314f7eb576d5d92e..88a6af5f5e541267c0753f132bc4bd7ca1f0f824 100644
--- a/third_party/WebKit/Source/devtools/front_end/network/NetworkLogViewColumns.js
+++ b/third_party/WebKit/Source/devtools/front_end/network/NetworkLogViewColumns.js
@@ -14,10 +14,7 @@ WebInspector.NetworkLogViewColumns = function(networkLogView, timeCalculator, du
if (Runtime.experiments.isEnabled("canvasNetworkTimeline")) {
var timelineColumn = WebInspector.NetworkLogViewColumns._defaultColumns.find(columnConfig => columnConfig.id === "timeline");
timelineColumn.visible = false;
- timelineColumn.hideable = true;
- timelineColumn.sortConfig = {
- sortingFunction: WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null, "startTime")
- };
+ timelineColumn.hideable = false;
}
this._networkLogView = networkLogView;
@@ -367,6 +364,17 @@ WebInspector.NetworkLogViewColumns._defaultColumns = [
WebInspector.NetworkLogViewColumns._filmStripDividerColor = "#fccc49";
/**
+ * @enum {string}
+ */
+WebInspector.NetworkLogViewColumns.TimelineSortIds = {
+ StartTime: "startTime",
+ ResponseTime: "responseReceivedTime",
+ EndTime: "endTime",
+ Duration: "duration",
+ Latency: "latency"
+};
+
+/**
* @param {!WebInspector.NetworkLogViewColumns.Descriptor} columnConfig
* @return {!WebInspector.DataGrid.ColumnDescriptor}
*/
@@ -440,6 +448,7 @@ WebInspector.NetworkLogViewColumns.prototype = {
this._setupDropdownColumns();
+ this._activeTimelineSortId = WebInspector.NetworkLogViewColumns.TimelineSortIds.StartTime;
this._dataGrid.markColumnAsSortedBy(WebInspector.NetworkLogViewColumns._initialSortColumn, WebInspector.DataGrid.Order.Ascending);
if (Runtime.experiments.isEnabled("canvasNetworkTimeline")) {
@@ -638,6 +647,21 @@ WebInspector.NetworkLogViewColumns.prototype = {
_sortHandler: function()
{
var columnId = this._dataGrid.sortColumnId();
+ this._networkLogView.removeAllNodeHighlights();
+ if (Runtime.experiments.isEnabled("canvasNetworkTimeline") && columnId === "timeline") {
+ this._timelineColumnSortIcon.classList.remove("sort-ascending", "sort-descending");
+
+ if (this._dataGrid.sortOrder() === WebInspector.DataGrid.Order.Ascending)
+ this._timelineColumnSortIcon.classList.add("sort-ascending");
+ else
+ this._timelineColumnSortIcon.classList.add("sort-descending");
+
+ this._timelineRequestsAreStale = true;
+ var sortFunction = WebInspector.NetworkDataGridNode.RequestPropertyComparator.bind(null, this._activeTimelineSortId);
+ this._dataGrid.sortNodes(sortFunction, !this._dataGrid.isSortOrderAscending());
+ return;
+ }
+
var columnConfig = this._columns.find(columnConfig => columnConfig.id === columnId);
if (!columnConfig)
return;
@@ -648,24 +672,8 @@ WebInspector.NetworkLogViewColumns.prototype = {
if (!columnConfig.sortConfig.sortingFunction)
return;
- this._networkLogView.removeAllNodeHighlights();
this._dataGrid.sortNodes(columnConfig.sortConfig.sortingFunction, !this._dataGrid.isSortOrderAscending());
this._networkLogView.dataGridSorted();
-
- if (!Runtime.experiments.isEnabled("canvasNetworkTimeline"))
- return;
-
- this._timelineColumnSortIcon.classList.remove("sort-ascending", "sort-descending");
-
- if (this._dataGrid.sortColumnId() === "timeline") {
- if (this._dataGrid.sortOrder() === WebInspector.DataGrid.Order.Ascending)
- this._timelineColumnSortIcon.classList.add("sort-ascending");
- else
- this._timelineColumnSortIcon.classList.add("sort-descending");
- }
-
- this._timelineRequestsAreStale = true;
-
},
/**
@@ -688,21 +696,6 @@ WebInspector.NetworkLogViewColumns.prototype = {
columnConfig.selectBox.options[0].label = selectedItemConfig.title;
columnConfig.selectBox.selectedIndex = 0;
this._networkLogView.dataGridSorted();
-
- // TODO(allada) This entire function will be removed when the timeline comes out of exp, so copying code above for now.
- if (!Runtime.experiments.isEnabled("canvasNetworkTimeline"))
- return;
-
- this._timelineColumnSortIcon.classList.remove("sort-ascending", "sort-descending");
-
- if (this._dataGrid.sortColumnId() === "timeline") {
- if (this._dataGrid.sortOrder() === WebInspector.DataGrid.Order.Ascending)
- this._timelineColumnSortIcon.classList.add("sort-ascending");
- else
- this._timelineColumnSortIcon.classList.add("sort-descending");
- }
-
- this._timelineRequestsAreStale = true;
},
_updateColumns: function()
@@ -712,7 +705,7 @@ WebInspector.NetworkLogViewColumns.prototype = {
var visibleColumns = /** @type {!Object.<string, boolean>} */ ({});
if (this._gridMode) {
for (var columnConfig of this._columns)
- visibleColumns[columnConfig.id] = (columnConfig.visible || !columnConfig.hideable);
+ visibleColumns[columnConfig.id] = columnConfig.visible;
} else {
visibleColumns.name = true;
}
@@ -815,6 +808,16 @@ WebInspector.NetworkLogViewColumns.prototype = {
*/
_innerHeaderContextMenu: function(contextMenu)
{
+ if (Runtime.experiments.isEnabled("canvasNetworkTimeline")) {
+ var timelineSortIds = WebInspector.NetworkLogViewColumns.TimelineSortIds;
+ var timelineSubMenu = contextMenu.appendSubMenuItem(WebInspector.UIString("Timeline"));
+ timelineSubMenu.appendCheckboxItem(WebInspector.UIString("Start Time"), setTimelineMode.bind(this, timelineSortIds.StartTime), this._activeTimelineSortId === timelineSortIds.StartTime);
+ timelineSubMenu.appendCheckboxItem(WebInspector.UIString("Response Time"), setTimelineMode.bind(this, timelineSortIds.ResponseTime), this._activeTimelineSortId === timelineSortIds.ResponseTime);
+ timelineSubMenu.appendCheckboxItem(WebInspector.UIString("End Time"), setTimelineMode.bind(this, timelineSortIds.EndTime), this._activeTimelineSortId === timelineSortIds.EndTime);
+ timelineSubMenu.appendCheckboxItem(WebInspector.UIString("Total Duration"), setTimelineMode.bind(this, timelineSortIds.Duration), this._activeTimelineSortId === timelineSortIds.Duration);
+ timelineSubMenu.appendCheckboxItem(WebInspector.UIString("Latency"), setTimelineMode.bind(this, timelineSortIds.Latency), this._activeTimelineSortId === timelineSortIds.Latency);
+ contextMenu.appendSeparator();
+ }
var columnConfigs = this._columns.filter(columnConfig => columnConfig.hideable);
var nonResponseHeaders = columnConfigs.filter(columnConfig => !columnConfig.isResponseHeader);
for (var columnConfig of nonResponseHeaders)
@@ -831,6 +834,23 @@ WebInspector.NetworkLogViewColumns.prototype = {
responseSubMenu.appendItem(WebInspector.UIString("Manage Header Columns\u2026"), this._manageCustomHeaderDialog.bind(this));
contextMenu.show();
+
+ /**
+ * @param {!WebInspector.NetworkLogViewColumns.TimelineSortIds} sortId
+ * @this {WebInspector.NetworkLogViewColumns}
+ */
+ function setTimelineMode(sortId)
+ {
+ var calculator = this._calculatorsMap.get(WebInspector.NetworkLogViewColumns._calculatorTypes.Time);
+ var timelineSortIds = WebInspector.NetworkLogViewColumns.TimelineSortIds;
+ if (sortId === timelineSortIds.Duration || sortId === timelineSortIds.Latency)
+ calculator = this._calculatorsMap.get(WebInspector.NetworkLogViewColumns._calculatorTypes.Duration);
+ this._networkLogView.setCalculator(calculator);
+
+ this._activeTimelineSortId = sortId;
+ this._dataGrid.markColumnAsSortedBy("timeline", WebInspector.DataGrid.Order.Ascending);
+ this._sortHandler();
+ }
},
_manageCustomHeaderDialog: function()
« 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