Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5bc131992783cd2f65a8e2ed0c827eaef6df1427
      
https://github.com/WebKit/WebKit/commit/5bc131992783cd2f65a8e2ed0c827eaef6df1427
  Author: Sihui Liu <sihui_...@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


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to