Title: [255375] trunk/Source/WebKit
- Revision
- 255375
- Author
- sihui_...@apple.com
- Date
- 2020-01-29 12:38:40 -0800 (Wed, 29 Jan 2020)
Log Message
Crash under com.apple.WebKit.Networking at WebKit: WebKit::WebIDBServer::suspend
https://bugs.webkit.org/show_bug.cgi?id=206904
<rdar://problem/58791603>
Reviewed by Maciej Stachowiak.
Wait until m_server is set in constructor of WebIDBServer to make sure m_server can be accessed in
WebIDBServer::suspend.
* NetworkProcess/IndexedDB/WebIDBServer.cpp:
(WebKit::WebIDBServer::WebIDBServer):
Modified Paths
Diff
Modified: trunk/Source/WebKit/ChangeLog (255374 => 255375)
--- trunk/Source/WebKit/ChangeLog 2020-01-29 19:39:41 UTC (rev 255374)
+++ trunk/Source/WebKit/ChangeLog 2020-01-29 20:38:40 UTC (rev 255375)
@@ -1,3 +1,17 @@
+2020-01-29 Sihui Liu <sihui_...@apple.com>
+
+ Crash under com.apple.WebKit.Networking at WebKit: WebKit::WebIDBServer::suspend
+ https://bugs.webkit.org/show_bug.cgi?id=206904
+ <rdar://problem/58791603>
+
+ Reviewed by Maciej Stachowiak.
+
+ Wait until m_server is set in constructor of WebIDBServer to make sure m_server can be accessed in
+ WebIDBServer::suspend.
+
+ * NetworkProcess/IndexedDB/WebIDBServer.cpp:
+ (WebKit::WebIDBServer::WebIDBServer):
+
2020-01-29 Brent Fulgham <bfulg...@apple.com>
Unreviewed, rolling out r255217 and r255217.
Modified: trunk/Source/WebKit/NetworkProcess/IndexedDB/WebIDBServer.cpp (255374 => 255375)
--- trunk/Source/WebKit/NetworkProcess/IndexedDB/WebIDBServer.cpp 2020-01-29 19:39:41 UTC (rev 255374)
+++ trunk/Source/WebKit/NetworkProcess/IndexedDB/WebIDBServer.cpp 2020-01-29 20:38:40 UTC (rev 255375)
@@ -46,9 +46,12 @@
{
ASSERT(RunLoop::isMain());
- postTask([this, protectedThis = makeRef(*this), sessionID, directory = directory.isolatedCopy(), spaceRequester = WTFMove(spaceRequester)] () mutable {
+ BinarySemaphore semaphore;
+ postTask([this, protectedThis = makeRef(*this), &semaphore, sessionID, directory = directory.isolatedCopy(), spaceRequester = WTFMove(spaceRequester)] () mutable {
m_server = makeUnique<WebCore::IDBServer::IDBServer>(sessionID, directory, WTFMove(spaceRequester));
+ semaphore.signal();
});
+ semaphore.wait();
}
void WebIDBServer::closeAndDeleteDatabasesModifiedSince(WallTime modificationTime, CompletionHandler<void()>&& callback)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes