Title: [248543] trunk/Source/WebKit
- Revision
- 248543
- Author
- [email protected]
- Date
- 2019-08-12 12:46:40 -0700 (Mon, 12 Aug 2019)
Log Message
Clear m_sessionStorageNamespaces on the background thread
https://bugs.webkit.org/show_bug.cgi?id=200631
<rdar://problem/54149638>
Reviewed by Chris Dumez.
Network process receives messages about web page state from web process and destroys sessionStorageNamespace if
needed. It also receives messages about session state from UI process and destroys StorageManager, which owns
SessionStorageNamespaces, if needed. Because of the race in receiving the messages from different processes,
network process may decide to destroy StorageManager before destroying all SessionStorageNamespaces, and
SessionStorageNamespaces are destroyed with StorageManager on the main thread.
* NetworkProcess/WebStorage/StorageManager.cpp:
(WebKit::StorageManager::waitUntilTasksFinished):
Modified Paths
Diff
Modified: trunk/Source/WebKit/ChangeLog (248542 => 248543)
--- trunk/Source/WebKit/ChangeLog 2019-08-12 19:33:53 UTC (rev 248542)
+++ trunk/Source/WebKit/ChangeLog 2019-08-12 19:46:40 UTC (rev 248543)
@@ -1,5 +1,22 @@
2019-08-12 Sihui Liu <[email protected]>
+ Clear m_sessionStorageNamespaces on the background thread
+ https://bugs.webkit.org/show_bug.cgi?id=200631
+ <rdar://problem/54149638>
+
+ Reviewed by Chris Dumez.
+
+ Network process receives messages about web page state from web process and destroys sessionStorageNamespace if
+ needed. It also receives messages about session state from UI process and destroys StorageManager, which owns
+ SessionStorageNamespaces, if needed. Because of the race in receiving the messages from different processes,
+ network process may decide to destroy StorageManager before destroying all SessionStorageNamespaces, and
+ SessionStorageNamespaces are destroyed with StorageManager on the main thread.
+
+ * NetworkProcess/WebStorage/StorageManager.cpp:
+ (WebKit::StorageManager::waitUntilTasksFinished):
+
+2019-08-12 Sihui Liu <[email protected]>
+
Remove an assertion in ~StorageArea()
https://bugs.webkit.org/show_bug.cgi?id=200630
<rdar://problem/54097722>
Modified: trunk/Source/WebKit/NetworkProcess/WebStorage/StorageManager.cpp (248542 => 248543)
--- trunk/Source/WebKit/NetworkProcess/WebStorage/StorageManager.cpp 2019-08-12 19:33:53 UTC (rev 248542)
+++ trunk/Source/WebKit/NetworkProcess/WebStorage/StorageManager.cpp 2019-08-12 19:46:40 UTC (rev 248543)
@@ -502,6 +502,7 @@
for (auto& connectionStorageAreaPair : connectionAndStorageMapIDPairsToRemove)
m_storageAreasByConnection.remove(connectionStorageAreaPair);
+ m_sessionStorageNamespaces.clear();
m_localStorageNamespaces.clear();
semaphore.signal();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes