diff options
Diffstat (limited to 'Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp')
-rw-r--r-- | Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp b/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp index 093a31f..4b3b3c0 100644 --- a/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp +++ b/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp @@ -23,10 +23,11 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ -#if ENABLE(PLUGIN_PROCESS) - +#include "config.h" #include "PluginProcessProxy.h" +#if ENABLE(PLUGIN_PROCESS) + #include "MachPort.h" #include "PluginProcessCreationParameters.h" #include "PluginProcessManager.h" @@ -51,6 +52,9 @@ PluginProcessProxy::PluginProcessProxy(PluginProcessManager* PluginProcessManage launchOptions.processType = ProcessLauncher::PluginProcess; #if PLATFORM(MAC) launchOptions.architecture = pluginInfo.pluginArchitecture; + + // FIXME: This shouldn't be true for all plug-ins. + launchOptions.executableHeap = true; #endif m_processLauncher = ProcessLauncher::create(this, launchOptions); @@ -71,8 +75,9 @@ void PluginProcessProxy::createWebProcessConnection(WebProcessProxy* webProcessP return; } - // Ask the plug-in process to create a connection. - m_connection->send(Messages::PluginProcess::CreateWebProcessConnection(), 0); + // Ask the plug-in process to create a connection. Since the plug-in can be waiting for a synchronous reply + // we need to make sure that this message is always processed, even when the plug-in is waiting for a synchronus reply. + m_connection->send(Messages::PluginProcess::CreateWebProcessConnection(), 0, CoreIPC::DispatchMessageEvenWhenWaitingForSyncReply); } void PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch() @@ -126,7 +131,7 @@ void PluginProcessProxy::didFinishLaunching(ProcessLauncher*, CoreIPC::Connectio platformInitializePluginProcess(parameters); // Initialize the plug-in host process. - m_connection->send(Messages::PluginProcess::Initialize(parameters), 0); + m_connection->send(Messages::PluginProcess::InitializePluginProcess(parameters), 0); // Send all our pending requests. for (unsigned i = 0; i < m_numPendingConnectionRequests; ++i) |