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 c5da44c330863475b92a9dc32750a6e629668d1c..3df4c330b6111f85c456c3c371d81865996e15fd 100644 |
--- a/third_party/WebKit/Source/core/inspector/InspectorNetworkAgent.cpp |
+++ b/third_party/WebKit/Source/core/inspector/InspectorNetworkAgent.cpp |
@@ -858,9 +858,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) |