Title: [284291] trunk/Source/WebKit
Revision
284291
Author
[email protected]
Date
2021-10-15 16:45:42 -0700 (Fri, 15 Oct 2021)

Log Message

Some canvas tests are failing
https://bugs.webkit.org/show_bug.cgi?id=231837
<rdar://problem/84318280>

Reviewed by Brent Fulgham.

To be able to receive the Launch Services database over XPC, a Network process XPC endpoint has to be sent to the
GPU process. This was being sent in GPUProcessProxy::didFinishLaunching, but since the session ID and Website data
store is not always available there, it was sometimes not being sent. Instead, send the endpoint in
GPUProcessProxy::addSession, where the Website data store is always available.

* UIProcess/GPU/GPUProcessProxy.cpp:
(WebKit::GPUProcessProxy::didFinishLaunching):
(WebKit::GPUProcessProxy::addSession):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (284290 => 284291)


--- trunk/Source/WebKit/ChangeLog	2021-10-15 23:44:03 UTC (rev 284290)
+++ trunk/Source/WebKit/ChangeLog	2021-10-15 23:45:42 UTC (rev 284291)
@@ -1,3 +1,20 @@
+2021-10-15  Per Arne Vollan  <[email protected]>
+
+        Some canvas tests are failing
+        https://bugs.webkit.org/show_bug.cgi?id=231837
+        <rdar://problem/84318280>
+
+        Reviewed by Brent Fulgham.
+
+        To be able to receive the Launch Services database over XPC, a Network process XPC endpoint has to be sent to the
+        GPU process. This was being sent in GPUProcessProxy::didFinishLaunching, but since the session ID and Website data
+        store is not always available there, it was sometimes not being sent. Instead, send the endpoint in
+        GPUProcessProxy::addSession, where the Website data store is always available.
+ 
+        * UIProcess/GPU/GPUProcessProxy.cpp:
+        (WebKit::GPUProcessProxy::didFinishLaunching):
+        (WebKit::GPUProcessProxy::addSession):
+
 2021-10-15  Commit Queue  <[email protected]>
 
         Unreviewed, reverting r283925.

Modified: trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp (284290 => 284291)


--- trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp	2021-10-15 23:44:03 UTC (rev 284290)
+++ trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp	2021-10-15 23:45:42 UTC (rev 284291)
@@ -432,14 +432,6 @@
     if (xpc_connection_t connection = this->connection()->xpcConnection())
         m_throttler.didConnectToProcess(xpc_connection_get_pid(connection));
 #endif
-
-#if PLATFORM(COCOA)
-    auto it = m_sessionIDs.begin();
-    if (it != m_sessionIDs.end()) {
-        auto webSiteDataStore = WebsiteDataStore::existingDataStoreForSessionID(*m_sessionIDs.begin());
-        webSiteDataStore->sendNetworkProcessXPCEndpointToProcess(*this);
-    }
-#endif
 }
 
 void GPUProcessProxy::updateProcessAssertion()
@@ -504,6 +496,10 @@
 
     send(Messages::GPUProcess::AddSession { store.sessionID(), gpuProcessSessionParameters(store) }, 0);
     m_sessionIDs.add(store.sessionID());
+
+#if PLATFORM(COCOA)
+    store.sendNetworkProcessXPCEndpointToProcess(*this);
+#endif
 }
 
 void GPUProcessProxy::removeSession(PAL::SessionID sessionID)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to