[webkit-changes] [WebKit/WebKit] 28678c: `Clear-Site-Data: "cache"` HTTP header should clea...
Chris Dumez
noreply at github.com
Mon Feb 6 10:28:09 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 28678cd68b668ca4d14eec8a3a1775374f304804
https://github.com/WebKit/WebKit/commit/28678cd68b668ca4d14eec8a3a1775374f304804
Author: Chris Dumez <cdumez at apple.com>
Date: 2023-02-06 (Mon, 06 Feb 2023)
Changed paths:
M Source/WebKit/NetworkProcess/NetworkProcess.cpp
M Source/WebKit/NetworkProcess/cache/NetworkCache.cpp
M Source/WebKit/NetworkProcess/cache/NetworkCache.h
M Source/WebKit/NetworkProcess/cache/NetworkCacheKey.cpp
M Source/WebKit/NetworkProcess/cache/NetworkCacheKey.h
M Source/WebKit/NetworkProcess/cache/NetworkCacheStorage.cpp
M Source/WebKit/NetworkProcess/cache/NetworkCacheStorage.h
Log Message:
-----------
`Clear-Site-Data: "cache"` HTTP header should clear disk cache more efficiently
https://bugs.webkit.org/show_bug.cgi?id=251768
Reviewed by Antti Koivisto.
`Clear-Site-Data: "cache"` HTTP header should clear disk cache more efficiently.
We will only delete cache entries for a given partition so there is no point in
traversing ALL storage entries. Instead, only traverse entries for the given
partition, which is a lot faster.
This patch adds a new NetworkCache::traverse() function overload which takes in
the cache partition as parameter and only calls the traverseHandler for entries
belonging to this partition. This is cheap and easy to do for our disk cache
implementation since our cache entries as grouped by partition via subfolders.
* Source/WebKit/NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::deleteWebsiteDataForOrigin):
* Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::Cache::traverse):
* Source/WebKit/NetworkProcess/cache/NetworkCache.h:
* Source/WebKit/NetworkProcess/cache/NetworkCacheKey.cpp:
(WebKit::NetworkCache::Key::partitionToPartitionHashAsString):
(WebKit::NetworkCache::Key::computePartitionHash const):
(WebKit::NetworkCache::Key::partitionToPartitionHash):
* Source/WebKit/NetworkProcess/cache/NetworkCacheKey.h:
* Source/WebKit/NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::Storage::traverseInternal):
(WebKit::NetworkCache::Storage::traverse):
* Source/WebKit/NetworkProcess/cache/NetworkCacheStorage.h:
Canonical link: https://commits.webkit.org/259902@main
More information about the webkit-changes
mailing list