diff --git a/Userland/Applications/Browser/WebDriverConnection.cpp b/Userland/Applications/Browser/WebDriverConnection.cpp index aefae0f910..606cbabe49 100644 --- a/Userland/Applications/Browser/WebDriverConnection.cpp +++ b/Userland/Applications/Browser/WebDriverConnection.cpp @@ -95,4 +95,14 @@ Messages::WebDriverSessionClient::GetNamedCookieResponse WebDriverConnection::ge return { {} }; } +void WebDriverConnection::update_cookie(Web::Cookie::Cookie const& cookie) +{ + if (auto browser_window = m_browser_window.strong_ref()) { + auto& tab = browser_window->active_tab(); + if (tab.on_update_cookie) { + tab.on_update_cookie(tab.url(), cookie); + } + } +} + } diff --git a/Userland/Applications/Browser/WebDriverConnection.h b/Userland/Applications/Browser/WebDriverConnection.h index d5ec25e689..138f914add 100644 --- a/Userland/Applications/Browser/WebDriverConnection.h +++ b/Userland/Applications/Browser/WebDriverConnection.h @@ -45,6 +45,7 @@ public: virtual void forward() override; virtual Messages::WebDriverSessionClient::GetAllCookiesResponse get_all_cookies() override; virtual Messages::WebDriverSessionClient::GetNamedCookieResponse get_named_cookie(String const& name) override; + virtual void update_cookie(Web::Cookie::Cookie const&) override; private: WebDriverConnection(NonnullOwnPtr socket, NonnullRefPtr browser_window); diff --git a/Userland/Applications/Browser/WebDriverSessionClient.ipc b/Userland/Applications/Browser/WebDriverSessionClient.ipc index 291a74beb6..f45e3f0266 100644 --- a/Userland/Applications/Browser/WebDriverSessionClient.ipc +++ b/Userland/Applications/Browser/WebDriverSessionClient.ipc @@ -13,5 +13,6 @@ endpoint WebDriverSessionClient { forward() =| get_all_cookies() => (Vector cookies) get_named_cookie(String name) => (Optional cookie) + update_cookie(Web::Cookie::Cookie cookie) =| }