Index: third_party/WebKit/Source/core/inspector/InspectorNetworkAgent.cpp |
diff --git a/third_party/WebKit/Source/core/inspector/InspectorNetworkAgent.cpp b/third_party/WebKit/Source/core/inspector/InspectorNetworkAgent.cpp |
index 31a9361ad76df2c9c4d11df5a99457d277fcd189..9256452ebb6f7c3f917b56581a8d45a033a9262d 100644 |
--- a/third_party/WebKit/Source/core/inspector/InspectorNetworkAgent.cpp |
+++ b/third_party/WebKit/Source/core/inspector/InspectorNetworkAgent.cpp |
@@ -819,9 +819,18 @@ std::unique_ptr<protocol::Network::Initiator> InspectorNetworkAgent::buildInitia |
.setType(protocol::Network::Initiator::TypeEnum::Other).build(); |
} |
-void InspectorNetworkAgent::didCreateWebSocket(Document*, unsigned long identifier, const KURL& requestURL, const String&) |
+void InspectorNetworkAgent::didCreateWebSocket(Document* document, unsigned long identifier, const KURL& requestURL, const String&) |
{ |
- frontend()->webSocketCreated(IdentifiersFactory::requestId(identifier), urlWithoutFragment(requestURL).getString()); |
+ std::unique_ptr<protocol::Runtime::StackTrace> currentStackTrace = SourceLocation::capture(document)->buildInspectorObject(); |
+ if (!currentStackTrace) { |
+ frontend()->webSocketCreated(IdentifiersFactory::requestId(identifier), urlWithoutFragment(requestURL).getString()); |
+ return; |
+ } |
+ |
+ std::unique_ptr<protocol::Network::Initiator> initiatorObject = protocol::Network::Initiator::create() |
+ .setType(protocol::Network::Initiator::TypeEnum::Script).build(); |
+ initiatorObject->setStack(std::move(currentStackTrace)); |
+ frontend()->webSocketCreated(IdentifiersFactory::requestId(identifier), urlWithoutFragment(requestURL).getString(), std::move(initiatorObject)); |
} |
void InspectorNetworkAgent::willSendWebSocketHandshakeRequest(Document*, unsigned long identifier, const WebSocketHandshakeRequest* request) |