Reviewed by Geoffrey Garen.
WebKit side of <rdar://problem/
6607801>
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::destroy):
Pass a requestID to _WKPCDestroyPluginInstance and wait until we get a reply back.
* Plugins/Hosted/WebKitPluginHost.defs:
Add requestID parameter.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@41641
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2009-03-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ WebKit side of <rdar://problem/6607801>
+
+ * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
+ (WebKit::NetscapePluginInstanceProxy::destroy):
+ Pass a requestID to _WKPCDestroyPluginInstance and wait until we get a reply back.
+
+ * Plugins/Hosted/WebKitPluginHost.defs:
+ Add requestID parameter.
+
2009-03-12 Kevin Decker <kdecker@apple.com>
Reviewed by Anders Carlsson.
void NetscapePluginInstanceProxy::destroy()
{
- _WKPHDestroyPluginInstance(m_pluginHostProxy->port(), m_pluginID);
+ uint32_t requestID = nextRequestID();
+
+ _WKPHDestroyPluginInstance(m_pluginHostProxy->port(), m_pluginID, requestID);
+
+ // We don't care about the reply here - we just want to block until the plug-in instance has been torn down.
+ waitForReply<NetscapePluginInstanceProxy::BooleanReply>(requestID);
cleanup();
invalidate();
height :uint32_t);
simpleroutine PHDestroyPluginInstance(pluginHostPort :mach_port_t;
- pluginID :uint32_t);
+ pluginID :uint32_t;
+ requestID :uint32_t);
// Streams