The problematic scenario: 1. Open any site with local storage (e.g.: http://www.sharonminsuk.com/code/storage-test.html) 2. Save some local storage value 3. Corrupt a SQLite file of the local storage for this site: (just find http_www.sharonminsuk.com_0.localstorage file and change it via "vi" tool) 4. Close browser 5. Open site with local storage (e.g.: http://www.sharonminsuk.com/code/storage-test.html) again 6. The local storage value from the previous session is not available 7. Save some new local storage value 8. Close browser 9. Open site with local storage (e.g.: http://www.sharonminsuk.com/code/storage-test.html) again 10. The local storage value from the previous session is not available 11. Close browser 12. Open site with local storage (e.g.: http://www.sharonminsuk.com/code/storage-test.html) again 13. The local storage value from the previous session is available As we can see we need two restarts of browser to fix saving of the local storage values. There is a fix from wpe in version 2.28(https://github.com/WebPlatformForEmbedded/WPEWebKit/commit/c3dbb59a9972d31a8bef31090d74b8de2715966a) which can be adopted to new local storage implementation and fix the existing problem.
I am working on fix base on change from WPE 2.28: https://github.com/WebPlatformForEmbedded/WPEWebKit/commit/c3dbb59a9972d31a8bef31090d74b8de2715966a
Pull request: https://github.com/WebKit/WebKit/pull/8716
<rdar://problem/104390130>
The bug report about creating the test for Cocoa: https://bugs.webkit.org/show_bug.cgi?id=250892
Committed 259573@main (d5346d022b5c): <https://commits.webkit.org/259573@main> Reviewed commits have been landed. Closing PR #8716 and removing active labels.