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 |