Commit 595fe3e4 authored by Joey Arhar's avatar Joey Arhar Committed by Commit Bot

[DevTools] Correct WebSocket Frames to be Messages

Bug: 802182
Change-Id: I01b45373ab5fe21bf2513cd1ea9e7f2e90d9820f
Reviewed-on: https://chromium-review.googlesource.com/c/1356135Reviewed-by: default avatarDmitry Gozman <dgozman@chromium.org>
Commit-Queue: Joey Arhar <jarhar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#612761}
parent d561872d
...@@ -3818,14 +3818,14 @@ domain Network ...@@ -3818,14 +3818,14 @@ domain Network
# HTTP request headers text. # HTTP request headers text.
optional string requestHeadersText optional string requestHeadersText
# WebSocket frame data. # WebSocket message data. This represents an entire WebSocket message, not just a fragmented frame as the name suggests.
type WebSocketFrame extends object type WebSocketFrame extends object
properties properties
# WebSocket frame opcode. # WebSocket message opcode.
number opcode number opcode
# WebSocke frame mask. # WebSocket message mask.
boolean mask boolean mask
# WebSocke frame payload data. # WebSocket message payload data.
string payloadData string payloadData
# Information about the cached resource. # Information about the cached resource.
...@@ -4459,17 +4459,17 @@ domain Network ...@@ -4459,17 +4459,17 @@ domain Network
# Request initiator. # Request initiator.
optional Initiator initiator optional Initiator initiator
# Fired when WebSocket frame error occurs. # Fired when WebSocket message error occurs.
event webSocketFrameError event webSocketFrameError
parameters parameters
# Request identifier. # Request identifier.
RequestId requestId RequestId requestId
# Timestamp. # Timestamp.
MonotonicTime timestamp MonotonicTime timestamp
# WebSocket frame error message. # WebSocket error message.
string errorMessage string errorMessage
# Fired when WebSocket frame is received. # Fired when WebSocket message is received.
event webSocketFrameReceived event webSocketFrameReceived
parameters parameters
# Request identifier. # Request identifier.
...@@ -4479,7 +4479,7 @@ domain Network ...@@ -4479,7 +4479,7 @@ domain Network
# WebSocket response data. # WebSocket response data.
WebSocketFrame response WebSocketFrame response
# Fired when WebSocket frame is sent. # Fired when WebSocket message is sent.
event webSocketFrameSent event webSocketFrameSent
parameters parameters
# Request identifier. # Request identifier.
......
...@@ -1257,7 +1257,7 @@ void InspectorNetworkAgent::DidCloseWebSocket(ExecutionContext*, ...@@ -1257,7 +1257,7 @@ void InspectorNetworkAgent::DidCloseWebSocket(ExecutionContext*,
CurrentTimeTicksInSeconds()); CurrentTimeTicksInSeconds());
} }
void InspectorNetworkAgent::DidReceiveWebSocketFrame(unsigned long identifier, void InspectorNetworkAgent::DidReceiveWebSocketMessage(unsigned long identifier,
int op_code, int op_code,
bool masked, bool masked,
const char* payload, const char* payload,
...@@ -1274,7 +1274,7 @@ void InspectorNetworkAgent::DidReceiveWebSocketFrame(unsigned long identifier, ...@@ -1274,7 +1274,7 @@ void InspectorNetworkAgent::DidReceiveWebSocketFrame(unsigned long identifier,
CurrentTimeTicksInSeconds(), std::move(frame_object)); CurrentTimeTicksInSeconds(), std::move(frame_object));
} }
void InspectorNetworkAgent::DidSendWebSocketFrame(unsigned long identifier, void InspectorNetworkAgent::DidSendWebSocketMessage(unsigned long identifier,
int op_code, int op_code,
bool masked, bool masked,
const char* payload, const char* payload,
...@@ -1291,7 +1291,7 @@ void InspectorNetworkAgent::DidSendWebSocketFrame(unsigned long identifier, ...@@ -1291,7 +1291,7 @@ void InspectorNetworkAgent::DidSendWebSocketFrame(unsigned long identifier,
CurrentTimeTicksInSeconds(), std::move(frame_object)); CurrentTimeTicksInSeconds(), std::move(frame_object));
} }
void InspectorNetworkAgent::DidReceiveWebSocketFrameError( void InspectorNetworkAgent::DidReceiveWebSocketMessageError(
unsigned long identifier, unsigned long identifier,
const String& error_message) { const String& error_message) {
GetFrontend()->webSocketFrameError( GetFrontend()->webSocketFrameError(
......
...@@ -170,17 +170,17 @@ class CORE_EXPORT InspectorNetworkAgent final ...@@ -170,17 +170,17 @@ class CORE_EXPORT InspectorNetworkAgent final
network::mojom::blink::WebSocketHandshakeRequest*, network::mojom::blink::WebSocketHandshakeRequest*,
network::mojom::blink::WebSocketHandshakeResponse*); network::mojom::blink::WebSocketHandshakeResponse*);
void DidCloseWebSocket(ExecutionContext*, unsigned long identifier); void DidCloseWebSocket(ExecutionContext*, unsigned long identifier);
void DidReceiveWebSocketFrame(unsigned long identifier, void DidReceiveWebSocketMessage(unsigned long identifier,
int op_code, int op_code,
bool masked, bool masked,
const char* payload, const char* payload,
size_t payload_length); size_t payload_length);
void DidSendWebSocketFrame(unsigned long identifier, void DidSendWebSocketMessage(unsigned long identifier,
int op_code, int op_code,
bool masked, bool masked,
const char* payload, const char* payload,
size_t payload_length); size_t payload_length);
void DidReceiveWebSocketFrameError(unsigned long identifier, const String&); void DidReceiveWebSocketMessageError(unsigned long identifier, const String&);
// Called from frontend // Called from frontend
protocol::Response enable(Maybe<int> total_buffer_size, protocol::Response enable(Maybe<int> total_buffer_size,
......
...@@ -129,10 +129,10 @@ ...@@ -129,10 +129,10 @@
"didReceiveEncodedDataLength", "didReceiveEncodedDataLength",
"didReceiveResourceResponse", "didReceiveResourceResponse",
"didReceiveScriptResponse", "didReceiveScriptResponse",
"didReceiveWebSocketFrame", "didReceiveWebSocketMessage",
"didReceiveWebSocketFrameError", "didReceiveWebSocketMessageError",
"didReceiveWebSocketHandshakeResponse", "didReceiveWebSocketHandshakeResponse",
"didSendWebSocketFrame", "didSendWebSocketMessage",
"frameClearedScheduledNavigation", "frameClearedScheduledNavigation",
"frameScheduledNavigation", "frameScheduledNavigation",
"markResourceAsCached", "markResourceAsCached",
......
...@@ -126,9 +126,9 @@ interface CoreProbes { ...@@ -126,9 +126,9 @@ interface CoreProbes {
void willSendWebSocketHandshakeRequest([Keep] ExecutionContext*, unsigned long identifier, network::mojom::blink::WebSocketHandshakeRequest* request); void willSendWebSocketHandshakeRequest([Keep] ExecutionContext*, unsigned long identifier, network::mojom::blink::WebSocketHandshakeRequest* request);
void didReceiveWebSocketHandshakeResponse([Keep] ExecutionContext*, unsigned long identifier, network::mojom::blink::WebSocketHandshakeRequest* request, network::mojom::blink::WebSocketHandshakeResponse* response); void didReceiveWebSocketHandshakeResponse([Keep] ExecutionContext*, unsigned long identifier, network::mojom::blink::WebSocketHandshakeRequest* request, network::mojom::blink::WebSocketHandshakeResponse* response);
void didCloseWebSocket([Keep] ExecutionContext*, unsigned long identifier); void didCloseWebSocket([Keep] ExecutionContext*, unsigned long identifier);
void didReceiveWebSocketFrame(ExecutionContext*, unsigned long identifier, int opCode, bool masked, const char* payload, size_t payloadLength); void didReceiveWebSocketMessage(ExecutionContext*, unsigned long identifier, int opCode, bool masked, const char* payload, size_t payloadLength);
void didSendWebSocketFrame(ExecutionContext*, unsigned long identifier, int opCode, bool masked, const char* payload, size_t payloadLength); void didSendWebSocketMessage(ExecutionContext*, unsigned long identifier, int opCode, bool masked, const char* payload, size_t payloadLength);
void didReceiveWebSocketFrameError(ExecutionContext*, unsigned long identifier, const String& errorMessage); void didReceiveWebSocketMessageError(ExecutionContext*, unsigned long identifier, const String& errorMessage);
void networkStateChanged([Keep] LocalFrame*, bool online); void networkStateChanged([Keep] LocalFrame*, bool online);
void updateApplicationCacheStatus([Keep] LocalFrame*); void updateApplicationCacheStatus([Keep] LocalFrame*);
void layerTreeDidChange(LocalFrame*); void layerTreeDidChange(LocalFrame*);
......
...@@ -49,8 +49,8 @@ Network.NetworkItemView = class extends UI.TabbedPane { ...@@ -49,8 +49,8 @@ Network.NetworkItemView = class extends UI.TabbedPane {
if (request.resourceType() === Common.resourceTypes.WebSocket) { if (request.resourceType() === Common.resourceTypes.WebSocket) {
const frameView = new Network.ResourceWebSocketFrameView(request); const frameView = new Network.ResourceWebSocketFrameView(request);
this.appendTab( this.appendTab(
Network.NetworkItemView.Tabs.WsFrames, Common.UIString('Frames'), frameView, Network.NetworkItemView.Tabs.WsFrames, Common.UIString('Messages'), frameView,
Common.UIString('WebSocket frames')); Common.UIString('WebSocket messages'));
} else if (request.mimeType === 'text/event-stream') { } else if (request.mimeType === 'text/event-stream') {
this.appendTab( this.appendTab(
Network.NetworkItemView.Tabs.EventSource, Common.UIString('EventStream'), Network.NetworkItemView.Tabs.EventSource, Common.UIString('EventStream'),
......
...@@ -84,7 +84,7 @@ Network.ResourceWebSocketFrameView = class extends UI.VBox { ...@@ -84,7 +84,7 @@ Network.ResourceWebSocketFrameView = class extends UI.VBox {
mainContainer.setMinimumSize(0, 72); mainContainer.setMinimumSize(0, 72);
this._splitWidget.setMainWidget(mainContainer); this._splitWidget.setMainWidget(mainContainer);
this._frameEmptyWidget = new UI.EmptyWidget(Common.UIString('Select frame to browse its content.')); this._frameEmptyWidget = new UI.EmptyWidget(Common.UIString('Select message to browse its content.'));
this._splitWidget.setSidebarWidget(this._frameEmptyWidget); this._splitWidget.setSidebarWidget(this._frameEmptyWidget);
/** @type {?Network.ResourceWebSocketFrameNode} */ /** @type {?Network.ResourceWebSocketFrameNode} */
...@@ -220,11 +220,11 @@ Network.ResourceWebSocketFrameView.opCodeDescriptions = (function() { ...@@ -220,11 +220,11 @@ Network.ResourceWebSocketFrameView.opCodeDescriptions = (function() {
const opCodes = Network.ResourceWebSocketFrameView.OpCodes; const opCodes = Network.ResourceWebSocketFrameView.OpCodes;
const map = []; const map = [];
map[opCodes.ContinuationFrame] = 'Continuation Frame'; map[opCodes.ContinuationFrame] = 'Continuation Frame';
map[opCodes.TextFrame] = 'Text Frame'; map[opCodes.TextFrame] = 'Text Message';
map[opCodes.BinaryFrame] = 'Binary Frame'; map[opCodes.BinaryFrame] = 'Binary Message';
map[opCodes.ContinuationFrame] = 'Connection Close Frame'; map[opCodes.ContinuationFrame] = 'Connection Close Message';
map[opCodes.PingFrame] = 'Ping Frame'; map[opCodes.PingFrame] = 'Ping Message';
map[opCodes.PongFrame] = 'Pong Frame'; map[opCodes.PongFrame] = 'Pong Message';
return map; return map;
})(); })();
......
...@@ -278,9 +278,7 @@ bool WebSocketChannelImpl::Connect(const KURL& url, const String& protocol) { ...@@ -278,9 +278,7 @@ bool WebSocketChannelImpl::Connect(const KURL& url, const String& protocol) {
void WebSocketChannelImpl::Send(const CString& message) { void WebSocketChannelImpl::Send(const CString& message) {
NETWORK_DVLOG(1) << this << " Send(" << message << ") (CString argument)"; NETWORK_DVLOG(1) << this << " Send(" << message << ") (CString argument)";
// FIXME: Change the inspector API to show the entire message instead probe::didSendWebSocketMessage(execution_context_, identifier_,
// of individual frames.
probe::didSendWebSocketFrame(execution_context_, identifier_,
WebSocketOpCode::kOpCodeText, true, WebSocketOpCode::kOpCodeText, true,
message.data(), message.length()); message.data(), message.length());
messages_.push_back(MakeGarbageCollected<Message>(message)); messages_.push_back(MakeGarbageCollected<Message>(message));
...@@ -293,12 +291,10 @@ void WebSocketChannelImpl::Send( ...@@ -293,12 +291,10 @@ void WebSocketChannelImpl::Send(
<< blob_data_handle->GetType() << ", " << blob_data_handle->GetType() << ", "
<< blob_data_handle->size() << ") " << blob_data_handle->size() << ") "
<< "(BlobDataHandle argument)"; << "(BlobDataHandle argument)";
// FIXME: Change the inspector API to show the entire message instead
// of individual frames.
// FIXME: We can't access the data here. // FIXME: We can't access the data here.
// Since Binary data are not displayed in Inspector, this does not // Since Binary data are not displayed in Inspector, this does not
// affect actual behavior. // affect actual behavior.
probe::didSendWebSocketFrame(execution_context_, identifier_, probe::didSendWebSocketMessage(execution_context_, identifier_,
WebSocketOpCode::kOpCodeBinary, true, "", 0); WebSocketOpCode::kOpCodeBinary, true, "", 0);
messages_.push_back( messages_.push_back(
MakeGarbageCollected<Message>(std::move(blob_data_handle))); MakeGarbageCollected<Message>(std::move(blob_data_handle)));
...@@ -311,9 +307,7 @@ void WebSocketChannelImpl::Send(const DOMArrayBuffer& buffer, ...@@ -311,9 +307,7 @@ void WebSocketChannelImpl::Send(const DOMArrayBuffer& buffer,
NETWORK_DVLOG(1) << this << " Send(" << buffer.Data() << ", " << byte_offset NETWORK_DVLOG(1) << this << " Send(" << buffer.Data() << ", " << byte_offset
<< ", " << byte_length << ") " << ", " << byte_length << ") "
<< "(DOMArrayBuffer argument)"; << "(DOMArrayBuffer argument)";
// FIXME: Change the inspector API to show the entire message instead probe::didSendWebSocketMessage(
// of individual frames.
probe::didSendWebSocketFrame(
execution_context_, identifier_, WebSocketOpCode::kOpCodeBinary, true, execution_context_, identifier_, WebSocketOpCode::kOpCodeBinary, true,
static_cast<const char*>(buffer.Data()) + byte_offset, byte_length); static_cast<const char*>(buffer.Data()) + byte_offset, byte_length);
// buffer.slice copies its contents. // buffer.slice copies its contents.
...@@ -329,11 +323,9 @@ void WebSocketChannelImpl::SendTextAsCharVector( ...@@ -329,11 +323,9 @@ void WebSocketChannelImpl::SendTextAsCharVector(
NETWORK_DVLOG(1) << this << " SendTextAsCharVector(" NETWORK_DVLOG(1) << this << " SendTextAsCharVector("
<< static_cast<void*>(data.get()) << ", " << data->size() << static_cast<void*>(data.get()) << ", " << data->size()
<< ")"; << ")";
// FIXME: Change the inspector API to show the entire message instead probe::didSendWebSocketMessage(execution_context_, identifier_,
// of individual frames. WebSocketOpCode::kOpCodeText, true,
probe::didSendWebSocketFrame(execution_context_, identifier_, data->data(), data->size());
WebSocketOpCode::kOpCodeText, true, data->data(),
data->size());
messages_.push_back(MakeGarbageCollected<Message>( messages_.push_back(MakeGarbageCollected<Message>(
std::move(data), kMessageTypeTextAsCharVector)); std::move(data), kMessageTypeTextAsCharVector));
ProcessSendQueue(); ProcessSendQueue();
...@@ -344,9 +336,7 @@ void WebSocketChannelImpl::SendBinaryAsCharVector( ...@@ -344,9 +336,7 @@ void WebSocketChannelImpl::SendBinaryAsCharVector(
NETWORK_DVLOG(1) << this << " SendBinaryAsCharVector(" NETWORK_DVLOG(1) << this << " SendBinaryAsCharVector("
<< static_cast<void*>(data.get()) << ", " << data->size() << static_cast<void*>(data.get()) << ", " << data->size()
<< ")"; << ")";
// FIXME: Change the inspector API to show the entire message instead probe::didSendWebSocketMessage(execution_context_, identifier_,
// of individual frames.
probe::didSendWebSocketFrame(execution_context_, identifier_,
WebSocketOpCode::kOpCodeBinary, true, WebSocketOpCode::kOpCodeBinary, true,
data->data(), data->size()); data->data(), data->size());
messages_.push_back(MakeGarbageCollected<Message>( messages_.push_back(MakeGarbageCollected<Message>(
...@@ -367,7 +357,8 @@ void WebSocketChannelImpl::Fail(const String& reason, ...@@ -367,7 +357,8 @@ void WebSocketChannelImpl::Fail(const String& reason,
MessageLevel level, MessageLevel level,
std::unique_ptr<SourceLocation> location) { std::unique_ptr<SourceLocation> location) {
NETWORK_DVLOG(1) << this << " Fail(" << reason << ")"; NETWORK_DVLOG(1) << this << " Fail(" << reason << ")";
probe::didReceiveWebSocketFrameError(execution_context_, identifier_, reason); probe::didReceiveWebSocketMessageError(execution_context_, identifier_,
reason);
const String message = const String message =
"WebSocket connection to '" + url_.ElidedString() + "' failed: " + reason; "WebSocket connection to '" + url_.ElidedString() + "' failed: " + reason;
...@@ -659,12 +650,10 @@ void WebSocketChannelImpl::DidReceiveData(WebSocketHandle* handle, ...@@ -659,12 +650,10 @@ void WebSocketChannelImpl::DidReceiveData(WebSocketHandle* handle,
if (!fin) { if (!fin) {
return; return;
} }
// FIXME: Change the inspector API to show the entire message instead
// of individual frames.
auto opcode = receiving_message_type_is_text_ auto opcode = receiving_message_type_is_text_
? WebSocketOpCode::kOpCodeText ? WebSocketOpCode::kOpCodeText
: WebSocketOpCode::kOpCodeBinary; : WebSocketOpCode::kOpCodeBinary;
probe::didReceiveWebSocketFrame(execution_context_, identifier_, opcode, probe::didReceiveWebSocketMessage(execution_context_, identifier_, opcode,
false, receiving_message_data_.data(), false, receiving_message_data_.data(),
receiving_message_data_.size()); receiving_message_data_.size());
if (receiving_message_type_is_text_) { if (receiving_message_type_is_text_) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment