Title: [249942] trunk/Source/WebKit
Revision
249942
Author
ryanhad...@apple.com
Date
2019-09-16 23:24:28 -0700 (Mon, 16 Sep 2019)

Log Message

Unreviewed, rolling out r249910.

Caused layout test failures and timeouts on Catalina

Reverted changeset:

"REGRESSION(249649): Unable to open local files in MiniBrowser
on macOS"
https://bugs.webkit.org/show_bug.cgi?id=201798
https://trac.webkit.org/changeset/249910

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (249941 => 249942)


--- trunk/Source/WebKit/ChangeLog	2019-09-17 05:39:18 UTC (rev 249941)
+++ trunk/Source/WebKit/ChangeLog	2019-09-17 06:24:28 UTC (rev 249942)
@@ -1,3 +1,16 @@
+2019-09-16  Ryan Haddad  <ryanhad...@apple.com>
+
+        Unreviewed, rolling out r249910.
+
+        Caused layout test failures and timeouts on Catalina
+
+        Reverted changeset:
+
+        "REGRESSION(249649): Unable to open local files in MiniBrowser
+        on macOS"
+        https://bugs.webkit.org/show_bug.cgi?id=201798
+        https://trac.webkit.org/changeset/249910
+
 2019-09-16  Chris Dumez  <cdu...@apple.com>
 
         Drop sessionID / websiteDataStoreID from WebPageCreationParameters

Modified: trunk/Source/WebKit/NetworkProcess/NetworkLoadParameters.h (249941 => 249942)


--- trunk/Source/WebKit/NetworkProcess/NetworkLoadParameters.h	2019-09-17 05:39:18 UTC (rev 249941)
+++ trunk/Source/WebKit/NetworkProcess/NetworkLoadParameters.h	2019-09-17 06:24:28 UTC (rev 249942)
@@ -53,7 +53,6 @@
     WebCore::FrameIdentifier webFrameID;
     RefPtr<WebCore::SecurityOrigin> topOrigin;
     WTF::ProcessID parentPID { 0 };
-    WTF::ProcessID networkProcessPID { 0 };
     WebCore::ResourceRequest request;
     WebCore::ContentSniffingPolicy contentSniffingPolicy { WebCore::ContentSniffingPolicy::SniffContent };
     WebCore::ContentEncodingSniffingPolicy contentEncodingSniffingPolicy { WebCore::ContentEncodingSniffingPolicy::Sniff };

Modified: trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.cpp (249941 => 249942)


--- trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.cpp	2019-09-17 05:39:18 UTC (rev 249941)
+++ trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.cpp	2019-09-17 06:24:28 UTC (rev 249942)
@@ -67,11 +67,7 @@
 
     if (request.url().isLocalFile()) {
         SandboxExtension::Handle requestSandboxExtension;
-#if HAVE(SANDBOX_ISSUE_READ_EXTENSION_TO_PROCESS_BY_PID)
-        SandboxExtension::createHandleForReadByPid(request.url().fileSystemPath(), networkProcessPID, requestSandboxExtension);
-#else
         SandboxExtension::createHandle(request.url().fileSystemPath(), SandboxExtension::Type::ReadOnly, requestSandboxExtension);
-#endif
         encoder << requestSandboxExtension;
     }
 

Modified: trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp (249941 => 249942)


--- trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp	2019-09-17 05:39:18 UTC (rev 249941)
+++ trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp	2019-09-17 06:24:28 UTC (rev 249942)
@@ -104,7 +104,7 @@
         m_downloadProxyMap->invalidate();
 
     for (auto& request : m_connectionRequests.values())
-        request.reply({ }, 0);
+        request.reply({ });
 }
 
 void NetworkProcessProxy::getLaunchOptions(ProcessLauncher::LaunchOptions& launchOptions)
@@ -156,10 +156,10 @@
         auto request = m_connectionRequests.take(connectionRequestIdentifier);
 
 #if USE(UNIX_DOMAIN_SOCKETS) || OS(WINDOWS)
-        request.reply(*connectionIdentifier, processIdentifier());
+        request.reply(*connectionIdentifier);
 #elif OS(DARWIN)
         MESSAGE_CHECK(MACH_PORT_VALID(connectionIdentifier->port()));
-        request.reply(IPC::Attachment { connectionIdentifier->port(), MACH_MSG_TYPE_MOVE_SEND }, processIdentifier());
+        request.reply(IPC::Attachment { connectionIdentifier->port(), MACH_MSG_TYPE_MOVE_SEND });
 #else
         notImplemented();
 #endif
@@ -248,7 +248,7 @@
         if (request.webProcess)
             pendingRequests.uncheckedAppend(std::make_pair(makeRefPtr(request.webProcess.get()), WTFMove(request.reply)));
         else
