From dcd9962d7ba93f514609b4be577937483b3d1e03 Mon Sep 17 00:00:00 2001 From: Timothy Flynn Date: Fri, 26 Jan 2024 11:06:23 -0500 Subject: [PATCH] Browser: Remove some needless indirection from Cookie-related IPCs We don't need to forward Cookie-related IPCs from the WebView through the Tab to the BrowserWindow. We can skip the Tab like we do in other chromes. This is primarily to reduce overhead when changing Cookie IPCs in future patches. --- .../Applications/Browser/BrowserWindow.cpp | 20 ++++-------- Userland/Applications/Browser/Tab.cpp | 32 ++----------------- Userland/Applications/Browser/Tab.h | 6 ---- 3 files changed, 9 insertions(+), 49 deletions(-) diff --git a/Userland/Applications/Browser/BrowserWindow.cpp b/Userland/Applications/Browser/BrowserWindow.cpp index 3fca0fe607..47659ae462 100644 --- a/Userland/Applications/Browser/BrowserWindow.cpp +++ b/Userland/Applications/Browser/BrowserWindow.cpp @@ -361,9 +361,7 @@ void BrowserWindow::build_menus(StringView const man_file) active_tab().m_history.dump(); })); debug_menu->add_action(GUI::Action::create("Dump C&ookies", g_icon_bag.cookie, [this](auto&) { - auto& tab = active_tab(); - if (tab.on_dump_cookies) - tab.on_dump_cookies(); + m_cookie_jar.dump_cookies(); })); debug_menu->add_action(GUI::Action::create("Dump Loc&al Storage", g_icon_bag.local_storage, [this](auto&) { active_tab().view().debug_request("dump-local-storage"); @@ -578,28 +576,24 @@ Tab& BrowserWindow::create_new_tab(URL const& url, Web::HTML::ActivateTab activa create_new_window(url); }; - new_tab.on_get_all_cookies = [this](auto& url) { + new_tab.view().on_get_all_cookies = [this](auto& url) { return m_cookie_jar.get_all_cookies(url); }; - new_tab.on_get_named_cookie = [this](auto& url, auto& name) { + new_tab.view().on_get_named_cookie = [this](auto& url, auto& name) { return m_cookie_jar.get_named_cookie(url, name); }; - new_tab.on_get_cookie = [this](auto& url, auto source) -> ByteString { + new_tab.view().on_get_cookie = [this](auto& url, auto source) { return m_cookie_jar.get_cookie(url, source); }; - new_tab.on_set_cookie = [this](auto& url, auto& cookie, auto source) { + new_tab.view().on_set_cookie = [this](auto& url, auto& cookie, auto source) { m_cookie_jar.set_cookie(url, cookie, source); }; - new_tab.on_dump_cookies = [this]() { - m_cookie_jar.dump_cookies(); - }; - - new_tab.on_update_cookie = [this](auto cookie) { - m_cookie_jar.update_cookie(move(cookie)); + new_tab.view().on_update_cookie = [this](auto const& cookie) { + m_cookie_jar.update_cookie(cookie); }; new_tab.on_get_cookies_entries = [this]() { diff --git a/Userland/Applications/Browser/Tab.cpp b/Userland/Applications/Browser/Tab.cpp index 9872b2507b..a947ab05b9 100644 --- a/Userland/Applications/Browser/Tab.cpp +++ b/Userland/Applications/Browser/Tab.cpp @@ -479,34 +479,6 @@ Tab::Tab(BrowserWindow& window) on_favicon_change(icon); }; - view().on_get_all_cookies = [this](auto& url) -> Vector { - if (on_get_all_cookies) - return on_get_all_cookies(url); - return {}; - }; - - view().on_get_named_cookie = [this](auto& url, auto& name) -> Optional { - if (on_get_named_cookie) - return on_get_named_cookie(url, name); - return {}; - }; - - view().on_get_cookie = [this](auto& url, auto source) -> ByteString { - if (on_get_cookie) - return on_get_cookie(url, source); - return {}; - }; - - view().on_set_cookie = [this](auto& url, auto& cookie, auto source) { - if (on_set_cookie) - on_set_cookie(url, cookie, source); - }; - - view().on_update_cookie = [this](auto& cookie) { - if (on_update_cookie) - on_update_cookie(cookie); - }; - view().on_request_alert = [this](String const& message) { auto& window = this->window(); @@ -975,8 +947,8 @@ void Tab::show_storage_inspector() storage_window->set_icon(g_icon_bag.cookie); m_storage_widget = storage_window->set_main_widget(); m_storage_widget->on_update_cookie = [this](Web::Cookie::Cookie cookie) { - if (on_update_cookie) - on_update_cookie(move(cookie)); + if (view().on_update_cookie) + view().on_update_cookie(move(cookie)); }; } diff --git a/Userland/Applications/Browser/Tab.h b/Userland/Applications/Browser/Tab.h index eeec025727..e6b7c08af3 100644 --- a/Userland/Applications/Browser/Tab.h +++ b/Userland/Applications/Browser/Tab.h @@ -70,12 +70,6 @@ public: Function on_tab_close_other_request; Function on_window_open_request; Function on_favicon_change; - Function(AK::URL const& url)> on_get_all_cookies; - Function(AK::URL const& url, ByteString const& name)> on_get_named_cookie; - Function on_get_cookie; - Function on_set_cookie; - Function on_dump_cookies; - Function on_update_cookie; Function()> on_get_cookies_entries; Function()> on_get_local_storage_entries; Function()> on_get_session_storage_entries;