LibWeb: Implement CookieStore::get(name)

This commit is contained in:
Idan Horowitz 2025-08-05 23:05:45 +03:00 committed by Tim Flynn
parent dc1b7b1925
commit 5545d38d7a
Notes: github-actions[bot] 2025-08-08 17:12:25 +00:00
14 changed files with 174 additions and 17 deletions

View file

@ -482,9 +482,14 @@ void PageClient::page_did_change_favicon(Gfx::Bitmap const& favicon)
client().async_did_change_favicon(m_id, favicon.to_shareable_bitmap());
}
Vector<Web::Cookie::Cookie> PageClient::page_did_request_all_cookies(URL::URL const& url)
Vector<Web::Cookie::Cookie> PageClient::page_did_request_all_cookies_webdriver(URL::URL const& url)
{
return client().did_request_all_cookies(url);
return client().did_request_all_cookies_webdriver(url);
}
Vector<Web::Cookie::Cookie> PageClient::page_did_request_all_cookies_cookiestore(URL::URL const& url)
{
return client().did_request_all_cookies_cookiestore(url);
}
Optional<Web::Cookie::Cookie> PageClient::page_did_request_named_cookie(URL::URL const& url, String const& name)

View file

@ -143,7 +143,8 @@ private:
virtual void page_did_request_accept_dialog() override;
virtual void page_did_request_dismiss_dialog() override;
virtual void page_did_change_favicon(Gfx::Bitmap const&) override;
virtual Vector<Web::Cookie::Cookie> page_did_request_all_cookies(URL::URL const&) override;
virtual Vector<Web::Cookie::Cookie> page_did_request_all_cookies_webdriver(URL::URL const&) override;
virtual Vector<Web::Cookie::Cookie> page_did_request_all_cookies_cookiestore(URL::URL const&) override;
virtual Optional<Web::Cookie::Cookie> page_did_request_named_cookie(URL::URL const&, String const&) override;
virtual String page_did_request_cookie(URL::URL const&, Web::Cookie::Source) override;
virtual void page_did_set_cookie(URL::URL const&, Web::Cookie::ParsedCookie const&, Web::Cookie::Source) override;

View file

@ -72,7 +72,8 @@ endpoint WebContentClient
did_get_internal_page_info(u64 page_id, WebView::PageInfoType type, String info) =|
did_change_favicon(u64 page_id, Gfx::ShareableBitmap favicon) =|
did_request_all_cookies(URL::URL url) => (Vector<Web::Cookie::Cookie> cookies)
did_request_all_cookies_webdriver(URL::URL url) => (Vector<Web::Cookie::Cookie> cookies)
did_request_all_cookies_cookiestore(URL::URL url) => (Vector<Web::Cookie::Cookie> cookies)
did_request_named_cookie(URL::URL url, String name) => (Optional<Web::Cookie::Cookie> cookie)
did_request_cookie(URL::URL url, Web::Cookie::Source source) => (String cookie)
did_set_cookie(URL::URL url, Web::Cookie::ParsedCookie cookie, Web::Cookie::Source source) => ()

View file

@ -2148,7 +2148,7 @@ Messages::WebDriverClient::GetAllCookiesResponse WebDriverConnection::get_all_co
// 4. For each cookie in all associated cookies of the current browsing contexts active document:
auto* document = current_browsing_context().active_document();
for (auto const& cookie : current_browsing_context().page().client().page_did_request_all_cookies(document->url())) {
for (auto const& cookie : current_browsing_context().page().client().page_did_request_all_cookies_webdriver(document->url())) {
// 1. Let serialized cookie be the result of serializing cookie.
auto serialized_cookie = serialize_cookie(cookie);
@ -3070,7 +3070,7 @@ void WebDriverConnection::delete_cookies(Optional<StringView> const& name)
// For each cookie among all associated cookies of the current browsing contexts active document, un the substeps of the first matching condition:
auto* document = current_browsing_context().active_document();
for (auto& cookie : current_browsing_context().page().client().page_did_request_all_cookies(document->url())) {
for (auto& cookie : current_browsing_context().page().client().page_did_request_all_cookies_webdriver(document->url())) {
// -> name is undefined
// -> name is equal to cookie name
if (!name.has_value() || name.value() == cookie.name) {