1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 17:17:44 +00:00

LibWeb: Parse SameSite cookie attribute

This commit is contained in:
Smrtnyk 2022-10-21 13:00:04 +02:00 committed by Linus Groh
parent a534e61b44
commit b08ae57b23
4 changed files with 55 additions and 0 deletions

View file

@ -8,6 +8,25 @@
#include <LibIPC/Decoder.h>
#include <LibIPC/Encoder.h>
namespace Web::Cookie {
StringView same_site_to_string(SameSite same_site)
{
switch (same_site) {
case SameSite::Default:
return "Default"sv;
case SameSite::None:
return "None"sv;
case SameSite::Lax:
return "Lax"sv;
case SameSite::Strict:
return "Strict"sv;
}
VERIFY_NOT_REACHED();
}
}
bool IPC::encode(Encoder& encoder, Web::Cookie::Cookie const& cookie)
{
encoder << cookie.name;
@ -21,6 +40,7 @@ bool IPC::encode(Encoder& encoder, Web::Cookie::Cookie const& cookie)
encoder << cookie.last_access_time;
encoder << cookie.persistent;
encoder << cookie.secure;
encoder << cookie.same_site;
return true;
}
@ -38,5 +58,6 @@ ErrorOr<void> IPC::decode(Decoder& decoder, Web::Cookie::Cookie& cookie)
TRY(decoder.decode(cookie.last_access_time));
TRY(decoder.decode(cookie.persistent));
TRY(decoder.decode(cookie.secure));
TRY(decoder.decode(cookie.same_site));
return {};
}