Title: [149259] trunk/Source/WebKit2
Revision
149259
Author
[email protected]
Date
2013-04-28 11:17:18 -0700 (Sun, 28 Apr 2013)

Log Message

Use OwnPtr<PluginControllerProxy> for storing plug-in controllers in WebProcessConnection
https://bugs.webkit.org/show_bug.cgi?id=115259

Reviewed by Andreas Kling.

* PluginProcess/WebProcessConnection.cpp:
(WebKit::WebProcessConnection::addPluginControllerProxy):
(WebKit::WebProcessConnection::removePluginControllerProxy):
(WebKit::WebProcessConnection::didClose):
* PluginProcess/WebProcessConnection.h:
(WebProcessConnection):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (149258 => 149259)


--- trunk/Source/WebKit2/ChangeLog	2013-04-28 12:39:19 UTC (rev 149258)
+++ trunk/Source/WebKit2/ChangeLog	2013-04-28 18:17:18 UTC (rev 149259)
@@ -1,3 +1,17 @@
+2013-04-26  Anders Carlsson  <[email protected]>
+
+        Use OwnPtr<PluginControllerProxy> for storing plug-in controllers in WebProcessConnection
+        https://bugs.webkit.org/show_bug.cgi?id=115259
+
+        Reviewed by Andreas Kling.
+
+        * PluginProcess/WebProcessConnection.cpp:
+        (WebKit::WebProcessConnection::addPluginControllerProxy):
+        (WebKit::WebProcessConnection::removePluginControllerProxy):
+        (WebKit::WebProcessConnection::didClose):
+        * PluginProcess/WebProcessConnection.h:
+        (WebProcessConnection):
+
 2013-04-27  Jessie Berlin  <[email protected]>
 
         Build fix.

Modified: trunk/Source/WebKit2/PluginProcess/WebProcessConnection.cpp (149258 => 149259)


--- trunk/Source/WebKit2/PluginProcess/WebProcessConnection.cpp	2013-04-28 12:39:19 UTC (rev 149258)
+++ trunk/Source/WebKit2/PluginProcess/WebProcessConnection.cpp	2013-04-28 18:17:18 UTC (rev 149259)
@@ -71,7 +71,7 @@
     uint64_t pluginInstanceID = pluginController->pluginInstanceID();
 
     ASSERT(!m_pluginControllers.contains(pluginInstanceID));
-    m_pluginControllers.set(pluginInstanceID, pluginController.leakPtr());
+    m_pluginControllers.set(pluginInstanceID, pluginController);
 }
 
 void WebProcessConnection::destroyPluginControllerProxy(PluginControllerProxy* pluginController)
@@ -86,7 +86,7 @@
     {
         ASSERT(m_pluginControllers.contains(pluginController->pluginInstanceID()));
 
-        OwnPtr<PluginControllerProxy> pluginControllerOwnPtr = adoptPtr(m_pluginControllers.take(pluginController->pluginInstanceID()));
+        OwnPtr<PluginControllerProxy> pluginControllerOwnPtr = m_pluginControllers.take(pluginController->pluginInstanceID());
         ASSERT(pluginControllerOwnPtr == pluginController);
     }
 
@@ -167,7 +167,8 @@
     // The web process crashed. Destroy all the plug-in controllers. Destroying the last plug-in controller
     // will cause the web process connection itself to be destroyed.
     Vector<PluginControllerProxy*> pluginControllers;
-    copyValuesToVector(m_pluginControllers, pluginControllers);
+    for (auto& pluginController: m_pluginControllers.values())
+        pluginControllers.append(pluginController.get());
 
     for (size_t i = 0; i < pluginControllers.size(); ++i)
         destroyPluginControllerProxy(pluginControllers[i]);

Modified: trunk/Source/WebKit2/PluginProcess/WebProcessConnection.h (149258 => 149259)


--- trunk/Source/WebKit2/PluginProcess/WebProcessConnection.h	2013-04-28 12:39:19 UTC (rev 149258)
+++ trunk/Source/WebKit2/PluginProcess/WebProcessConnection.h	2013-04-28 18:17:18 UTC (rev 149259)
@@ -78,7 +78,7 @@
 
     RefPtr<CoreIPC::Connection> m_connection;
 
-    HashMap<uint64_t, PluginControllerProxy*> m_pluginControllers;
+    HashMap<uint64_t, OwnPtr<PluginControllerProxy>> m_pluginControllers;
     RefPtr<NPRemoteObjectMap> m_npRemoteObjectMap;
     HashSet<uint64_t> m_asynchronousInstanceIDsToIgnore;
 };
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to