Index: third_party/WebKit/Source/devtools/front_end/network/ResourceWebSocketFrameView.js |
diff --git a/third_party/WebKit/Source/devtools/front_end/network/ResourceWebSocketFrameView.js b/third_party/WebKit/Source/devtools/front_end/network/ResourceWebSocketFrameView.js |
index 11a39bd59a1c88b311d574c8cd94d1a3fccfb089..5f3ba50e3307cb8a996116df894f10623c6f527b 100644 |
--- a/third_party/WebKit/Source/devtools/front_end/network/ResourceWebSocketFrameView.js |
+++ b/third_party/WebKit/Source/devtools/front_end/network/ResourceWebSocketFrameView.js |
@@ -15,43 +15,49 @@ |
* License along with this library; if not, write to the Free Software |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
*/ |
- |
/** |
- * @constructor |
- * @extends {WebInspector.VBox} |
- * @param {!WebInspector.NetworkRequest} request |
+ * @unrestricted |
*/ |
-WebInspector.ResourceWebSocketFrameView = function(request) |
-{ |
- WebInspector.VBox.call(this); |
- this.registerRequiredCSS("network/webSocketFrameView.css"); |
- this.element.classList.add("websocket-frame-view"); |
+WebInspector.ResourceWebSocketFrameView = class extends WebInspector.VBox { |
+ /** |
+ * @param {!WebInspector.NetworkRequest} request |
+ */ |
+ constructor(request) { |
+ super(); |
+ this.registerRequiredCSS('network/webSocketFrameView.css'); |
+ this.element.classList.add('websocket-frame-view'); |
this._request = request; |
- this._splitWidget = new WebInspector.SplitWidget(false, true, "resourceWebSocketFrameSplitViewState"); |
+ this._splitWidget = new WebInspector.SplitWidget(false, true, 'resourceWebSocketFrameSplitViewState'); |
this._splitWidget.show(this.element); |
var columns = /** @type {!Array<!WebInspector.DataGrid.ColumnDescriptor>} */ ([ |
- {id: "data", title: WebInspector.UIString("Data"), sortable: false, weight: 88}, |
- {id: "length", title: WebInspector.UIString("Length"), sortable: false, align: WebInspector.DataGrid.Align.Right, weight: 5}, |
- {id: "time", title: WebInspector.UIString("Time"), sortable: true, weight: 7} |
+ {id: 'data', title: WebInspector.UIString('Data'), sortable: false, weight: 88}, { |
+ id: 'length', |
+ title: WebInspector.UIString('Length'), |
+ sortable: false, |
+ align: WebInspector.DataGrid.Align.Right, |
+ weight: 5 |
+ }, |
+ {id: 'time', title: WebInspector.UIString('Time'), sortable: true, weight: 7} |
]); |
this._dataGrid = new WebInspector.SortableDataGrid(columns); |
this._dataGrid.setRowContextMenuCallback(onRowContextMenu); |
this._dataGrid.setStickToBottom(true); |
- this._dataGrid.setCellClass("websocket-frame-view-td"); |
- this._timeComparator = /** @type {!WebInspector.SortableDataGrid.NodeComparator} */ (WebInspector.ResourceWebSocketFrameNodeTimeComparator); |
+ this._dataGrid.setCellClass('websocket-frame-view-td'); |
+ this._timeComparator = /** @type {!WebInspector.SortableDataGrid.NodeComparator} */ ( |
+ WebInspector.ResourceWebSocketFrameNodeTimeComparator); |
this._dataGrid.sortNodes(this._timeComparator, false); |
- this._dataGrid.markColumnAsSortedBy("time", WebInspector.DataGrid.Order.Ascending); |
+ this._dataGrid.markColumnAsSortedBy('time', WebInspector.DataGrid.Order.Ascending); |
this._dataGrid.addEventListener(WebInspector.DataGrid.Events.SortingChanged, this._sortItems, this); |
- this._dataGrid.setName("ResourceWebSocketFrameView"); |
+ this._dataGrid.setName('ResourceWebSocketFrameView'); |
this._dataGrid.addEventListener(WebInspector.DataGrid.Events.SelectedNode, this._onFrameSelected, this); |
this._dataGrid.addEventListener(WebInspector.DataGrid.Events.DeselectedNode, this._onFrameDeselected, this); |
this._splitWidget.setMainWidget(this._dataGrid.asWidget()); |
- var view = new WebInspector.EmptyWidget("Select frame to browse its content."); |
+ var view = new WebInspector.EmptyWidget('Select frame to browse its content.'); |
this._splitWidget.setSidebarWidget(view); |
/** @type {?WebInspector.ResourceWebSocketFrameNode} */ |
@@ -61,187 +67,181 @@ WebInspector.ResourceWebSocketFrameView = function(request) |
* @param {!WebInspector.ContextMenu} contextMenu |
* @param {!WebInspector.DataGridNode} node |
*/ |
- function onRowContextMenu(contextMenu, node) |
- { |
- contextMenu.appendItem(WebInspector.UIString.capitalize("Copy ^message"), InspectorFrontendHost.copyText.bind(InspectorFrontendHost, node.data.data)) |
+ function onRowContextMenu(contextMenu, node) { |
+ contextMenu.appendItem( |
+ WebInspector.UIString.capitalize('Copy ^message'), |
+ InspectorFrontendHost.copyText.bind(InspectorFrontendHost, node.data.data)); |
} |
-}; |
- |
-/** @enum {number} */ |
-WebInspector.ResourceWebSocketFrameView.OpCodes = { |
- ContinuationFrame: 0, |
- TextFrame: 1, |
- BinaryFrame: 2, |
- ConnectionCloseFrame: 8, |
- PingFrame: 9, |
- PongFrame: 10 |
-}; |
- |
-/** @type {!Array.<string> } */ |
-WebInspector.ResourceWebSocketFrameView.opCodeDescriptions = (function() |
-{ |
- var opCodes = WebInspector.ResourceWebSocketFrameView.OpCodes; |
- var map = []; |
- map[opCodes.ContinuationFrame] = "Continuation Frame"; |
- map[opCodes.TextFrame] = "Text Frame"; |
- map[opCodes.BinaryFrame] = "Binary Frame"; |
- map[opCodes.ContinuationFrame] = "Connection Close Frame"; |
- map[opCodes.PingFrame] = "Ping Frame"; |
- map[opCodes.PongFrame] = "Pong Frame"; |
- return map; |
-})(); |
- |
-/** |
- * @param {number} opCode |
- * @param {boolean} mask |
- * @return {string} |
- */ |
-WebInspector.ResourceWebSocketFrameView.opCodeDescription = function(opCode, mask) |
-{ |
- var rawDescription = WebInspector.ResourceWebSocketFrameView.opCodeDescriptions[opCode] || ""; |
+ } |
+ |
+ /** |
+ * @param {number} opCode |
+ * @param {boolean} mask |
+ * @return {string} |
+ */ |
+ static opCodeDescription(opCode, mask) { |
+ var rawDescription = WebInspector.ResourceWebSocketFrameView.opCodeDescriptions[opCode] || ''; |
var localizedDescription = WebInspector.UIString(rawDescription); |
- return WebInspector.UIString("%s (Opcode %d%s)", localizedDescription, opCode, (mask ? ", mask" : "")); |
-}; |
- |
-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); |
- }, |
+ return WebInspector.UIString('%s (Opcode %d%s)', localizedDescription, opCode, (mask ? ', mask' : '')); |
+ } |
+ |
+ /** |
+ * @override |
+ */ |
+ wasShown() { |
+ this.refresh(); |
+ this._request.addEventListener(WebInspector.NetworkRequest.Events.WebsocketFrameAdded, this._frameAdded, this); |
+ } |
+ |
+ /** |
+ * @override |
+ */ |
+ willHide() { |
+ this._request.removeEventListener(WebInspector.NetworkRequest.Events.WebsocketFrameAdded, this._frameAdded, this); |
+ } |
+ |
+ /** |
+ * @param {!WebInspector.Event} event |
+ */ |
+ _frameAdded(event) { |
+ var frame = /** @type {!WebInspector.NetworkRequest.WebSocketFrame} */ (event.data); |
+ this._dataGrid.insertChild(new WebInspector.ResourceWebSocketFrameNode(this._request.url, frame)); |
+ } |
+ |
+ /** |
+ * @param {!WebInspector.Event} event |
+ */ |
+ _onFrameSelected(event) { |
+ var selectedNode = /** @type {!WebInspector.ResourceWebSocketFrameNode} */ (event.target.selectedNode); |
+ this._currentSelectedNode = selectedNode; |
+ var contentProvider = selectedNode.contentProvider(); |
+ contentProvider.requestContent().then(contentHandler.bind(this)); |
/** |
- * @param {!WebInspector.Event} event |
+ * @param {(string|null)} content |
+ * @this {WebInspector.ResourceWebSocketFrameView} |
*/ |
- _frameAdded: function(event) |
- { |
- var frame = /** @type {!WebInspector.NetworkRequest.WebSocketFrame} */ (event.data); |
- this._dataGrid.insertChild(new WebInspector.ResourceWebSocketFrameNode(this._request.url, frame)); |
- }, |
+ function contentHandler(content) { |
+ if (this._currentSelectedNode !== selectedNode) |
+ return; |
+ WebInspector.JSONView.parseJSON(content).then(handleJSONData.bind(this)); |
+ } |
/** |
- * @param {!WebInspector.Event} event |
+ * @param {?WebInspector.ParsedJSON} parsedJSON |
+ * @this {WebInspector.ResourceWebSocketFrameView} |
*/ |
- _onFrameSelected: function(event) |
- { |
- var selectedNode = /** @type {!WebInspector.ResourceWebSocketFrameNode} */ (event.target.selectedNode); |
- this._currentSelectedNode = selectedNode; |
- var contentProvider = selectedNode.contentProvider(); |
- contentProvider.requestContent().then(contentHandler.bind(this)); |
- |
- /** |
- * @param {(string|null)} content |
- * @this {WebInspector.ResourceWebSocketFrameView} |
- */ |
- function contentHandler(content) { |
- if (this._currentSelectedNode !== selectedNode) |
- return; |
- WebInspector.JSONView.parseJSON(content).then(handleJSONData.bind(this)); |
- } |
- |
- /** |
- * @param {?WebInspector.ParsedJSON} parsedJSON |
- * @this {WebInspector.ResourceWebSocketFrameView} |
- */ |
- function handleJSONData(parsedJSON) |
- { |
- if (this._currentSelectedNode !== selectedNode) |
- return; |
- if (parsedJSON) |
- this._splitWidget.setSidebarWidget(WebInspector.JSONView.createSearchableView(parsedJSON)); |
- else |
- this._splitWidget.setSidebarWidget(new WebInspector.ResourceSourceFrame(contentProvider)); |
- } |
- }, |
+ function handleJSONData(parsedJSON) { |
+ if (this._currentSelectedNode !== selectedNode) |
+ return; |
+ if (parsedJSON) |
+ this._splitWidget.setSidebarWidget(WebInspector.JSONView.createSearchableView(parsedJSON)); |
+ else |
+ this._splitWidget.setSidebarWidget(new WebInspector.ResourceSourceFrame(contentProvider)); |
+ } |
+ } |
+ |
+ /** |
+ * @param {!WebInspector.Event} event |
+ */ |
+ _onFrameDeselected(event) { |
+ this._currentSelectedNode = null; |
+ } |
+ |
+ refresh() { |
+ this._dataGrid.rootNode().removeChildren(); |
+ var frames = this._request.frames(); |
+ for (var i = 0; i < frames.length; ++i) |
+ this._dataGrid.insertChild(new WebInspector.ResourceWebSocketFrameNode(this._request.url, frames[i])); |
+ } |
+ |
+ _sortItems() { |
+ this._dataGrid.sortNodes(this._timeComparator, !this._dataGrid.isSortOrderAscending()); |
+ } |
+}; |
- /** |
- * @param {!WebInspector.Event} event |
- */ |
- _onFrameDeselected: function(event) |
- { |
- this._currentSelectedNode = null; |
- }, |
- |
- refresh: function() |
- { |
- this._dataGrid.rootNode().removeChildren(); |
- var frames = this._request.frames(); |
- for (var i = 0; i < frames.length; ++i) |
- this._dataGrid.insertChild(new WebInspector.ResourceWebSocketFrameNode(this._request.url, frames[i])); |
- }, |
- |
- _sortItems: function() |
- { |
- this._dataGrid.sortNodes(this._timeComparator, !this._dataGrid.isSortOrderAscending()); |
- }, |
- |
- __proto__: WebInspector.VBox.prototype |
+/** @enum {number} */ |
+WebInspector.ResourceWebSocketFrameView.OpCodes = { |
+ ContinuationFrame: 0, |
+ TextFrame: 1, |
+ BinaryFrame: 2, |
+ ConnectionCloseFrame: 8, |
+ PingFrame: 9, |
+ PongFrame: 10 |
}; |
+/** @type {!Array.<string> } */ |
+WebInspector.ResourceWebSocketFrameView.opCodeDescriptions = (function() { |
+ var opCodes = WebInspector.ResourceWebSocketFrameView.OpCodes; |
+ var map = []; |
+ map[opCodes.ContinuationFrame] = 'Continuation Frame'; |
+ map[opCodes.TextFrame] = 'Text Frame'; |
+ map[opCodes.BinaryFrame] = 'Binary Frame'; |
+ map[opCodes.ContinuationFrame] = 'Connection Close Frame'; |
+ map[opCodes.PingFrame] = 'Ping Frame'; |
+ map[opCodes.PongFrame] = 'Pong Frame'; |
+ return map; |
+})(); |
+ |
+ |
/** |
- * @constructor |
- * @extends {WebInspector.SortableDataGridNode} |
- * @param {string} url |
- * @param {!WebInspector.NetworkRequest.WebSocketFrame} frame |
+ * @unrestricted |
*/ |
-WebInspector.ResourceWebSocketFrameNode = function(url, frame) |
-{ |
+WebInspector.ResourceWebSocketFrameNode = class extends WebInspector.SortableDataGridNode { |
+ /** |
+ * @param {string} url |
+ * @param {!WebInspector.NetworkRequest.WebSocketFrame} frame |
+ */ |
+ constructor(url, frame) { |
var dataText = frame.text; |
var length = frame.text.length; |
var time = new Date(frame.time * 1000); |
- var timeText = ("0" + time.getHours()).substr(-2) + ":" + ("0" + time.getMinutes()).substr(-2) + ":" + ("0" + time.getSeconds()).substr(-2) + "." + ("00" + time.getMilliseconds()).substr(-3); |
- var timeNode = createElement("div"); |
+ var timeText = ('0' + time.getHours()).substr(-2) + ':' + ('0' + time.getMinutes()).substr(-2) + ':' + |
+ ('0' + time.getSeconds()).substr(-2) + '.' + ('00' + time.getMilliseconds()).substr(-3); |
+ var timeNode = createElement('div'); |
timeNode.createTextChild(timeText); |
timeNode.title = time.toLocaleString(); |
var isTextFrame = frame.opCode === WebInspector.ResourceWebSocketFrameView.OpCodes.TextFrame; |
if (!isTextFrame) |
- dataText = WebInspector.ResourceWebSocketFrameView.opCodeDescription(frame.opCode, frame.mask); |
+ dataText = WebInspector.ResourceWebSocketFrameView.opCodeDescription(frame.opCode, frame.mask); |
- WebInspector.SortableDataGridNode.call(this, {data: dataText, length: length, time: timeNode}); |
+ super({data: dataText, length: length, time: timeNode}); |
this._url = url; |
this._frame = frame; |
this._isTextFrame = isTextFrame; |
this._dataText = dataText; |
-}; |
- |
-WebInspector.ResourceWebSocketFrameNode.prototype = { |
- /** |
- * @override |
- */ |
- createCells: function() |
- { |
- var element = this._element; |
- element.classList.toggle("websocket-frame-view-row-error", this._frame.type === WebInspector.NetworkRequest.WebSocketFrameType.Error); |
- element.classList.toggle("websocket-frame-view-row-outcoming", this._frame.type === WebInspector.NetworkRequest.WebSocketFrameType.Send); |
- element.classList.toggle("websocket-frame-view-row-opcode", !this._isTextFrame); |
- WebInspector.SortableDataGridNode.prototype.createCells.call(this); |
- }, |
- |
- /** |
- * @override |
- * @return {number} |
- */ |
- nodeSelfHeight: function() |
- { |
- return 17; |
- }, |
- |
- /** |
- * @return {!WebInspector.ContentProvider} |
- */ |
- contentProvider: function() |
- { |
- return WebInspector.StaticContentProvider.fromString(this._url, WebInspector.resourceTypes.WebSocket, this._dataText); |
- }, |
- |
- __proto__: WebInspector.SortableDataGridNode.prototype |
+ } |
+ |
+ /** |
+ * @override |
+ */ |
+ createCells() { |
+ var element = this._element; |
+ element.classList.toggle( |
+ 'websocket-frame-view-row-error', this._frame.type === WebInspector.NetworkRequest.WebSocketFrameType.Error); |
+ element.classList.toggle( |
+ 'websocket-frame-view-row-outcoming', this._frame.type === WebInspector.NetworkRequest.WebSocketFrameType.Send); |
+ element.classList.toggle('websocket-frame-view-row-opcode', !this._isTextFrame); |
+ super.createCells(); |
+ } |
+ |
+ /** |
+ * @override |
+ * @return {number} |
+ */ |
+ nodeSelfHeight() { |
+ return 17; |
+ } |
+ |
+ /** |
+ * @return {!WebInspector.ContentProvider} |
+ */ |
+ contentProvider() { |
+ return WebInspector.StaticContentProvider.fromString( |
+ this._url, WebInspector.resourceTypes.WebSocket, this._dataText); |
+ } |
}; |
/** |
@@ -249,7 +249,6 @@ WebInspector.ResourceWebSocketFrameNode.prototype = { |
* @param {!WebInspector.ResourceWebSocketFrameNode} b |
* @return {number} |
*/ |
-WebInspector.ResourceWebSocketFrameNodeTimeComparator = function(a, b) |
-{ |
- return a._frame.time - b._frame.time; |
+WebInspector.ResourceWebSocketFrameNodeTimeComparator = function(a, b) { |
+ return a._frame.time - b._frame.time; |
}; |