summaryrefslogtreecommitdiffstats
path: root/Source/WebKit2/PluginProcess/PluginProcess.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/PluginProcess/PluginProcess.cpp')
-rw-r--r--Source/WebKit2/PluginProcess/PluginProcess.cpp19
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);