diff options
Diffstat (limited to 'Userland/Applications/Browser/CookieJar.cpp')
-rw-r--r-- | Userland/Applications/Browser/CookieJar.cpp | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/Userland/Applications/Browser/CookieJar.cpp b/Userland/Applications/Browser/CookieJar.cpp index 6b8e07f488..6122f9774f 100644 --- a/Userland/Applications/Browser/CookieJar.cpp +++ b/Userland/Applications/Browser/CookieJar.cpp @@ -56,17 +56,13 @@ String CookieJar::get_cookie(const URL& url, Web::Cookie::Source source) return builder.build(); } -void CookieJar::set_cookie(const URL& url, const String& cookie_string, Web::Cookie::Source source) +void CookieJar::set_cookie(const URL& url, const Web::Cookie::ParsedCookie& parsed_cookie, Web::Cookie::Source source) { auto domain = canonicalize_domain(url); if (!domain.has_value()) return; - auto parsed_cookie = Web::Cookie::parse_cookie(cookie_string); - if (!parsed_cookie.has_value()) - return; - - store_cookie(parsed_cookie.value(), url, move(domain.value()), source); + store_cookie(parsed_cookie, url, move(domain.value()), source); purge_expired_cookies(); } @@ -176,12 +172,12 @@ String CookieJar::default_path(const URL& url) return uri_path.substring(0, last_separator); } -void CookieJar::store_cookie(Web::Cookie::ParsedCookie& parsed_cookie, const URL& url, String canonicalized_domain, Web::Cookie::Source source) +void CookieJar::store_cookie(const Web::Cookie::ParsedCookie& parsed_cookie, const URL& url, String canonicalized_domain, Web::Cookie::Source source) { // https://tools.ietf.org/html/rfc6265#section-5.3 // 2. Create a new cookie with name cookie-name, value cookie-value. Set the creation-time and the last-access-time to the current date and time. - Web::Cookie::Cookie cookie { move(parsed_cookie.name), move(parsed_cookie.value) }; + Web::Cookie::Cookie cookie { parsed_cookie.name, parsed_cookie.value }; cookie.creation_time = Core::DateTime::now(); cookie.last_access_time = cookie.creation_time; @@ -189,12 +185,12 @@ void CookieJar::store_cookie(Web::Cookie::ParsedCookie& parsed_cookie, const URL // 3. If the cookie-attribute-list contains an attribute with an attribute-name of "Max-Age": Set the cookie's persistent-flag to true. // Set the cookie's expiry-time to attribute-value of the last attribute in the cookie-attribute-list with an attribute-name of "Max-Age". cookie.persistent = true; - cookie.expiry_time = move(parsed_cookie.expiry_time_from_max_age_attribute.value()); + cookie.expiry_time = parsed_cookie.expiry_time_from_max_age_attribute.value(); } else if (parsed_cookie.expiry_time_from_expires_attribute.has_value()) { // If the cookie-attribute-list contains an attribute with an attribute-name of "Expires": Set the cookie's persistent-flag to true. // Set the cookie's expiry-time to attribute-value of the last attribute in the cookie-attribute-list with an attribute-name of "Expires". cookie.persistent = true; - cookie.expiry_time = move(parsed_cookie.expiry_time_from_expires_attribute.value()); + cookie.expiry_time = parsed_cookie.expiry_time_from_expires_attribute.value(); } else { // Set the cookie's persistent-flag to false. Set the cookie's expiry-time to the latest representable gddate. cookie.persistent = false; @@ -204,7 +200,7 @@ void CookieJar::store_cookie(Web::Cookie::ParsedCookie& parsed_cookie, const URL // 4. If the cookie-attribute-list contains an attribute with an attribute-name of "Domain": if (parsed_cookie.domain.has_value()) { // Let the domain-attribute be the attribute-value of the last attribute in the cookie-attribute-list with an attribute-name of "Domain". - cookie.domain = move(parsed_cookie.domain.value()); + cookie.domain = parsed_cookie.domain.value(); } // 5. If the user agent is configured to reject "public suffixes" and the domain-attribute is a public suffix: @@ -227,7 +223,7 @@ void CookieJar::store_cookie(Web::Cookie::ParsedCookie& parsed_cookie, const URL // 7. If the cookie-attribute-list contains an attribute with an attribute-name of "Path": if (parsed_cookie.path.has_value()) { // Set the cookie's path to attribute-value of the last attribute in the cookie-attribute-list with an attribute-name of "Path". - cookie.path = move(parsed_cookie.path.value()); + cookie.path = parsed_cookie.path.value(); } else { cookie.path = default_path(url); } |