From 44d6601dc5fb3e82a048fd3c0d2e6b8172cf3dff Mon Sep 17 00:00:00 2001 From: Timothy Flynn Date: Wed, 13 Nov 2024 16:08:08 -0500 Subject: [PATCH] LibWebView+UI: Handle worker agent requests from within LibWebView There is no longer any UI-specific facilities needed to launch a worker agent. --- Libraries/LibWebView/ViewImplementation.h | 1 - Libraries/LibWebView/WebContentClient.cpp | 5 +++-- UI/AppKit/Interface/LadybirdWebView.mm | 6 ------ UI/Headless/HeadlessWebView.cpp | 5 ----- UI/Qt/WebContentView.cpp | 5 ----- 5 files changed, 3 insertions(+), 19 deletions(-) diff --git a/Libraries/LibWebView/ViewImplementation.h b/Libraries/LibWebView/ViewImplementation.h index 7bb9500432a..56c051dc7d4 100644 --- a/Libraries/LibWebView/ViewImplementation.h +++ b/Libraries/LibWebView/ViewImplementation.h @@ -230,7 +230,6 @@ public: Function on_inspector_requested_cookie_context_menu; Function on_inspector_executed_console_script; Function on_inspector_exported_inspector_html; - Function on_request_worker_agent; virtual Web::DevicePixelSize viewport_size() const = 0; virtual Gfx::IntPoint to_content_position(Gfx::IntPoint widget_position) const = 0; diff --git a/Libraries/LibWebView/WebContentClient.cpp b/Libraries/LibWebView/WebContentClient.cpp index 5c9e4376ee1..81dc1c554e6 100644 --- a/Libraries/LibWebView/WebContentClient.cpp +++ b/Libraries/LibWebView/WebContentClient.cpp @@ -9,6 +9,7 @@ #include "ViewImplementation.h" #include #include +#include namespace WebView { @@ -667,8 +668,8 @@ void WebContentClient::inspector_did_export_inspector_html(u64 page_id, String c Messages::WebContentClient::RequestWorkerAgentResponse WebContentClient::request_worker_agent(u64 page_id) { if (auto view = view_for_page_id(page_id); view.has_value()) { - if (view->on_request_worker_agent) - return view->on_request_worker_agent(); + auto worker_client = MUST(WebView::launch_web_worker_process()); + return worker_client->clone_transport(); } return IPC::File {}; diff --git a/UI/AppKit/Interface/LadybirdWebView.mm b/UI/AppKit/Interface/LadybirdWebView.mm index 631ae6e0a7f..055a4c42ce3 100644 --- a/UI/AppKit/Interface/LadybirdWebView.mm +++ b/UI/AppKit/Interface/LadybirdWebView.mm @@ -12,7 +12,6 @@ #include #include #include -#include #include #include #include @@ -345,11 +344,6 @@ static void copy_data_to_clipboard(StringView data, NSPasteboardType pasteboard_ return [self.observer onCreateNewTab:{} activateTab:activate_tab]; }; - m_web_view_bridge->on_request_worker_agent = []() { - auto worker_client = MUST(WebView::launch_web_worker_process()); - return worker_client->clone_transport(); - }; - m_web_view_bridge->on_activate_tab = [weak_self]() { LadybirdWebView* self = weak_self; if (self == nil) { diff --git a/UI/Headless/HeadlessWebView.cpp b/UI/Headless/HeadlessWebView.cpp index 8116a9b858d..a6f51d5a329 100644 --- a/UI/Headless/HeadlessWebView.cpp +++ b/UI/Headless/HeadlessWebView.cpp @@ -30,11 +30,6 @@ HeadlessWebView::HeadlessWebView(Core::AnonymousBuffer theme, Web::DevicePixelSi return web_view.handle(); }; - on_request_worker_agent = []() { - auto worker_client = MUST(WebView::launch_web_worker_process()); - return worker_client->clone_transport(); - }; - on_reposition_window = [this](auto position) { client().async_set_window_position(m_client_state.page_index, position.template to_type()); diff --git a/UI/Qt/WebContentView.cpp b/UI/Qt/WebContentView.cpp index a3f871458d3..4f0f65b4080 100644 --- a/UI/Qt/WebContentView.cpp +++ b/UI/Qt/WebContentView.cpp @@ -126,11 +126,6 @@ WebContentView::WebContentView(QWidget* window, RefPtrclone_transport(); - }; - m_select_dropdown = new QMenu("Select Dropdown", this); QObject::connect(m_select_dropdown, &QMenu::aboutToHide, this, [this]() { if (!m_select_dropdown->activeAction())