mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-12-08 06:09:58 +00:00
LibWebView: Add methods to remove cookies / WebStorage items
This allows removing cookies and local/session storage items last accessed since a provided timestamp.
This commit is contained in:
parent
c2c269814a
commit
48aa16d74b
Notes:
github-actions[bot]
2025-11-12 14:08:08 +00:00
Author: https://github.com/trflynn89
Commit: 48aa16d74b
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/6675
Reviewed-by: https://github.com/gmta
Reviewed-by: https://github.com/konradekk
4 changed files with 44 additions and 0 deletions
|
|
@ -233,6 +233,11 @@ void CookieJar::expire_cookies_with_time_offset(AK::Duration offset)
|
|||
m_transient_storage.purge_expired_cookies(offset);
|
||||
}
|
||||
|
||||
void CookieJar::expire_cookies_accessed_since(UnixDateTime since)
|
||||
{
|
||||
m_transient_storage.expire_and_purge_cookies_accessed_since(since);
|
||||
}
|
||||
|
||||
Requests::CacheSizes CookieJar::estimate_storage_size_accessed_since(UnixDateTime since) const
|
||||
{
|
||||
return m_transient_storage.estimate_storage_size_accessed_since(since);
|
||||
|
|
@ -652,6 +657,18 @@ void CookieJar::TransientStorage::expire_and_purge_all_cookies()
|
|||
purge_expired_cookies();
|
||||
}
|
||||
|
||||
void CookieJar::TransientStorage::expire_and_purge_cookies_accessed_since(UnixDateTime since)
|
||||
{
|
||||
for (auto& [key, value] : m_cookies) {
|
||||
if (value.last_access_time >= since) {
|
||||
value.expiry_time = UnixDateTime::earliest();
|
||||
set_cookie(key, value);
|
||||
}
|
||||
}
|
||||
|
||||
purge_expired_cookies();
|
||||
}
|
||||
|
||||
Requests::CacheSizes CookieJar::TransientStorage::estimate_storage_size_accessed_since(UnixDateTime since) const
|
||||
{
|
||||
Requests::CacheSizes sizes;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue