[webkit-changes] [WebKit/WebKit] 5bc131: REGRESSION (iOS 16): LocalStorage is cleared after...
Sihui
noreply at github.com
Fri Nov 18 17:24:05 PST 2022
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 5bc131992783cd2f65a8e2ed0c827eaef6df1427
https://github.com/WebKit/WebKit/commit/5bc131992783cd2f65a8e2ed0c827eaef6df1427
Author: Sihui Liu <sihui_liu at apple.com>
Date: 2022-11-18 (Fri, 18 Nov 2022)
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:
-----------
REGRESSION (iOS 16): LocalStorage is cleared after quota error
https://bugs.webkit.org/show_bug.cgi?id=245479
rdar://problem/100252023
Reviewed by Chris Dumez.
StorageAreaMap should sync with backend again instead of clearing map when an error occurs in backend. Also, all
synchronization should not remove pending changes from map, because backend will handle the requests and StorageAreaMap
will receive reply for pending requests after that. Until StorageAreaMap receives error in reply, it should assume
the request succeeds and report value in pending requests to client.
* Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp:
(WebKit::NetworkStorageManager::setItem):
* Source/WebKit/NetworkProcess/storage/NetworkStorageManager.h:
* Source/WebKit/NetworkProcess/storage/NetworkStorageManager.messages.in:
* Source/WebKit/WebProcess/WebStorage/StorageAreaMap.cpp:
(WebKit::StorageAreaMap::setItem):
(WebKit::StorageAreaMap::clear):
(WebKit::StorageAreaMap::ensureMap):
(WebKit::StorageAreaMap::didSetItem):
(WebKit::StorageAreaMap::applyChange):
(WebKit::StorageAreaMap::clearCache):
(WebKit::StorageAreaMap::disconnect):
(WebKit::StorageAreaMap::syncOneItem):
(WebKit::StorageAreaMap::syncItems):
(WebKit::StorageAreaMap::resetValues): Deleted.
(WebKit::StorageAreaMap::shouldApplyChangeForKey const): Deleted.
* Source/WebKit/WebProcess/WebStorage/StorageAreaMap.h:
Canonical link: https://commits.webkit.org/256863@main
More information about the webkit-changes
mailing list