diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-08-12 09:27:39 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-08-12 09:27:39 +0200 |
commit | 3749d61e1f7a59f5ec5067e560af1eb610c82015 (patch) | |
tree | 73dc228333948738bbe02976cacca8cd382bc978 /Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp | |
parent | b32b4dcd9a51ab8de6afc53d9e17f8707e1f7a5e (diff) | |
download | qtwebkit-3749d61e1f7a59f5ec5067e560af1eb610c82015.tar.gz |
Imported WebKit commit a77350243e054f3460d1137301d8b3faee3d2052 (http://svn.webkit.org/repository/webkit/trunk@125365)
New snapshot with build fixes for latest API changes in Qt and all WK1 Win MSVC fixes upstream
Diffstat (limited to 'Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp')
-rw-r--r-- | Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp b/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp index 43fa2f4cb..12abf6dc2 100644 --- a/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp +++ b/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp @@ -67,6 +67,9 @@ PluginProcessProxy::PluginProcessProxy(PluginProcessManager* PluginProcessManage #if PLATFORM(MAC) launchOptions.architecture = pluginInfo.pluginArchitecture; launchOptions.executableHeap = PluginProcessProxy::pluginNeedsExecutableHeap(pluginInfo); +#if HAVE(XPC) + launchOptions.useXPC = false; +#endif #endif m_processLauncher = ProcessLauncher::create(this, launchOptions); @@ -137,9 +140,9 @@ void PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch() RefPtr<Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply> reply = m_pendingConnectionReplies.takeFirst(); #if PLATFORM(MAC) - reply->send(CoreIPC::Attachment(0, MACH_MSG_TYPE_MOVE_SEND)); + reply->send(CoreIPC::Attachment(0, MACH_MSG_TYPE_MOVE_SEND), false); #elif USE(UNIX_DOMAIN_SOCKETS) - reply->send(CoreIPC::Attachment()); + reply->send(CoreIPC::Attachment(), false); #else notImplemented(); #endif @@ -190,14 +193,16 @@ void PluginProcessProxy::didFinishLaunching(ProcessLauncher*, CoreIPC::Connectio { ASSERT(!m_connection); - if (!connectionIdentifier) { + if (CoreIPC::Connection::identifierIsNull(connectionIdentifier)) { pluginProcessCrashedOrFailedToLaunch(); return; } - + m_connection = CoreIPC::Connection::createServerConnection(connectionIdentifier, this, RunLoop::main()); #if PLATFORM(MAC) m_connection->setShouldCloseConnectionOnMachExceptions(); +#elif PLATFORM(QT) + m_connection->setShouldCloseConnectionOnProcessTermination(m_processLauncher->processIdentifier()); #endif m_connection->open(); @@ -228,7 +233,7 @@ void PluginProcessProxy::didFinishLaunching(ProcessLauncher*, CoreIPC::Connectio m_numPendingConnectionRequests = 0; } -void PluginProcessProxy::didCreateWebProcessConnection(const CoreIPC::Attachment& connectionIdentifier) +void PluginProcessProxy::didCreateWebProcessConnection(const CoreIPC::Attachment& connectionIdentifier, bool supportsAsynchronousPluginInitialization) { ASSERT(!m_pendingConnectionReplies.isEmpty()); @@ -236,9 +241,9 @@ void PluginProcessProxy::didCreateWebProcessConnection(const CoreIPC::Attachment RefPtr<Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply> reply = m_pendingConnectionReplies.takeFirst(); #if PLATFORM(MAC) - reply->send(CoreIPC::Attachment(connectionIdentifier.port(), MACH_MSG_TYPE_MOVE_SEND)); + reply->send(CoreIPC::Attachment(connectionIdentifier.port(), MACH_MSG_TYPE_MOVE_SEND), supportsAsynchronousPluginInitialization); #elif USE(UNIX_DOMAIN_SOCKETS) - reply->send(connectionIdentifier); + reply->send(connectionIdentifier, supportsAsynchronousPluginInitialization); #else notImplemented(); #endif |