[webkit-changes] [WebKit/WebKit] 338e1c: StorageManager.persist() is not functional

Sihui noreply at github.com
Wed May 10 14:46:18 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 338e1ced429a53ada0a2e52569a2d031a3a63361
      https://github.com/WebKit/WebKit/commit/338e1ced429a53ada0a2e52569a2d031a3a63361
  Author: Sihui Liu <sihui_liu at apple.com>
  Date:   2023-05-10 (Wed, 10 May 2023)

  Changed paths:
    A LayoutTests/imported/w3c/web-platform-tests/storage/storagemanager-persist-persisted-match.https.any-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/storage/storagemanager-persist-persisted-match.https.any.html
    A LayoutTests/imported/w3c/web-platform-tests/storage/storagemanager-persist-persisted-match.https.any.js
    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/OriginStorageManager.h

  Log Message:
  -----------
  StorageManager.persist() is not functional
https://bugs.webkit.org/show_bug.cgi?id=256483
rdar://109057460

Reviewed by Youenn Fablet.

StorageManager.persist() currently sets an in-memory flag of OriginStorageManager unconditionally and the flag does not
do anything. Now that we have implemented eviction based on quota, this patch ensures the eviction will check persited
flag and skip deleting the origin if its flag is set. Also, this patch ensures persisted flag is stored to disk by
creating a persisted file.

* LayoutTests/imported/w3c/web-platform-tests/storage/storagemanager-persist-persisted-match.https.any-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/storage/storagemanager-persist-persisted-match.https.any.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/storage/storagemanager-persist-persisted-match.https.any.js: Added.
(promise_test.async t):
* Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp:
(WebKit::NetworkStorageManager::persistedFilePath):
(WebKit::NetworkStorageManager::donePrepareForEviction):
(WebKit::NetworkStorageManager::performEviction):
(WebKit::NetworkStorageManager::persistedInternal):
(WebKit::NetworkStorageManager::persisted):
(WebKit::NetworkStorageManager::persist):
(WebKit::NetworkStorageManager::resetStoragePersistedState):
(WebKit::NetworkStorageManager::deleteDataOnDisk):
(WebKit::NetworkStorageManager::evictDataByTopOrigin): Deleted.
* Source/WebKit/NetworkProcess/storage/NetworkStorageManager.h:
* Source/WebKit/NetworkProcess/storage/OriginStorageManager.cpp:
(WebKit::OriginStorageManager::setPersisted): Deleted.
* Source/WebKit/NetworkProcess/storage/OriginStorageManager.h:
(WebKit::OriginStorageManager::persisted const): Deleted.

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




More information about the webkit-changes mailing list