Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 7bc1fa58b65a096aac9d4317f074d4318e43b886 https://github.com/WebKit/WebKit/commit/7bc1fa58b65a096aac9d4317f074d4318e43b886 Author: Sihui Liu <sihui_...@apple.com> Date: 2023-03-19 (Sun, 19 Mar 2023)
Changed paths: M Source/WTF/wtf/FileSystem.cpp M Source/WTF/wtf/FileSystem.h M Source/WTF/wtf/playstation/FileSystemPlayStation.cpp M Source/WebKit/NetworkProcess/NetworkSession.cpp M Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.cpp M Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.h M Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp M Source/WebKit/NetworkProcess/storage/NetworkStorageManager.h M Source/WebKit/NetworkProcess/storage/OriginStorageManager.cpp M Source/WebKit/NetworkProcess/storage/QuotaManager.cpp M Source/WebKit/NetworkProcess/storage/QuotaManager.h M Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h M Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm Log Message: ----------- Allow quota to be set based on disk space https://bugs.webkit.org/show_bug.cgi?id=253978 rdar://106769648 Reviewed by Geoffrey Garen. Make it possible to set origin quota based on disk space. This is achieved by letting client specify a originQuotaRatio, and using it to compute the quota: originQuota = totalDiskSpace * originQuotaRatio. If originQuotaRatio it is unset, we will use perOriginStorageQuota for quota. By default, originQuotaRatio is unset. Also, when quota is set using originQuotaRatio, quota increase will not be allowed (client will not receive delegate callback about quota is exceeded). To mitigate fingerprinting issue, StorageManager.estimate() might report a quota that is lower than actual qutoa when usage is small. Test: WKWebsiteDataStoreConfiguration.OriginQuotaRatio * Source/WTF/wtf/FileSystem.cpp: (WTF::FileSystemImpl::volumeCapacity): * Source/WTF/wtf/FileSystem.h: * Source/WTF/wtf/playstation/FileSystemPlayStation.cpp: (WTF::FileSystemImpl::volumeCapacity): * Source/WebKit/NetworkProcess/NetworkSession.cpp: (WebKit::createNetworkStorageManager): * Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.cpp: (WebKit::NetworkSessionCreationParameters::encode const): (WebKit::NetworkSessionCreationParameters::decode): * Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.h: * Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp: (WebKit::NetworkStorageManager::create): (WebKit::NetworkStorageManager::NetworkStorageManager): (WebKit::NetworkStorageManager::originStorageManager): * Source/WebKit/NetworkProcess/storage/NetworkStorageManager.h: * Source/WebKit/NetworkProcess/storage/OriginStorageManager.cpp: (WebKit::OriginStorageManager::estimate): * Source/WebKit/NetworkProcess/storage/QuotaManager.cpp: (WebKit::QuotaManager::handleRequests): (WebKit::QuotaManager::reportedQuota const): * Source/WebKit/NetworkProcess/storage/QuotaManager.h: (WebKit::QuotaManager::create): (WebKit::QuotaManager::quota const): Deleted. * Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h: * Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm: (-[_WKWebsiteDataStoreConfiguration originQuotaRatio]): (-[_WKWebsiteDataStoreConfiguration setOriginQuotaRatio:]): * Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp: (WebKit::WebsiteDataStore::parameters): * Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h: (WebKit::WebsiteDataStore::originQuotaRatio): * Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp: (WebKit::WebsiteDataStoreConfiguration::copy const): * Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h: (WebKit::WebsiteDataStoreConfiguration::originQuotaRatio const): (WebKit::WebsiteDataStoreConfiguration::setOriginQuotaRatio): * Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm: (-[WKWebsiteDataStoreMessageHandler userContentController:didReceiveScriptMessage:]): (TestWebKitAPI::TEST): Canonical link: https://commits.webkit.org/261840@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes