summaryrefslogtreecommitdiffstats
path: root/Source/WebKit2/PluginProcess
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/PluginProcess')
-rw-r--r--Source/WebKit2/PluginProcess/PluginControllerProxy.cpp10
-rw-r--r--Source/WebKit2/PluginProcess/PluginControllerProxy.h1
-rw-r--r--Source/WebKit2/PluginProcess/PluginProcess.cpp19
-rw-r--r--Source/WebKit2/PluginProcess/PluginProcess.h5
-rw-r--r--Source/WebKit2/PluginProcess/PluginProcess.messages.in4
-rw-r--r--Source/WebKit2/PluginProcess/WebProcessConnection.cpp5
-rw-r--r--Source/WebKit2/PluginProcess/mac/PluginControllerProxyMac.mm11
-rw-r--r--Source/WebKit2/PluginProcess/mac/PluginProcessMac.mm15
-rw-r--r--Source/WebKit2/PluginProcess/mac/PluginProcessMainMac.mm23
9 files changed, 57 insertions, 36 deletions
diff --git a/Source/WebKit2/PluginProcess/PluginControllerProxy.cpp b/Source/WebKit2/PluginProcess/PluginControllerProxy.cpp
index 42e9e6d..3dc7e8e 100644
--- a/Source/WebKit2/PluginProcess/PluginControllerProxy.cpp
+++ b/Source/WebKit2/PluginProcess/PluginControllerProxy.cpp
@@ -23,10 +23,11 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
-#if ENABLE(PLUGIN_PROCESS)
-
+#include "config.h"
#include "PluginControllerProxy.h"
+#if ENABLE(PLUGIN_PROCESS)
+
#include "DataReference.h"
#include "NPObjectProxy.h"
#include "NPRemoteObjectMap.h"
@@ -249,6 +250,11 @@ void PluginControllerProxy::setComplexTextInputEnabled(bool complexTextInputEnab
m_connection->connection()->send(Messages::PluginProxy::SetComplexTextInputEnabled(complexTextInputEnabled), m_pluginInstanceID);
}
+mach_port_t PluginControllerProxy::compositingRenderServerPort()
+{
+ return PluginProcess::shared().compositingRenderServerPort();
+}
+
String PluginControllerProxy::proxiesForURL(const String& urlString)
{
String proxyString;
diff --git a/Source/WebKit2/PluginProcess/PluginControllerProxy.h b/Source/WebKit2/PluginProcess/PluginControllerProxy.h
index 339c151..c39542a 100644
--- a/Source/WebKit2/PluginProcess/PluginControllerProxy.h
+++ b/Source/WebKit2/PluginProcess/PluginControllerProxy.h
@@ -90,6 +90,7 @@ private:
#if PLATFORM(MAC)
virtual void setComplexTextInputEnabled(bool);
+ virtual mach_port_t compositingRenderServerPort();
#endif
virtual String proxiesForURL(const String&);
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);
diff --git a/Source/WebKit2/PluginProcess/PluginProcess.h b/Source/WebKit2/PluginProcess/PluginProcess.h
index 6c221e7..89d4bcd 100644
--- a/Source/WebKit2/PluginProcess/PluginProcess.h
+++ b/Source/WebKit2/PluginProcess/PluginProcess.h
@@ -44,7 +44,7 @@ class PluginProcess : ChildProcess {
public:
static PluginProcess& shared();
- void initializeConnection(CoreIPC::Connection::Identifier);
+ void initialize(CoreIPC::Connection::Identifier, RunLoop*);
void removeWebProcessConnection(WebProcessConnection* webProcessConnection);
NetscapePluginModule* netscapePluginModule();
@@ -65,10 +65,11 @@ private:
virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
virtual void didClose(CoreIPC::Connection*);
virtual void didReceiveInvalidMessage(CoreIPC::Connection*, CoreIPC::MessageID);
+ virtual void didFailToSendSyncMessage(CoreIPC::Connection*);
// Message handlers.
void didReceivePluginProcessMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
- void initialize(const PluginProcessCreationParameters&);
+ void initializePluginProcess(const PluginProcessCreationParameters&);
void createWebProcessConnection();
void shutdownTimerFired();
diff --git a/Source/WebKit2/PluginProcess/PluginProcess.messages.in b/Source/WebKit2/PluginProcess/PluginProcess.messages.in
index e9b0fd3..3d45e0e 100644
--- a/Source/WebKit2/PluginProcess/PluginProcess.messages.in
+++ b/Source/WebKit2/PluginProcess/PluginProcess.messages.in
@@ -23,8 +23,8 @@
#if ENABLE(PLUGIN_PROCESS)
messages -> PluginProcess {
- # Initializes the plug-in.
- Initialize(WebKit::PluginProcessCreationParameters processCreationParameters)
+ # Initializes the plug-in process.
+ InitializePluginProcess(WebKit::PluginProcessCreationParameters processCreationParameters)
# Creates a web process connection. When the connection has been created,
# The plug-in process sends back a DidCreateWebProcessConnection message with
diff --git a/Source/WebKit2/PluginProcess/WebProcessConnection.cpp b/Source/WebKit2/PluginProcess/WebProcessConnection.cpp
index ae5d7ca..b58f4d0 100644
--- a/Source/WebKit2/PluginProcess/WebProcessConnection.cpp
+++ b/Source/WebKit2/PluginProcess/WebProcessConnection.cpp
@@ -23,10 +23,11 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
-#if ENABLE(PLUGIN_PROCESS)
-
+#include "config.h"
#include "WebProcessConnection.h"
+#if ENABLE(PLUGIN_PROCESS)
+
#include "NPRemoteObjectMap.h"
#include "PluginControllerProxy.h"
#include "PluginProcess.h"
diff --git a/Source/WebKit2/PluginProcess/mac/PluginControllerProxyMac.mm b/Source/WebKit2/PluginProcess/mac/PluginControllerProxyMac.mm
index 40d4f6d..610ca32 100644
--- a/Source/WebKit2/PluginProcess/mac/PluginControllerProxyMac.mm
+++ b/Source/WebKit2/PluginProcess/mac/PluginControllerProxyMac.mm
@@ -23,13 +23,14 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
-#if ENABLE(PLUGIN_PROCESS)
+#import "config.h"
+#import "PluginControllerProxy.h"
-#include "PluginControllerProxy.h"
+#if ENABLE(PLUGIN_PROCESS)
-#include <QuartzCore/QuartzCore.h>
-#include "PluginProcess.h"
-#include "WebKitSystemInterface.h"
+#import <QuartzCore/QuartzCore.h>
+#import "PluginProcess.h"
+#import "WebKitSystemInterface.h"
using namespace WebCore;
diff --git a/Source/WebKit2/PluginProcess/mac/PluginProcessMac.mm b/Source/WebKit2/PluginProcess/mac/PluginProcessMac.mm
index 3919c8b..5a54719 100644
--- a/Source/WebKit2/PluginProcess/mac/PluginProcessMac.mm
+++ b/Source/WebKit2/PluginProcess/mac/PluginProcessMac.mm
@@ -23,18 +23,19 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
+#import "config.h"
+#import "PluginProcess.h"
+
#if ENABLE(PLUGIN_PROCESS)
// FIXME (WebKit2) <rdar://problem/8728860> WebKit2 needs to be localized
#define UI_STRING(__str, __desc) [NSString stringWithUTF8String:__str]
-
-#include "PluginProcess.h"
-#include "NetscapePlugin.h"
-#include "PluginProcessShim.h"
-#include "PluginProcessCreationParameters.h"
-#include <WebKitSystemInterface.h>
-#include <dlfcn.h>
+#import "NetscapePlugin.h"
+#import "PluginProcessShim.h"
+#import "PluginProcessCreationParameters.h"
+#import <WebKitSystemInterface.h>
+#import <dlfcn.h>
namespace WebKit {
diff --git a/Source/WebKit2/PluginProcess/mac/PluginProcessMainMac.mm b/Source/WebKit2/PluginProcess/mac/PluginProcessMainMac.mm
index 36cc2a1..d39353a 100644
--- a/Source/WebKit2/PluginProcess/mac/PluginProcessMainMac.mm
+++ b/Source/WebKit2/PluginProcess/mac/PluginProcessMainMac.mm
@@ -23,18 +23,19 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
-#if ENABLE(PLUGIN_PROCESS)
+#import "config.h"
+#import "PluginProcessMain.h"
-#include "PluginProcessMain.h"
+#if ENABLE(PLUGIN_PROCESS)
-#include "CommandLine.h"
-#include "PluginProcess.h"
-#include "RunLoop.h"
-#include <runtime/InitializeThreading.h>
-#include <servers/bootstrap.h>
-#include <wtf/text/CString.h>
-#include <wtf/text/WTFString.h>
-#include <WebKitSystemInterface.h>
+#import "CommandLine.h"
+#import "PluginProcess.h"
+#import "RunLoop.h"
+#import <runtime/InitializeThreading.h>
+#import <servers/bootstrap.h>
+#import <wtf/text/CString.h>
+#import <wtf/text/WTFString.h>
+#import <WebKitSystemInterface.h>
// FIXME: We should be doing this another way.
extern "C" kern_return_t bootstrap_look_up2(mach_port_t, const name_t, mach_port_t*, pid_t, uint64_t);
@@ -84,7 +85,7 @@ int PluginProcessMain(const CommandLine& commandLine)
PluginProcess::shared().initializeShim();
// Initialize the plug-in process connection.
- PluginProcess::shared().initializeConnection(serverPort);
+ PluginProcess::shared().initialize(serverPort, RunLoop::main());
[NSApplication sharedApplication];