diff options
Diffstat (limited to 'Source/WebKit2/WebProcess/Plugins/PluginProcessConnectionManager.cpp')
-rw-r--r-- | Source/WebKit2/WebProcess/Plugins/PluginProcessConnectionManager.cpp | 30 |
1 files changed, 14 insertions, 16 deletions
diff --git a/Source/WebKit2/WebProcess/Plugins/PluginProcessConnectionManager.cpp b/Source/WebKit2/WebProcess/Plugins/PluginProcessConnectionManager.cpp index bd8af4b22..cbc4f0e3e 100644 --- a/Source/WebKit2/WebProcess/Plugins/PluginProcessConnectionManager.cpp +++ b/Source/WebKit2/WebProcess/Plugins/PluginProcessConnectionManager.cpp @@ -28,23 +28,23 @@ #if ENABLE(NETSCAPE_PLUGIN_API) -#include "ArgumentDecoder.h" -#include "ArgumentEncoder.h" +#include "Decoder.h" +#include "Encoder.h" #include "PluginProcessConnection.h" #include "PluginProcessConnectionManagerMessages.h" #include "WebCoreArgumentCoders.h" #include "WebProcess.h" #include "WebProcessProxyMessages.h" -#if PLATFORM(MAC) +#if OS(DARWIN) && !USE(UNIX_DOMAIN_SOCKETS) #include "MachPort.h" #endif namespace WebKit { -PassRefPtr<PluginProcessConnectionManager> PluginProcessConnectionManager::create() +Ref<PluginProcessConnectionManager> PluginProcessConnectionManager::create() { - return adoptRef(new PluginProcessConnectionManager); + return adoptRef(*new PluginProcessConnectionManager); } PluginProcessConnectionManager::PluginProcessConnectionManager() @@ -70,25 +70,23 @@ PluginProcessConnection* PluginProcessConnectionManager::getPluginProcessConnect IPC::Attachment encodedConnectionIdentifier; bool supportsAsynchronousInitialization; - if (!WebProcess::shared().parentProcessConnection()->sendSync(Messages::WebProcessProxy::GetPluginProcessConnection(pluginProcessToken), + if (!WebProcess::singleton().parentProcessConnection()->sendSync(Messages::WebProcessProxy::GetPluginProcessConnection(pluginProcessToken), Messages::WebProcessProxy::GetPluginProcessConnection::Reply(encodedConnectionIdentifier, supportsAsynchronousInitialization), 0)) return 0; -#if PLATFORM(MAC) +#if USE(UNIX_DOMAIN_SOCKETS) + IPC::Connection::Identifier connectionIdentifier = encodedConnectionIdentifier.releaseFileDescriptor(); +#elif OS(DARWIN) IPC::Connection::Identifier connectionIdentifier(encodedConnectionIdentifier.port()); - if (IPC::Connection::identifierIsNull(connectionIdentifier)) - return 0; -#elif USE(UNIX_DOMAIN_SOCKETS) - IPC::Connection::Identifier connectionIdentifier = encodedConnectionIdentifier.fileDescriptor(); - if (connectionIdentifier == -1) - return 0; #endif + if (IPC::Connection::identifierIsNull(connectionIdentifier)) + return nullptr; RefPtr<PluginProcessConnection> pluginProcessConnection = PluginProcessConnection::create(this, pluginProcessToken, connectionIdentifier, supportsAsynchronousInitialization); m_pluginProcessConnections.append(pluginProcessConnection); { - MutexLocker locker(m_tokensAndConnectionsMutex); + LockHolder locker(m_tokensAndConnectionsMutex); ASSERT(!m_tokensAndConnections.contains(pluginProcessToken)); m_tokensAndConnections.set(pluginProcessToken, pluginProcessConnection->connection()); @@ -103,7 +101,7 @@ void PluginProcessConnectionManager::removePluginProcessConnection(PluginProcess ASSERT(vectorIndex != notFound); { - MutexLocker locker(m_tokensAndConnectionsMutex); + LockHolder locker(m_tokensAndConnectionsMutex); ASSERT(m_tokensAndConnections.contains(pluginProcessConnection->pluginProcessToken())); m_tokensAndConnections.remove(pluginProcessConnection->pluginProcessToken()); @@ -114,7 +112,7 @@ void PluginProcessConnectionManager::removePluginProcessConnection(PluginProcess void PluginProcessConnectionManager::pluginProcessCrashed(uint64_t pluginProcessToken) { - MutexLocker locker(m_tokensAndConnectionsMutex); + LockHolder locker(m_tokensAndConnectionsMutex); IPC::Connection* connection = m_tokensAndConnections.get(pluginProcessToken); // It's OK for connection to be null here; it will happen if this web process doesn't know |