diff options
Diffstat (limited to 'Source/WebKit2/PluginProcess/PluginProcess.cpp')
-rw-r--r-- | Source/WebKit2/PluginProcess/PluginProcess.cpp | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/Source/WebKit2/PluginProcess/PluginProcess.cpp b/Source/WebKit2/PluginProcess/PluginProcess.cpp index 6124f9a..58eedba 100644 --- a/Source/WebKit2/PluginProcess/PluginProcess.cpp +++ b/Source/WebKit2/PluginProcess/PluginProcess.cpp @@ -23,10 +23,11 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ -#if ENABLE(PLUGIN_PROCESS) - +#include "config.h" #include "PluginProcess.h" +#if ENABLE(PLUGIN_PROCESS) + #include "MachPort.h" #include "NetscapePluginModule.h" #include "PluginProcessProxyMessages.h" @@ -55,11 +56,12 @@ PluginProcess::~PluginProcess() { } -void PluginProcess::initializeConnection(CoreIPC::Connection::Identifier serverIdentifier) +void PluginProcess::initialize(CoreIPC::Connection::Identifier serverIdentifier, RunLoop* runLoop) { ASSERT(!m_connection); - m_connection = CoreIPC::Connection::createClientConnection(serverIdentifier, this, RunLoop::main()); + m_connection = CoreIPC::Connection::createClientConnection(serverIdentifier, this, runLoop); + m_connection->setDidCloseOnConnectionWorkQueueCallback(didCloseOnConnectionWorkQueue); m_connection->open(); } @@ -109,7 +111,14 @@ void PluginProcess::didReceiveInvalidMessage(CoreIPC::Connection*, CoreIPC::Mess { } -void PluginProcess::initialize(const PluginProcessCreationParameters& parameters) +NO_RETURN void PluginProcess::didFailToSendSyncMessage(CoreIPC::Connection*) +{ + // We were making a synchronous call to a web process that doesn't exist any more. + // Callers are unlikely to be prepared for an error like this, so it's best to exit immediately. + exit(0); +} + +void PluginProcess::initializePluginProcess(const PluginProcessCreationParameters& parameters) { ASSERT(!m_pluginModule); |