[webkit-changes] [WebKit/WebKit] 68c9c2: Round total disk space up to nearest GB value in q...

Sihui noreply at github.com
Fri Apr 7 09:48:31 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 68c9c237cbb1fd36a04c0ee4b24fb2016d9c9590
      https://github.com/WebKit/WebKit/commit/68c9c237cbb1fd36a04c0ee4b24fb2016d9c9590
  Author: Sihui Liu <sihui_liu at apple.com>
  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




More information about the webkit-changes mailing list