| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2012 Research In Motion Limited. All rights reserved. | 2 * Copyright (C) 2012 Research In Motion Limited. All rights reserved. |
| 3 * | 3 * |
| 4 * This library is free software; you can redistribute it and/or | 4 * This library is free software; you can redistribute it and/or |
| 5 * modify it under the terms of the GNU Lesser General Public | 5 * modify it under the terms of the GNU Lesser General Public |
| 6 * License as published by the Free Software Foundation; either | 6 * License as published by the Free Software Foundation; either |
| 7 * version 2 of the License, or (at your option) any later version. | 7 * version 2 of the License, or (at your option) any later version. |
| 8 * | 8 * |
| 9 * This library is distributed in the hope that it will be useful, | 9 * This library is distributed in the hope that it will be useful, |
| 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 48 this._dataGrid.setName("ResourceWebSocketFrameView"); | 48 this._dataGrid.setName("ResourceWebSocketFrameView"); |
| 49 this._dataGrid.addEventListener(WebInspector.DataGrid.Events.SelectedNode, t
his._onFrameSelected, this); | 49 this._dataGrid.addEventListener(WebInspector.DataGrid.Events.SelectedNode, t
his._onFrameSelected, this); |
| 50 this._dataGrid.addEventListener(WebInspector.DataGrid.Events.DeselectedNode,
this._onFrameDeselected, this); | 50 this._dataGrid.addEventListener(WebInspector.DataGrid.Events.DeselectedNode,
this._onFrameDeselected, this); |
| 51 this._splitWidget.setMainWidget(this._dataGrid.asWidget()); | 51 this._splitWidget.setMainWidget(this._dataGrid.asWidget()); |
| 52 | 52 |
| 53 var view = new WebInspector.EmptyWidget("Select frame to browse its content.
"); | 53 var view = new WebInspector.EmptyWidget("Select frame to browse its content.
"); |
| 54 this._splitWidget.setSidebarWidget(view); | 54 this._splitWidget.setSidebarWidget(view); |
| 55 | 55 |
| 56 /** @type {?WebInspector.ResourceWebSocketFrameNode} */ | 56 /** @type {?WebInspector.ResourceWebSocketFrameNode} */ |
| 57 this._selectedNode = null; | 57 this._selectedNode = null; |
| 58 } | 58 }; |
| 59 | 59 |
| 60 /** @enum {number} */ | 60 /** @enum {number} */ |
| 61 WebInspector.ResourceWebSocketFrameView.OpCodes = { | 61 WebInspector.ResourceWebSocketFrameView.OpCodes = { |
| 62 ContinuationFrame: 0, | 62 ContinuationFrame: 0, |
| 63 TextFrame: 1, | 63 TextFrame: 1, |
| 64 BinaryFrame: 2, | 64 BinaryFrame: 2, |
| 65 ConnectionCloseFrame: 8, | 65 ConnectionCloseFrame: 8, |
| 66 PingFrame: 9, | 66 PingFrame: 9, |
| 67 PongFrame: 10 | 67 PongFrame: 10 |
| 68 }; | 68 }; |
| (...skipping 15 matching lines...) Expand all Loading... |
| 84 /** | 84 /** |
| 85 * @param {number} opCode | 85 * @param {number} opCode |
| 86 * @param {boolean} mask | 86 * @param {boolean} mask |
| 87 * @return {string} | 87 * @return {string} |
| 88 */ | 88 */ |
| 89 WebInspector.ResourceWebSocketFrameView.opCodeDescription = function(opCode, mas
k) | 89 WebInspector.ResourceWebSocketFrameView.opCodeDescription = function(opCode, mas
k) |
| 90 { | 90 { |
| 91 var rawDescription = WebInspector.ResourceWebSocketFrameView.opCodeDescripti
ons[opCode] || ""; | 91 var rawDescription = WebInspector.ResourceWebSocketFrameView.opCodeDescripti
ons[opCode] || ""; |
| 92 var localizedDescription = WebInspector.UIString(rawDescription); | 92 var localizedDescription = WebInspector.UIString(rawDescription); |
| 93 return WebInspector.UIString("%s (Opcode %d%s)", localizedDescription, opCod
e, (mask ? ", mask" : "")); | 93 return WebInspector.UIString("%s (Opcode %d%s)", localizedDescription, opCod
e, (mask ? ", mask" : "")); |
| 94 } | 94 }; |
| 95 | 95 |
| 96 WebInspector.ResourceWebSocketFrameView.prototype = { | 96 WebInspector.ResourceWebSocketFrameView.prototype = { |
| 97 wasShown: function() | 97 wasShown: function() |
| 98 { | 98 { |
| 99 this.refresh(); | 99 this.refresh(); |
| 100 this._request.addEventListener(WebInspector.NetworkRequest.Events.Websoc
ketFrameAdded, this._frameAdded, this); | 100 this._request.addEventListener(WebInspector.NetworkRequest.Events.Websoc
ketFrameAdded, this._frameAdded, this); |
| 101 }, | 101 }, |
| 102 | 102 |
| 103 willHide: function() | 103 willHide: function() |
| 104 { | 104 { |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 181 { | 181 { |
| 182 InspectorFrontendHost.copyText(row.data); | 182 InspectorFrontendHost.copyText(row.data); |
| 183 }, | 183 }, |
| 184 | 184 |
| 185 _sortItems: function() | 185 _sortItems: function() |
| 186 { | 186 { |
| 187 this._dataGrid.sortNodes(this._timeComparator, !this._dataGrid.isSortOrd
erAscending()); | 187 this._dataGrid.sortNodes(this._timeComparator, !this._dataGrid.isSortOrd
erAscending()); |
| 188 }, | 188 }, |
| 189 | 189 |
| 190 __proto__: WebInspector.VBox.prototype | 190 __proto__: WebInspector.VBox.prototype |
| 191 } | 191 }; |
| 192 | 192 |
| 193 /** | 193 /** |
| 194 * @constructor | 194 * @constructor |
| 195 * @extends {WebInspector.SortableDataGridNode} | 195 * @extends {WebInspector.SortableDataGridNode} |
| 196 * @param {string} url | 196 * @param {string} url |
| 197 * @param {!WebInspector.NetworkRequest.WebSocketFrame} frame | 197 * @param {!WebInspector.NetworkRequest.WebSocketFrame} frame |
| 198 */ | 198 */ |
| 199 WebInspector.ResourceWebSocketFrameNode = function(url, frame) | 199 WebInspector.ResourceWebSocketFrameNode = function(url, frame) |
| 200 { | 200 { |
| 201 this._frame = frame; | 201 this._frame = frame; |
| 202 this._dataText = frame.text; | 202 this._dataText = frame.text; |
| 203 this._url = url; | 203 this._url = url; |
| 204 var length = frame.text.length; | 204 var length = frame.text.length; |
| 205 var time = new Date(frame.time * 1000); | 205 var time = new Date(frame.time * 1000); |
| 206 var timeText = ("0" + time.getHours()).substr(-2) + ":" + ("0" + time.getMin
utes()).substr(-2) + ":" + ("0" + time.getSeconds()).substr(-2) + "." + ("00" +
time.getMilliseconds()).substr(-3); | 206 var timeText = ("0" + time.getHours()).substr(-2) + ":" + ("0" + time.getMin
utes()).substr(-2) + ":" + ("0" + time.getSeconds()).substr(-2) + "." + ("00" +
time.getMilliseconds()).substr(-3); |
| 207 var timeNode = createElement("div"); | 207 var timeNode = createElement("div"); |
| 208 timeNode.createTextChild(timeText); | 208 timeNode.createTextChild(timeText); |
| 209 timeNode.title = time.toLocaleString(); | 209 timeNode.title = time.toLocaleString(); |
| 210 | 210 |
| 211 this._isTextFrame = frame.opCode === WebInspector.ResourceWebSocketFrameView
.OpCodes.TextFrame; | 211 this._isTextFrame = frame.opCode === WebInspector.ResourceWebSocketFrameView
.OpCodes.TextFrame; |
| 212 if (!this._isTextFrame) | 212 if (!this._isTextFrame) |
| 213 this._dataText = WebInspector.ResourceWebSocketFrameView.opCodeDescripti
on(frame.opCode, frame.mask); | 213 this._dataText = WebInspector.ResourceWebSocketFrameView.opCodeDescripti
on(frame.opCode, frame.mask); |
| 214 | 214 |
| 215 WebInspector.SortableDataGridNode.call(this, {data: this._dataText, length:
length, time: timeNode}); | 215 WebInspector.SortableDataGridNode.call(this, {data: this._dataText, length:
length, time: timeNode}); |
| 216 } | 216 }; |
| 217 | 217 |
| 218 WebInspector.ResourceWebSocketFrameNode.prototype = { | 218 WebInspector.ResourceWebSocketFrameNode.prototype = { |
| 219 /** | 219 /** |
| 220 * @override | 220 * @override |
| 221 */ | 221 */ |
| 222 createCells: function() | 222 createCells: function() |
| 223 { | 223 { |
| 224 var element = this._element; | 224 var element = this._element; |
| 225 element.classList.toggle("websocket-frame-view-row-error", this._frame.t
ype === WebInspector.NetworkRequest.WebSocketFrameType.Error); | 225 element.classList.toggle("websocket-frame-view-row-error", this._frame.t
ype === WebInspector.NetworkRequest.WebSocketFrameType.Error); |
| 226 element.classList.toggle("websocket-frame-view-row-outcoming", this._fra
me.type === WebInspector.NetworkRequest.WebSocketFrameType.Send); | 226 element.classList.toggle("websocket-frame-view-row-outcoming", this._fra
me.type === WebInspector.NetworkRequest.WebSocketFrameType.Send); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 239 | 239 |
| 240 /** | 240 /** |
| 241 * @return {!WebInspector.ContentProvider} | 241 * @return {!WebInspector.ContentProvider} |
| 242 */ | 242 */ |
| 243 contentProvider: function() | 243 contentProvider: function() |
| 244 { | 244 { |
| 245 return WebInspector.StaticContentProvider.fromString(this._url, WebInspe
ctor.resourceTypes.WebSocket, this._dataText); | 245 return WebInspector.StaticContentProvider.fromString(this._url, WebInspe
ctor.resourceTypes.WebSocket, this._dataText); |
| 246 }, | 246 }, |
| 247 | 247 |
| 248 __proto__: WebInspector.SortableDataGridNode.prototype | 248 __proto__: WebInspector.SortableDataGridNode.prototype |
| 249 } | 249 }; |
| 250 | 250 |
| 251 /** | 251 /** |
| 252 * @param {!WebInspector.ResourceWebSocketFrameNode} a | 252 * @param {!WebInspector.ResourceWebSocketFrameNode} a |
| 253 * @param {!WebInspector.ResourceWebSocketFrameNode} b | 253 * @param {!WebInspector.ResourceWebSocketFrameNode} b |
| 254 * @return {number} | 254 * @return {number} |
| 255 */ | 255 */ |
| 256 WebInspector.ResourceWebSocketFrameNodeTimeComparator = function(a, b) | 256 WebInspector.ResourceWebSocketFrameNodeTimeComparator = function(a, b) |
| 257 { | 257 { |
| 258 return a._frame.time - b._frame.time; | 258 return a._frame.time - b._frame.time; |
| 259 } | 259 }; |
| OLD | NEW |