Title: [271408] trunk/Source/WebKit
Revision
271408
Author
[email protected]
Date
2021-01-12 11:05:02 -0800 (Tue, 12 Jan 2021)

Log Message

ASSERTION FAILED: m_connection under WebKit::WebPageProxy::acceptsFirstMouse()
https://bugs.webkit.org/show_bug.cgi?id=220545
<rdar://problem/73043854>

Reviewed by Tim Horton.

Avoid the assertion by making it safe to call `WebPageProxy::messageSenderConnection` in debug builds, in the
case where the web process is still launching.

* UIProcess/AuxiliaryProcessProxy.h:
(WebKit::AuxiliaryProcessProxy::hasConnection const):

Add a helper method that returns whether or not a process proxy has a non-null connection.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::messageSenderConnection const):

Use the above helper to avoid calling into `AuxiliaryProcessProxy::connection()` when the connection is null.

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (271407 => 271408)


--- trunk/Source/WebKit/ChangeLog	2021-01-12 18:57:33 UTC (rev 271407)
+++ trunk/Source/WebKit/ChangeLog	2021-01-12 19:05:02 UTC (rev 271408)
@@ -1,3 +1,24 @@
+2021-01-12  Wenson Hsieh  <[email protected]>
+
+        ASSERTION FAILED: m_connection under WebKit::WebPageProxy::acceptsFirstMouse()
+        https://bugs.webkit.org/show_bug.cgi?id=220545
+        <rdar://problem/73043854>
+
+        Reviewed by Tim Horton.
+
+        Avoid the assertion by making it safe to call `WebPageProxy::messageSenderConnection` in debug builds, in the
+        case where the web process is still launching.
+
+        * UIProcess/AuxiliaryProcessProxy.h:
+        (WebKit::AuxiliaryProcessProxy::hasConnection const):
+
+        Add a helper method that returns whether or not a process proxy has a non-null connection.
+
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::messageSenderConnection const):
+
+        Use the above helper to avoid calling into `AuxiliaryProcessProxy::connection()` when the connection is null.
+
 2021-01-12  Jer Noble  <[email protected]>
 
         [Cocoa] Support key rotation with HLS-backed encrypted media streams

Modified: trunk/Source/WebKit/UIProcess/AuxiliaryProcessProxy.h (271407 => 271408)


--- trunk/Source/WebKit/UIProcess/AuxiliaryProcessProxy.h	2021-01-12 18:57:33 UTC (rev 271407)
+++ trunk/Source/WebKit/UIProcess/AuxiliaryProcessProxy.h	2021-01-12 19:05:02 UTC (rev 271408)
@@ -76,6 +76,11 @@
         ASSERT(m_connection);
         return m_connection.get();
     }
+
+    bool hasConnection() const
+    {
+        return !!m_connection;
+    }
     
     bool hasConnection(const IPC::Connection& connection) const
     {

Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (271407 => 271408)


--- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp	2021-01-12 18:57:33 UTC (rev 271407)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp	2021-01-12 19:05:02 UTC (rev 271408)
@@ -6441,7 +6441,7 @@
 
 IPC::Connection* WebPageProxy::messageSenderConnection() const
 {
-    return m_process->connection();
+    return m_process->hasConnection() ? m_process->connection() : nullptr;
 }
 
 uint64_t WebPageProxy::messageSenderDestinationID() const
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to