1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-14 08:04:57 +00:00

LibWeb+WebContent: Spawn Worker processes from the chrome

Instead of spawning these processes from the WebContent process, we now
create them in the Browser chrome.

Part 1/N of "all processes are owned by the chrome".
This commit is contained in:
Andrew Kaster 2024-01-06 13:13:59 -07:00 committed by Andrew Kaster
parent 6ea4c248ab
commit 02edd240ae
26 changed files with 152 additions and 99 deletions

View file

@ -21,6 +21,7 @@
#include <LibWeb/Painting/ViewportPaintable.h>
#include <LibWeb/Platform/Timer.h>
#include <LibWebView/Attribute.h>
#include <LibWebView/SocketPair.h>
#include <WebContent/ConnectionFromClient.h>
#include <WebContent/PageClient.h>
#include <WebContent/PageHost.h>
@ -561,6 +562,17 @@ void PageClient::page_did_insert_clipboard_entry(String data, String presentatio
client().async_did_insert_clipboard_entry(move(data), move(presentation_style), move(mime_type));
}
WebView::SocketPair PageClient::request_worker_agent()
{
auto response = client().send_sync_but_allow_failure<Messages::WebContentClient::RequestWorkerAgent>();
if (!response) {
dbgln("WebContent client disconnected during RequestWorkerAgent. Exiting peacefully.");
exit(0);
}
return response->take_sockets();
}
void PageClient::inspector_did_load()
{
client().async_inspector_did_load();