diff --git a/Userland/Libraries/LibWeb/HTML/MessagePort.cpp b/Userland/Libraries/LibWeb/HTML/MessagePort.cpp
index 2f5c9b0516..9c95839ce0 100644
--- a/Userland/Libraries/LibWeb/HTML/MessagePort.cpp
+++ b/Userland/Libraries/LibWeb/HTML/MessagePort.cpp
@@ -80,12 +80,12 @@ WebIDL::ExceptionOr MessagePort::transfer_steps(HTML::TransferDataHolder&
// 2. Set dataHolder.[[RemotePort]] to remotePort.
auto fd = MUST(m_socket->release_fd());
m_socket = nullptr;
- data_holder.fds.append(fd);
+ data_holder.fds.append(IPC::File(fd, IPC::File::CloseAfterSending));
data_holder.data.append(IPC_FILE_TAG);
auto fd_passing_socket = MUST(m_fd_passing_socket->release_fd());
m_fd_passing_socket = nullptr;
- data_holder.fds.append(fd_passing_socket);
+ data_holder.fds.append(IPC::File(fd_passing_socket, IPC::File::CloseAfterSending));
data_holder.data.append(IPC_FILE_TAG);
}
diff --git a/Userland/Libraries/LibWeb/Worker/WebWorkerClient.cpp b/Userland/Libraries/LibWeb/Worker/WebWorkerClient.cpp
index 02d85764b3..418f97fd57 100644
--- a/Userland/Libraries/LibWeb/Worker/WebWorkerClient.cpp
+++ b/Userland/Libraries/LibWeb/Worker/WebWorkerClient.cpp
@@ -22,8 +22,8 @@ WebWorkerClient::WebWorkerClient(NonnullOwnPtr socket)
WebView::SocketPair WebWorkerClient::dup_sockets()
{
WebView::SocketPair pair;
- pair.socket = MUST(Core::System::dup(socket().fd().value()));
- pair.fd_passing_socket = MUST(Core::System::dup(fd_passing_socket().fd().value()));
+ pair.socket = IPC::File(MUST(Core::System::dup(socket().fd().value())), IPC::File::CloseAfterSending);
+ pair.fd_passing_socket = IPC::File(MUST(Core::System::dup(fd_passing_socket().fd().value())), IPC::File::CloseAfterSending);
return pair;
}