[webkit-changes] [WebKit/WebKit] 3f0295: StorageAreaMap should sync items again when remove...
Sihui
noreply at github.com
Wed May 3 11:05:19 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3f02953de140ca0c44ff14b8c1e939eb0a56d800
https://github.com/WebKit/WebKit/commit/3f02953de140ca0c44ff14b8c1e939eb0a56d800
Author: Sihui Liu <sihui_liu at apple.com>
Date: 2023-05-03 (Wed, 03 May 2023)
Changed paths:
M Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp
M Source/WebKit/NetworkProcess/storage/NetworkStorageManager.h
M Source/WebKit/NetworkProcess/storage/NetworkStorageManager.messages.in
M Source/WebKit/WebProcess/WebStorage/StorageAreaMap.cpp
M Source/WebKit/WebProcess/WebStorage/StorageAreaMap.h
Log Message:
-----------
StorageAreaMap should sync items again when removeItem fails in backend
https://bugs.webkit.org/show_bug.cgi?id=251651
rdar://104984022
Reviewed by Brent Fulgham.
SQLiteStorageArea currently batches writes with database transaction. That means if one operation fails, the other
operations in the same transcation completed before the failed operation will also be reverted. Therefore,
StorageAreaMap should sync with StorageArea again when an error occurs. We did this for setItem by letting it send back
all items in message reply when there is an error, and we should do the same thing for removeItem.
* Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp:
(WebKit::NetworkStorageManager::removeItem):
* Source/WebKit/NetworkProcess/storage/NetworkStorageManager.h:
* Source/WebKit/NetworkProcess/storage/NetworkStorageManager.messages.in:
* Source/WebKit/WebProcess/WebStorage/StorageAreaMap.cpp:
(WebKit::StorageAreaMap::setItem):
(WebKit::StorageAreaMap::removeItem):
(WebKit::StorageAreaMap::didRemoveItem):
* Source/WebKit/WebProcess/WebStorage/StorageAreaMap.h:
Canonical link: https://commits.webkit.org/263637@main
More information about the webkit-changes
mailing list