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;