Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 68c9c237cbb1fd36a04c0ee4b24fb2016d9c9590
      
https://github.com/WebKit/WebKit/commit/68c9c237cbb1fd36a04c0ee4b24fb2016d9c9590
  Author: Sihui Liu <[email protected]>
  Date:   2023-04-07 (Fri, 07 Apr 2023)

  Changed paths:
    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/OriginQuotaManager.cpp
    M Source/WebKit/NetworkProcess/storage/OriginQuotaManager.h
    M Source/WebKit/NetworkProcess/storage/OriginStorageManager.cpp
    M Source/WebKit/NetworkProcess/storage/OriginStorageManager.h
    M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp
    M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h

  Log Message:
  -----------
  Round total disk space up to nearest GB value in quota computation
https://bugs.webkit.org/show_bug.cgi?id=255016
rdar://problem/107711233

Reviewed by Youenn Fablet.

We plan to calculate quota based on total disk space, and we currently use 
FileSystem::volumeCapacity to get total disk
space. However, the result returned by FileSystem::volumeCapacity is not 
necessarily a multiple of 1 GB and might be
slightly different for machines with the same hard disk space, depending on 
implementation of file systems. To address
this privacy concern, we now round up the value returned by volumeCapacity() 
when doing quota computation.

The patch also contains two drive-by fixes:
1. Introduce standardReportedQuota used for reported quota when an origin has a 
small usage and a big quota.
2. Replace defaultThirdPartyOriginQuota with defaultThirdPartyOriginQuotaRatio, 
since quota of third-party orgin should
never be greater than that of first-party origin.

* 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::quotaManager):
(WebKit::NetworkStorageManager::originStorageManager):
* Source/WebKit/NetworkProcess/storage/NetworkStorageManager.h:
* Source/WebKit/NetworkProcess/storage/OriginQuotaManager.cpp:
(WebKit::OriginQuotaManager::create):
(WebKit::OriginQuotaManager::OriginQuotaManager):
(WebKit::OriginQuotaManager::reportedQuota const):
* Source/WebKit/NetworkProcess/storage/OriginQuotaManager.h:
(WebKit::OriginQuotaManager::create):
* Source/WebKit/NetworkProcess/storage/OriginStorageManager.cpp:
(WebKit::OriginStorageManager::createQuotaManager):
(WebKit::OriginStorageManager::OriginStorageManager):
* Source/WebKit/NetworkProcess/storage/OriginStorageManager.h:
* Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::parameters):
(WebKit::WebsiteDataStore::perThirdPartyOriginStorageQuota const): Deleted.
* Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h:
(WebKit::WebsiteDataStore::perOriginStorageQuota const):

Canonical link: https://commits.webkit.org/262713@main


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to