Title: [276153] trunk/Source/WebKit
Revision
276153
Author
[email protected]
Date
2021-04-16 12:20:07 -0700 (Fri, 16 Apr 2021)

Log Message

Unreviewed, reverting r275839.

The new release assertion is hitting to easily in client apps

Reverted changeset:

"Make sure AuxiliaryProcessProxy::sendMessage() is called on
the main thread"
https://bugs.webkit.org/show_bug.cgi?id=224448
https://commits.webkit.org/r275839

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (276152 => 276153)


--- trunk/Source/WebKit/ChangeLog	2021-04-16 19:19:04 UTC (rev 276152)
+++ trunk/Source/WebKit/ChangeLog	2021-04-16 19:20:07 UTC (rev 276153)
@@ -1,5 +1,18 @@
 2021-04-16  Chris Dumez  <[email protected]>
 
+        Unreviewed, reverting r275839.
+
+        The new release assertion is hitting to easily in client apps
+
+        Reverted changeset:
+
+        "Make sure AuxiliaryProcessProxy::sendMessage() is called on
+        the main thread"
+        https://bugs.webkit.org/show_bug.cgi?id=224448
+        https://commits.webkit.org/r275839
+
+2021-04-16  Chris Dumez  <[email protected]>
+
         Exit the GPUProcess when under memory pressure if it is not being used
         https://bugs.webkit.org/show_bug.cgi?id=224556
 

Modified: trunk/Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp (276152 => 276153)


--- trunk/Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp	2021-04-16 19:19:04 UTC (rev 276152)
+++ trunk/Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp	2021-04-16 19:20:07 UTC (rev 276153)
@@ -160,7 +160,14 @@
 
 bool AuxiliaryProcessProxy::sendMessage(UniqueRef<IPC::Encoder>&& encoder, OptionSet<IPC::SendOption> sendOptions, Optional<std::pair<CompletionHandler<void(IPC::Decoder*)>, uint64_t>>&& asyncReplyInfo, ShouldStartProcessThrottlerActivity shouldStartProcessThrottlerActivity)
 {
-    RELEASE_ASSERT(isMainRunLoop());
+    // FIXME: We should turn this into a RELEASE_ASSERT().
+    ASSERT(isMainRunLoop());
+    if (!isMainRunLoop()) {
+        callOnMainRunLoop([protectedThis = makeRef(*this), encoder = WTFMove(encoder), sendOptions, asyncReplyInfo = WTFMove(asyncReplyInfo), shouldStartProcessThrottlerActivity]() mutable {
+            protectedThis->sendMessage(WTFMove(encoder), sendOptions, WTFMove(asyncReplyInfo), shouldStartProcessThrottlerActivity);
+        });
+        return true;
+    }
 
     if (asyncReplyInfo && canSendMessage() && shouldStartProcessThrottlerActivity == ShouldStartProcessThrottlerActivity::Yes) {
         auto completionHandler = std::exchange(asyncReplyInfo->first, nullptr);
@@ -228,7 +235,7 @@
 void AuxiliaryProcessProxy::didFinishLaunching(ProcessLauncher*, IPC::Connection::Identifier connectionIdentifier)
 {
     ASSERT(!m_connection);
-    RELEASE_ASSERT(isMainRunLoop());
+    ASSERT(isMainRunLoop());
 
     if (!IPC::Connection::identifierIsValid(connectionIdentifier))
         return;
@@ -249,7 +256,7 @@
 
 void AuxiliaryProcessProxy::replyToPendingMessages()
 {
-    RELEASE_ASSERT(isMainRunLoop());
+    ASSERT(isMainRunLoop());
     for (auto& pendingMessage : std::exchange(m_pendingMessages, { })) {
         if (pendingMessage.asyncReplyInfo)
             pendingMessage.asyncReplyInfo->first(nullptr);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to