Title: [247375] trunk/Source/WebKit
- Revision
- 247375
- Author
- cdu...@apple.com
- Date
- 2019-07-11 16:58:35 -0700 (Thu, 11 Jul 2019)
Log Message
ASSERTION FAILED: RunLoop::isMain() under IPC::Connection::sendWithAsyncReply()
https://bugs.webkit.org/show_bug.cgi?id=199734
<rdar://problem/52977439>
Reviewed by Geoffrey Garen.
It appears WKProcessTaskStateObserverDelegate's taskStateDidChange handler can get called
on a background thread so we need to make sure we go back to the main thread before we
go into WebKit and do IPC.
* Shared/Cocoa/ProcessTaskStateObserver.mm:
(-[WKProcessTaskStateObserverDelegate process:taskStateDidChange:]):
Modified Paths
Diff
Modified: trunk/Source/WebKit/ChangeLog (247374 => 247375)
--- trunk/Source/WebKit/ChangeLog 2019-07-11 23:47:06 UTC (rev 247374)
+++ trunk/Source/WebKit/ChangeLog 2019-07-11 23:58:35 UTC (rev 247375)
@@ -1,3 +1,18 @@
+2019-07-11 Chris Dumez <cdu...@apple.com>
+
+ ASSERTION FAILED: RunLoop::isMain() under IPC::Connection::sendWithAsyncReply()
+ https://bugs.webkit.org/show_bug.cgi?id=199734
+ <rdar://problem/52977439>
+
+ Reviewed by Geoffrey Garen.
+
+ It appears WKProcessTaskStateObserverDelegate's taskStateDidChange handler can get called
+ on a background thread so we need to make sure we go back to the main thread before we
+ go into WebKit and do IPC.
+
+ * Shared/Cocoa/ProcessTaskStateObserver.mm:
+ (-[WKProcessTaskStateObserverDelegate process:taskStateDidChange:]):
+
2019-07-11 Sihui Liu <sihui_...@apple.com>
StorageArea should not be destructed on the main thread
Modified: trunk/Source/WebKit/Shared/Cocoa/ProcessTaskStateObserver.mm (247374 => 247375)
--- trunk/Source/WebKit/Shared/Cocoa/ProcessTaskStateObserver.mm 2019-07-11 23:47:06 UTC (rev 247374)
+++ trunk/Source/WebKit/Shared/Cocoa/ProcessTaskStateObserver.mm 2019-07-11 23:58:35 UTC (rev 247375)
@@ -47,8 +47,10 @@
{
RELEASE_LOG(ProcessSuspension, "%p -[WKProcessTaskStateObserverDelegate process:taskStateDidChange:], process(%p), newState(%d)", self, process, (int)newState);
- if (self.taskStateChangedCallback)
- self.taskStateChangedCallback(newState);
+ dispatch_async(dispatch_get_main_queue(), ^{
+ if (self.taskStateChangedCallback)
+ self.taskStateChangedCallback(newState);
+ });
}
@end
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes