[webkit-changes] [WebKit/WebKit] fb634d: Allow origin to be persisted if it is exempt from ...
Sihui
noreply at github.com
Thu May 18 16:23:01 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: fb634d8ebf1e903515286602488a23367c6a1e61
https://github.com/WebKit/WebKit/commit/fb634d8ebf1e903515286602488a23367c6a1e61
Author: Sihui Liu <sihui_liu at apple.com>
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
More information about the webkit-changes
mailing list