-            request.reply({ }, 0);
+            request.reply({ });
     }
     m_connectionRequests.clear();
 
@@ -394,7 +394,7 @@
         if (connectionRequest.webProcess)
             getNetworkProcessConnection(*connectionRequest.webProcess, WTFMove(connectionRequest.reply));
         else
-            connectionRequest.reply({ }, 0);
+            connectionRequest.reply({ });
     }
 
 #if PLATFORM(COCOA)

Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (249941 => 249942)


--- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp	2019-09-17 05:39:18 UTC (rev 249941)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp	2019-09-17 06:24:28 UTC (rev 249942)
@@ -1175,7 +1175,7 @@
     addPlatformLoadParameters(loadParameters);
 
 #if HAVE(SANDBOX_ISSUE_READ_EXTENSION_TO_PROCESS_BY_PID)
-    if (process->processIdentifier() || !url.isLocalFile())
+    if (processIdentifier() || !url.isLocalFile())
         process->send(Messages::WebPage::LoadRequest(loadParameters), webPageID);
     else {
         String sandboxExtensionPath;

Modified: trunk/Source/WebKit/UIProcess/WebProcessProxy.messages.in (249941 => 249942)


--- trunk/Source/WebKit/UIProcess/WebProcessProxy.messages.in	2019-09-17 05:39:18 UTC (rev 249941)
+++ trunk/Source/WebKit/UIProcess/WebProcessProxy.messages.in	2019-09-17 06:24:28 UTC (rev 249942)
@@ -36,7 +36,7 @@
     GetPlugins(bool refresh) -> (Vector<WebCore::PluginInfo> plugins, Vector<WebCore::PluginInfo> applicationPlugins, struct Optional<Vector<WebCore::SupportedPluginIdentifier>> supportedPluginIdentifiers) Synchronous
     GetPluginProcessConnection(uint64_t pluginProcessToken) -> (IPC::Attachment connectionHandle, bool supportsAsynchronousInitialization) Synchronous
 #endif
-    GetNetworkProcessConnection() -> (IPC::Attachment connectionHandle, int32_t pid) Synchronous
+    GetNetworkProcessConnection() -> (IPC::Attachment connectionHandle) Synchronous
     ProcessReadyToSuspend()
     DidCancelProcessSuspension()
 

Modified: trunk/Source/WebKit/WebProcess/Network/NetworkProcessConnection.cpp (249941 => 249942)


--- trunk/Source/WebKit/WebProcess/Network/NetworkProcessConnection.cpp	2019-09-17 05:39:18 UTC (rev 249941)
+++ trunk/Source/WebKit/WebProcess/Network/NetworkProcessConnection.cpp	2019-09-17 06:24:28 UTC (rev 249942)
@@ -68,9 +68,8 @@
 namespace WebKit {
 using namespace WebCore;
 
-NetworkProcessConnection::NetworkProcessConnection(IPC::Connection::Identifier connectionIdentifier, WTF::ProcessID pid)
+NetworkProcessConnection::NetworkProcessConnection(IPC::Connection::Identifier connectionIdentifier)
     : m_connection(IPC::Connection::createClientConnection(connectionIdentifier, *this))
-    , m_networkProcessPID(pid)
 {
     m_connection->open();
 }

Modified: trunk/Source/WebKit/WebProcess/Network/NetworkProcessConnection.h (249941 => 249942)


--- trunk/Source/WebKit/WebProcess/Network/NetworkProcessConnection.h	2019-09-17 05:39:18 UTC (rev 249941)
+++ trunk/Source/WebKit/WebProcess/Network/NetworkProcessConnection.h	2019-09-17 06:24:28 UTC (rev 249942)
@@ -58,9 +58,9 @@
 
 class NetworkProcessConnection : public RefCounted<NetworkProcessConnection>, IPC::Connection::Client {
 public:
-    static Ref<NetworkProcessConnection> create(IPC::Connection::Identifier connectionIdentifier, WTF::ProcessID pid)
+    static Ref<NetworkProcessConnection> create(IPC::Connection::Identifier connectionIdentifier)
     {
-        return adoptRef(*new NetworkProcessConnection(connectionIdentifier, pid));
+        return adoptRef(*new NetworkProcessConnection(connectionIdentifier));
     }
     ~NetworkProcessConnection();
     
@@ -80,10 +80,8 @@
     WebSWClientConnection& serviceWorkerConnection();
 #endif
 
-    WTF::ProcessID networkProcessPID() const { return m_networkProcessPID; }
-
 private:
-    NetworkProcessConnection(IPC::Connection::Identifier, WTF::ProcessID);
+    NetworkProcessConnection(IPC::Connection::Identifier);
 
     // IPC::Connection::Client
     void didReceiveMessage(IPC::Connection&, IPC::Decoder&) override;
@@ -105,7 +103,6 @@
 
     // The connection from the web process to the network process.
     Ref<IPC::Connection> m_connection;
-    WTF::ProcessID m_networkProcessPID { 0 };
 
 #if ENABLE(INDEXED_DATABASE)
     RefPtr<WebIDBConnectionToServer> m_webIDBConnection;

Modified: trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp (249941 => 249942)


--- trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp	2019-09-17 05:39:18 UTC (rev 249941)
+++ trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp	2019-09-17 06:24:28 UTC (rev 249942)
@@ -285,7 +285,6 @@
     loadParameters.webPageID = trackingParameters.pageID;
     loadParameters.webFrameID = trackingParameters.frameID;
     loadParameters.parentPID = presentingApplicationPID();
-    loadParameters.networkProcessPID = WebProcess::singleton().ensureNetworkProcessConnection().networkProcessPID();
     loadParameters.request = request;
     loadParameters.contentSniffingPolicy = contentSniffingPolicy;
     loadParameters.contentEncodingSniffingPolicy = contentEncodingSniffingPolicy;

Modified: trunk/Source/WebKit/WebProcess/WebProcess.cpp (249941 => 249942)


--- trunk/Source/WebKit/WebProcess/WebProcess.cpp	2019-09-17 05:39:18 UTC (rev 249941)
+++ trunk/Source/WebKit/WebProcess/WebProcess.cpp	2019-09-17 06:24:28 UTC (rev 249942)
@@ -1161,11 +1161,10 @@
     injectedBundle->setBundleParameters(value);
 }
 
-static std::pair<IPC::Connection::Identifier, WTF::ProcessID> getNetworkProcessConnection(IPC::Connection& connection)
+static IPC::Connection::Identifier getNetworkProcessConnection(IPC::Connection& connection)
 {
     IPC::Attachment encodedConnectionIdentifier;
-    WTF::ProcessID pid;
-    if (!connection.sendSync(Messages::WebProcessProxy::GetNetworkProcessConnection(), Messages::WebProcessProxy::GetNetworkProcessConnection::Reply(encodedConnectionIdentifier, pid), 0)) {
+    if (!connection.sendSync(Messages::WebProcessProxy::GetNetworkProcessConnection(), Messages::WebProcessProxy::GetNetworkProcessConnection::Reply(encodedConnectionIdentifier), 0)) {
 #if PLATFORM(GTK) || PLATFORM(WPE)
         // GTK+ and WPE ports don't exit on send sync message failure.
         // In this particular case, the network process can be terminated by the UI process while the
@@ -1179,14 +1178,14 @@
     }
 
 #if USE(UNIX_DOMAIN_SOCKETS)
-    return std::make_pair(encodedConnectionIdentifier.releaseFileDescriptor(), pid);
+    return encodedConnectionIdentifier.releaseFileDescriptor();
 #elif OS(DARWIN)
-    return std::make_pair(encodedConnectionIdentifier.port(), pid);
+    return encodedConnectionIdentifier.port();
 #elif OS(WINDOWS)
-    return std::make_pair(encodedConnectionIdentifier.handle(), pid);
+    return encodedConnectionIdentifier.handle();
 #else
     ASSERT_NOT_REACHED();
-    return std::make_pair(IPC::Connection::Identifier(), pid);
+    return IPC::Connection::Identifier();
 #endif
 }
 
@@ -1197,23 +1196,17 @@
 
     // If we've lost our connection to the network process (e.g. it crashed) try to re-establish it.
     if (!m_networkProcessConnection) {
-        auto connectionIdentifierAndPID = getNetworkProcessConnection(*parentProcessConnection());
-        
-        IPC::Connection::Identifier connectionIdentifier = connectionIdentifierAndPID.first;
-        WTF::ProcessID pid = connectionIdentifierAndPID.second;
+        IPC::Connection::Identifier connectionIdentifier = getNetworkProcessConnection(*parentProcessConnection());
 
         // Retry once if the IPC to get the connectionIdentifier succeeded but the connectionIdentifier we received
         // is invalid. This may indicate that the network process has crashed.
-        if (!IPC::Connection::identifierIsValid(connectionIdentifier)) {
-            connectionIdentifierAndPID = getNetworkProcessConnection(*parentProcessConnection());
-            connectionIdentifier = connectionIdentifierAndPID.first;
-            pid = connectionIdentifierAndPID.second;
-        }
+        if (!IPC::Connection::identifierIsValid(connectionIdentifier))
+            connectionIdentifier = getNetworkProcessConnection(*parentProcessConnection());
 
         if (!IPC::Connection::identifierIsValid(connectionIdentifier))
             CRASH();
 
-        m_networkProcessConnection = NetworkProcessConnection::create(connectionIdentifier, pid);
+        m_networkProcessConnection = NetworkProcessConnection::create(connectionIdentifier);
     }
     
     return *m_networkProcessConnection;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to