Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: fb634d8ebf1e903515286602488a23367c6a1e61
https://github.com/WebKit/WebKit/commit/fb634d8ebf1e903515286602488a23367c6a1e61
Author: Sihui Liu <[email protected]>
Date: 2023-05-18 (Thu, 18 May 2023)
Changed paths:
M Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp
M Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsStore.h
M Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp
M Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h
M Source/WebKit/NetworkProcess/NetworkProcess.cpp
M Source/WebKit/NetworkProcess/NetworkProcess.h
M Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp
M Source/WebKit/NetworkProcess/storage/NetworkStorageManager.h
M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm
Log Message:
-----------
Allow origin to be persisted if it is exempt from ITP deletion
https://bugs.webkit.org/show_bug.cgi?id=256817
rdar://109379695
Reviewed by Youenn Fablet.
According to spec (https://storage.spec.whatwg.org/#introduction), an origin
can request to be persistent with
StorageManager.persist(), which means its data will be exempt from eviction on
storage pressure. This patch implements a
rule to decide whether an origin can be persistent.
Test: WKWebsiteDataStoreConfiguration.TotalQuotaRatioWithPersistedDomain
* Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp:
(WebKit::ResourceLoadStatisticsStore::shouldExemptFromWebsiteDataDeletion
const):
(WebKit::ResourceLoadStatisticsStore::domainsExemptFromWebsiteDataDeletion
const):
* Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsStore.h:
* Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::registrableDomainsExemptFromWebsiteDataDeletion):
* Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
* Source/WebKit/NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::registrableDomainsExemptFromWebsiteDataDeletion):
* Source/WebKit/NetworkProcess/NetworkProcess.h:
* Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp:
(WebKit::NetworkStorageManager::close):
(WebKit::NetworkStorageManager::fetchRegistrableDomainsForPersist):
(WebKit::NetworkStorageManager::didFetchRegistrableDomainsForPersist):
(WebKit::NetworkStorageManager::persistOrigin):
(WebKit::NetworkStorageManager::persist):
* Source/WebKit/NetworkProcess/storage/NetworkStorageManager.h:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm:
(TestWebKitAPI::htmlStringForTotalQuotaRatioTest):
(TestWebKitAPI::TEST):
Canonical link: https://commits.webkit.org/264220@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes