mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-12-08 06:09:58 +00:00
Ladybird+Userland: Remove use of unnecessary fd passing socket concept
Now that LibIPC is using SCM_RIGHTS properly, we can go back to only having one socket laying around when needing to transfer fds to peers.
This commit is contained in:
parent
cb87725ec8
commit
5e1d678bae
Notes:
sideshowbarker
2024-07-16 23:38:54 +09:00
Author: https://github.com/ADKaster
Commit: 5e1d678bae
Pull-request: https://github.com/SerenityOS/serenity/pull/24025
Issue: https://github.com/SerenityOS/serenity/issues/22357
Reviewed-by: https://github.com/trflynn89 ✅
32 changed files with 61 additions and 236 deletions
|
|
@ -51,7 +51,7 @@
|
|||
|
||||
static ErrorOr<void> load_content_filters();
|
||||
static ErrorOr<void> load_autoplay_allowlist();
|
||||
static ErrorOr<void> initialize_lagom_networking(int request_server_socket, int request_server_fd_passing_socket);
|
||||
static ErrorOr<void> initialize_lagom_networking(int request_server_socket);
|
||||
|
||||
namespace JS {
|
||||
extern bool g_log_all_js_exceptions;
|
||||
|
|
@ -92,9 +92,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
|
|||
StringView executable_path {};
|
||||
StringView mach_server_name {};
|
||||
Vector<ByteString> certificates;
|
||||
int webcontent_fd_passing_socket { -1 };
|
||||
int request_server_socket { -1 };
|
||||
int request_server_fd_passing_socket { -1 };
|
||||
bool is_layout_test_mode = false;
|
||||
bool use_lagom_networking = false;
|
||||
bool use_gpu_painting = false;
|
||||
|
|
@ -105,9 +103,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
|
|||
Core::ArgsParser args_parser;
|
||||
args_parser.add_option(command_line, "Chrome process command line", "command-line", 0, "command_line");
|
||||
args_parser.add_option(executable_path, "Chrome process executable path", "executable-path", 0, "executable_path");
|
||||
args_parser.add_option(webcontent_fd_passing_socket, "File descriptor of the passing socket for the WebContent connection", "webcontent-fd-passing-socket", 'c', "webcontent_fd_passing_socket");
|
||||
args_parser.add_option(request_server_socket, "File descriptor of the socket for the RequestServer connection", "request-server-socket", 'r', "request_server_socket");
|
||||
args_parser.add_option(request_server_fd_passing_socket, "File descriptor of the fd passing socket for the RequestServer connection", "request-server-fd-passing-socket", 'f', "request_server_fd_passing_socket");
|
||||
args_parser.add_option(is_layout_test_mode, "Is layout test mode", "layout-test-mode", 0);
|
||||
args_parser.add_option(use_lagom_networking, "Enable Lagom servers for networking", "use-lagom-networking", 0);
|
||||
args_parser.add_option(use_gpu_painting, "Enable GPU painting", "use-gpu-painting", 0);
|
||||
|
|
@ -139,12 +135,10 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
|
|||
Web::ResourceLoader::initialize(Ladybird::RequestManagerQt::create());
|
||||
else
|
||||
#endif
|
||||
TRY(initialize_lagom_networking(request_server_socket, request_server_fd_passing_socket));
|
||||
TRY(initialize_lagom_networking(request_server_socket));
|
||||
|
||||
Web::HTML::Window::set_internals_object_exposed(is_layout_test_mode);
|
||||
|
||||
VERIFY(webcontent_fd_passing_socket >= 0);
|
||||
|
||||
Web::Platform::FontPlugin::install(*new Ladybird::FontPlugin(is_layout_test_mode));
|
||||
|
||||
TRY(Web::Bindings::initialize_main_thread_vm());
|
||||
|
|
@ -167,7 +161,6 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
|
|||
|
||||
auto webcontent_socket = TRY(Core::take_over_socket_from_system_server("WebContent"sv));
|
||||
auto webcontent_client = TRY(WebContent::ConnectionFromClient::try_create(move(webcontent_socket)));
|
||||
webcontent_client->set_fd_passing_socket(TRY(Core::LocalSocket::adopt_fd(webcontent_fd_passing_socket)));
|
||||
|
||||
return event_loop.exec();
|
||||
}
|
||||
|
|
@ -220,13 +213,12 @@ static ErrorOr<void> load_autoplay_allowlist()
|
|||
return {};
|
||||
}
|
||||
|
||||
ErrorOr<void> initialize_lagom_networking(int request_server_socket, int request_server_fd_passing_socket)
|
||||
ErrorOr<void> initialize_lagom_networking(int request_server_socket)
|
||||
{
|
||||
auto socket = TRY(Core::LocalSocket::adopt_fd(request_server_socket));
|
||||
TRY(socket->set_blocking(true));
|
||||
|
||||
auto new_client = TRY(try_make_ref_counted<Protocol::RequestClient>(move(socket)));
|
||||
new_client->set_fd_passing_socket(TRY(Core::LocalSocket::adopt_fd(request_server_fd_passing_socket)));
|
||||
|
||||
Web::ResourceLoader::initialize(TRY(WebView::RequestServerAdapter::try_create(move(new_client))));
|
||||
return {};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue