[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

andersca at apple.com andersca at apple.com
Wed Dec 22 15:17:24 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit df4216053cf7caa7e51ca7abf607a8ce3d732d09
Author: andersca at apple.com <andersca at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Oct 29 21:31:11 2010 +0000

    Add the plug-in proxy to the map before sending the CreatePlugin message
    https://bugs.webkit.org/show_bug.cgi?id=48678
    
    Reviewed by Adam Roben.
    
    * WebProcess/Plugins/PluginProxy.cpp:
    (WebKit::PluginProxy::initialize):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70930 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index 32727af..321e7a4 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -19,6 +19,16 @@
 
         Reviewed by Adam Roben.
 
+        Add the plug-in proxy to the map before sending the CreatePlugin message
+        https://bugs.webkit.org/show_bug.cgi?id=48678
+
+        * WebProcess/Plugins/PluginProxy.cpp:
+        (WebKit::PluginProxy::initialize):
+
+2010-10-29  Anders Carlsson  <andersca at apple.com>
+
+        Reviewed by Adam Roben.
+
         Add GetWindowScriptNPObject message
         https://bugs.webkit.org/show_bug.cgi?id=48670
 
diff --git a/WebKit2/WebProcess/Plugins/PluginProxy.cpp b/WebKit2/WebProcess/Plugins/PluginProxy.cpp
index 91167f2..b1ec3e4 100644
--- a/WebKit2/WebProcess/Plugins/PluginProxy.cpp
+++ b/WebKit2/WebProcess/Plugins/PluginProxy.cpp
@@ -80,17 +80,19 @@ bool PluginProxy::initialize(PluginController* pluginController, const Parameter
 
     m_pluginController = pluginController;
 
+    // Add the plug-in proxy before creating the plug-in; it needs to be in the map because CreatePlugin
+    // can call back out to the plug-in proxy.
+    m_connection->addPluginProxy(this);
+
     // Ask the plug-in process to create a plug-in.
     bool result = false;
 
-    if (!m_connection->connection()->sendSync(Messages::WebProcessConnection::CreatePlugin(m_pluginInstanceID, parameters, pluginController->userAgent(), pluginController->isPrivateBrowsingEnabled()), Messages::WebProcessConnection::CreatePlugin::Reply(result), 0))
-        return false;
-
-    if (!result)
+    if (!m_connection->connection()->sendSync(Messages::WebProcessConnection::CreatePlugin(m_pluginInstanceID, parameters, pluginController->userAgent(), pluginController->isPrivateBrowsingEnabled()), Messages::WebProcessConnection::CreatePlugin::Reply(result), 0) || !result) {
+        m_connection->removePluginProxy(this);
         return false;
+    }
 
     m_isStarted = true;
-    m_connection->addPluginProxy(this);
 
     return true;
 }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list