void WebProcessConnection::createPlugin(uint64_t pluginInstanceID, const Plugin::Parameters& parameters, const String& userAgent, bool isPrivateBrowsingEnabled, bool isAcceleratedCompositingEnabled, bool& result, uint32_t& remoteLayerClientID) { OwnPtr<PluginControllerProxy> pluginControllerProxy = PluginControllerProxy::create(this, pluginInstanceID, userAgent, isPrivateBrowsingEnabled, isAcceleratedCompositingEnabled); PluginControllerProxy* pluginControllerProxyPtr = pluginControllerProxy.get(); // Make sure to add the proxy to the map before initializing it, since the plug-in might call out to the web process from // its NPP_New function. This will hand over ownership of the proxy to the web process connection. addPluginControllerProxy(pluginControllerProxy.release()); // Now try to initialize the plug-in. result = pluginControllerProxyPtr->initialize(parameters); if (!result) return; remoteLayerClientID = pluginControllerProxyPtr->remoteLayerClientID(); }
void WebProcessConnection::createPluginInternal(const PluginCreationParameters& creationParameters, bool& result, bool& wantsWheelEvents, uint32_t& remoteLayerClientID) { OwnPtr<PluginControllerProxy> pluginControllerProxy = PluginControllerProxy::create(this, creationParameters); PluginControllerProxy* pluginControllerProxyPtr = pluginControllerProxy.get(); // Make sure to add the proxy to the map before initializing it, since the plug-in might call out to the web process from // its NPP_New function. This will hand over ownership of the proxy to the web process connection. addPluginControllerProxy(pluginControllerProxy.release()); // Now try to initialize the plug-in. result = pluginControllerProxyPtr->initialize(creationParameters); if (!result) return; wantsWheelEvents = pluginControllerProxyPtr->wantsWheelEvents(); #if PLATFORM(MAC) remoteLayerClientID = pluginControllerProxyPtr->remoteLayerClientID(); #else UNUSED_PARAM(remoteLayerClientID); #endif }