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

Unified Diff: Source/devtools/front_end/network/ResourceWebSocketFrameView.js

Issue 643873003: DevTools: NetworkPanel: make websocket frames table "live". (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 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 | Source/devtools/front_end/sdk/NetworkRequest.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/devtools/front_end/network/ResourceWebSocketFrameView.js
diff --git a/Source/devtools/front_end/network/ResourceWebSocketFrameView.js b/Source/devtools/front_end/network/ResourceWebSocketFrameView.js
index 2f854a3d3f5fa4318c0e301949b1d84502029c11..41a490c2cf651af20b6a942b207205f1cd98aa1e 100644
--- a/Source/devtools/front_end/network/ResourceWebSocketFrameView.js
+++ b/Source/devtools/front_end/network/ResourceWebSocketFrameView.js
@@ -31,15 +31,17 @@ WebInspector.ResourceWebSocketFrameView = function(request)
var columns = [
{id: "data", title: WebInspector.UIString("Data"), sortable: false, weight: 88, longText: true},
{id: "length", title: WebInspector.UIString("Length"), sortable: false, align: WebInspector.DataGrid.Align.Right, weight: 5},
- {id: "time", title: WebInspector.UIString("Time"), weight: 7}
+ {id: "time", title: WebInspector.UIString("Time"), sortable: true, weight: 7}
]
this._dataGrid = new WebInspector.SortableDataGrid(columns, undefined, undefined, undefined, this._onContextMenu.bind(this));
+ this._dataGrid.setStickToBottom(true);
this._dataGrid.setCellClass("websocket-frame-view-td");
- var comparator = /** @type {!WebInspector.SortableDataGrid.NodeComparator} */ (WebInspector.ResourceWebSocketFrameNodeTimeComparator);
- this._dataGrid.sortNodes(comparator, true);
+ this._timeComparator = /** @type {!WebInspector.SortableDataGrid.NodeComparator} */ (WebInspector.ResourceWebSocketFrameNodeTimeComparator);
+ this._dataGrid.sortNodes(this._timeComparator, false);
+ this._dataGrid.markColumnAsSortedBy("time", WebInspector.DataGrid.Order.Ascending);
+ this._dataGrid.addEventListener(WebInspector.DataGrid.Events.SortingChanged, this._sortItems, this);
- this.refresh();
this._dataGrid.setName("ResourceWebSocketFrameView");
this._dataGrid.show(this.element);
}
@@ -81,20 +83,34 @@ WebInspector.ResourceWebSocketFrameView.opCodeDescription = function(opCode, mas
}
WebInspector.ResourceWebSocketFrameView.prototype = {
+ wasShown: function()
+ {
+ this.refresh();
+ this._request.addEventListener(WebInspector.NetworkRequest.Events.WebsocketFrameAdded, this._frameAdded, this);
+ },
+
+ willHide: function()
+ {
+ this._request.removeEventListener(WebInspector.NetworkRequest.Events.WebsocketFrameAdded, this._frameAdded, this);
+ },
+
+ /**
+ * @param {!WebInspector.Event} event
+ */
+ _frameAdded: function(event)
+ {
+ var frame = /** @type {!WebInspector.NetworkRequest.WebSocketFrame} */ (event.data);
+ this._dataGrid.insertChild(new WebInspector.ResourceWebSocketFrameNode(frame));
+ },
+
refresh: function()
{
this._dataGrid.rootNode().removeChildren();
var frames = this._request.frames();
- for (var i = frames.length - 1; i >= 0; --i)
+ for (var i = 0; i < frames.length; ++i)
this._dataGrid.insertChild(new WebInspector.ResourceWebSocketFrameNode(frames[i]));
},
- show: function(parentElement, insertBefore)
- {
- this.refresh();
- WebInspector.View.prototype.show.call(this, parentElement, insertBefore);
- },
-
/**
* @param {!WebInspector.ContextMenu} contextMenu
* @param {!WebInspector.DataGridNode} node
@@ -112,6 +128,11 @@ WebInspector.ResourceWebSocketFrameView.prototype = {
InspectorFrontendHost.copyText(row.data);
},
+ _sortItems: function()
+ {
+ this._dataGrid.sortNodes(this._timeComparator, !this._dataGrid.isSortOrderAscending());
+ },
+
__proto__: WebInspector.VBox.prototype
}
@@ -145,6 +166,14 @@ WebInspector.ResourceWebSocketFrameNode.prototype = {
WebInspector.SortableDataGridNode.prototype.createCells.call(this);
},
+ /**
+ * @override
+ * @return {number}
+ */
+ nodeSelfHeight: function() {
vsevik 2014/10/16 08:03:32 { on the next line
eustas 2014/10/16 08:32:05 Done.
+ return 17;
+ },
+
__proto__: WebInspector.SortableDataGridNode.prototype
}
« no previous file with comments | « no previous file | Source/devtools/front_end/sdk/NetworkRequest.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698