Title: [230042] trunk/Source/WebCore
Revision
230042
Author
cdu...@apple.com
Date
2018-03-28 13:17:04 -0700 (Wed, 28 Mar 2018)

Log Message

WebSocket::didReceiveMessage() may construct a SecurityOrigin object on a non-main thread
https://bugs.webkit.org/show_bug.cgi?id=184068

Reviewed by Youenn Fablet.

WebSocket::didReceiveMessage() may construct a SecurityOrigin object on a non-main thread,
which is not safe. We now use SecurityOriginData since we only need an origin String and
it is safe to construct a SecurityOriginData on any thread.

* Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::didReceiveMessage):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (230041 => 230042)


--- trunk/Source/WebCore/ChangeLog	2018-03-28 20:11:47 UTC (rev 230041)
+++ trunk/Source/WebCore/ChangeLog	2018-03-28 20:17:04 UTC (rev 230042)
@@ -1,3 +1,17 @@
+2018-03-28  Chris Dumez  <cdu...@apple.com>
+
+        WebSocket::didReceiveMessage() may construct a SecurityOrigin object on a non-main thread
+        https://bugs.webkit.org/show_bug.cgi?id=184068
+
+        Reviewed by Youenn Fablet.
+
+        WebSocket::didReceiveMessage() may construct a SecurityOrigin object on a non-main thread,
+        which is not safe. We now use SecurityOriginData since we only need an origin String and
+        it is safe to construct a SecurityOriginData on any thread.
+
+        * Modules/websockets/WebSocket.cpp:
+        (WebCore::WebSocket::didReceiveMessage):
+
 2018-03-28  Wenson Hsieh  <wenson_hs...@apple.com>
 
         [Extra zoom mode] Make boosted text autosizing values switchable at runtime

Modified: trunk/Source/WebCore/Modules/websockets/WebSocket.cpp (230041 => 230042)


--- trunk/Source/WebCore/Modules/websockets/WebSocket.cpp	2018-03-28 20:11:47 UTC (rev 230041)
+++ trunk/Source/WebCore/Modules/websockets/WebSocket.cpp	2018-03-28 20:17:04 UTC (rev 230042)
@@ -572,7 +572,7 @@
     if (m_state != OPEN)
         return;
     ASSERT(scriptExecutionContext());
-    dispatchEvent(MessageEvent::create(msg, SecurityOrigin::create(m_url)->toString()));
+    dispatchEvent(MessageEvent::create(msg, SecurityOriginData::fromURL(m_url).toString()));
 }
 
 void WebSocket::didReceiveBinaryData(Vector<uint8_t>&& binaryData)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to