From 4ccc52e921a5b17c6f6ec67dec7c0dff46ac7884 Mon Sep 17 00:00:00 2001 From: Tim Ledbetter Date: Wed, 25 Sep 2024 09:57:57 +0100 Subject: [PATCH] LibWeb/WebSocket: Allow sending binary blob data over a websocket --- Userland/Libraries/LibWeb/WebSockets/WebSocket.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Userland/Libraries/LibWeb/WebSockets/WebSocket.cpp b/Userland/Libraries/LibWeb/WebSockets/WebSocket.cpp index 55c67ae8f6b..8b136dac847 100644 --- a/Userland/Libraries/LibWeb/WebSockets/WebSocket.cpp +++ b/Userland/Libraries/LibWeb/WebSockets/WebSocket.cpp @@ -287,7 +287,11 @@ void WebSocket::on_message(ByteBuffer message, bool is_text) if (m_binary_type == "blob") { // type indicates that the data is Binary and binaryType is "blob" - TODO(); + HTML::MessageEventInit event_init; + event_init.data = FileAPI::Blob::create(realm(), message, "text/plain;charset=utf-8"_string); + event_init.origin = url().release_value_but_fixme_should_propagate_errors(); + dispatch_event(HTML::MessageEvent::create(realm(), HTML::EventNames::message, event_init)); + return; } else if (m_binary_type == "arraybuffer") { // type indicates that the data is Binary and binaryType is "arraybuffer" HTML::MessageEventInit event_init;