Title: [284641] trunk/Source/WebKit
Revision
284641
Author
[email protected]
Date
2021-10-21 13:36:10 -0700 (Thu, 21 Oct 2021)

Log Message

Launch Services database is not always sent to GPUP
https://bugs.webkit.org/show_bug.cgi?id=232047
<rdar://problem/84480229>

Unreviewed, address post commit review feedback.

Address review feedback. Also rename a data member which had a misleading name.


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

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (284640 => 284641)


--- trunk/Source/WebKit/ChangeLog	2021-10-21 20:34:57 UTC (rev 284640)
+++ trunk/Source/WebKit/ChangeLog	2021-10-21 20:36:10 UTC (rev 284641)
@@ -1,3 +1,18 @@
+2021-10-21  Per Arne Vollan <[email protected]>
+
+        Launch Services database is not always sent to GPUP
+        https://bugs.webkit.org/show_bug.cgi?id=232047
+        <rdar://problem/84480229>
+
+        Unreviewed, address post commit review feedback.
+
+        Address review feedback. Also rename a data member which had a misleading name.
+
+        * UIProcess/GPU/GPUProcessProxy.cpp:
+        (WebKit::GPUProcessProxy::didFinishLaunching):
+        (WebKit::GPUProcessProxy::addSession):
+        * UIProcess/GPU/GPUProcessProxy.h:
+
 2021-10-19  Darin Adler  <[email protected]>
 
         [Cocoa] Merge and simplify the nsColor family of functions

Modified: trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp (284640 => 284641)


--- trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp	2021-10-21 20:34:57 UTC (rev 284640)
+++ trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp	2021-10-21 20:36:10 UTC (rev 284641)
@@ -434,11 +434,15 @@
 #endif
 
 #if PLATFORM(COCOA)
-    auto it = m_sessionIDs.begin();
-    if (it != m_sessionIDs.end()) {
-        auto webSiteDataStore = WebsiteDataStore::existingDataStoreForSessionID(*m_sessionIDs.begin());
-        m_hasSentLaunchServicesDatabase = webSiteDataStore->sendNetworkProcessXPCEndpointToProcess(*this);
-    }
+    // Use any session ID to get any Website data store. It is OK to use any Website data store,
+    // since we are using it to access any Networking process, which all have the XPC endpoint.
+    // The XPC endpoint is used to receive the Launch Services database from the Network process.
+    if (m_sessionIDs.isEmpty())
+        return;
+    auto store = WebsiteDataStore::existingDataStoreForSessionID(*m_sessionIDs.begin());
+    if (!store)
+        return;
+    m_hasSentNetworkProcessXPCEndpoint = store->sendNetworkProcessXPCEndpointToProcess(*this);
 #endif
 }
 
@@ -506,8 +510,8 @@
     m_sessionIDs.add(store.sessionID());
 
 #if PLATFORM(COCOA)
-    if (!m_hasSentLaunchServicesDatabase)
-        m_hasSentLaunchServicesDatabase = store.sendNetworkProcessXPCEndpointToProcess(*this);
+    if (!m_hasSentNetworkProcessXPCEndpoint)
+        m_hasSentNetworkProcessXPCEndpoint = store.sendNetworkProcessXPCEndpointToProcess(*this);
 #endif
 }
 

Modified: trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.h (284640 => 284641)


--- trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.h	2021-10-21 20:34:57 UTC (rev 284640)
+++ trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.h	2021-10-21 20:36:10 UTC (rev 284641)
@@ -146,7 +146,7 @@
     bool m_hasSentTCCDSandboxExtension { false };
     bool m_hasSentCameraSandboxExtension { false };
     bool m_hasSentMicrophoneSandboxExtension { false };
-    bool m_hasSentLaunchServicesDatabase { false };
+    bool m_hasSentNetworkProcessXPCEndpoint { false };
 #endif
     HashSet<PAL::SessionID> m_sessionIDs;
 };
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to