Index: Source/modules/websockets/MainThreadWebSocketChannel.cpp |
diff --git a/Source/modules/websockets/MainThreadWebSocketChannel.cpp b/Source/modules/websockets/MainThreadWebSocketChannel.cpp |
index 2d2b76a658776388112c4ae178c44a02964160df..ed7adbdfb02a9d6de2518971728ff3db4aca3c4c 100644 |
--- a/Source/modules/websockets/MainThreadWebSocketChannel.cpp |
+++ b/Source/modules/websockets/MainThreadWebSocketChannel.cpp |
@@ -97,6 +97,9 @@ bool MainThreadWebSocketChannel::connect(const KURL& url, const String& protocol |
if (m_document->frame() && !m_document->frame()->loader().mixedContentChecker()->canConnectInsecureWebSocket(m_document->securityOrigin(), url)) |
return false; |
+ Frame* top = m_document->frame()->tree().top(); |
+ if (top != m_document->frame() && !toLocalFrame(top)->loader().mixedContentChecker()->canConnectInsecureWebSocket(toLocalFrame(top)->document()->securityOrigin(), url)) |
+ return false; |
if (MixedContentChecker::isMixedContent(m_document->securityOrigin(), url)) { |
String message = "Connecting to a non-secure WebSocket server from a secure origin is deprecated."; |
m_document->addConsoleMessage(JSMessageSource, WarningMessageLevel, message); |