Title: [116904] trunk/Source/WebCore
Revision
116904
Author
[email protected]
Date
2012-05-13 16:25:04 -0700 (Sun, 13 May 2012)

Log Message

Dangling node to ID maps vector uses raw pointers, but should use OwnPtr
https://bugs.webkit.org/show_bug.cgi?id=86299

Reviewed by Pavel Feldman.

* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::releaseDanglingNodes): Removed now-unneeded call
to deleteAllValues since the clear function now takes care of that.
(WebCore::InspectorDOMAgent::pushNodePathToFrontend): Added code that uses
adoptPtr and release as neeed to deal with a Vector<OwnPtr>.
* inspector/InspectorDOMAgent.h: Changed m_danglingNodeToIdMaps to be
Vector<OwnPtr> instead of a vector of raw pointers.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (116903 => 116904)


--- trunk/Source/WebCore/ChangeLog	2012-05-13 21:45:41 UTC (rev 116903)
+++ trunk/Source/WebCore/ChangeLog	2012-05-13 23:25:04 UTC (rev 116904)
@@ -1,3 +1,18 @@
+2012-05-13  Darin Adler  <[email protected]>
+
+        Dangling node to ID maps vector uses raw pointers, but should use OwnPtr
+        https://bugs.webkit.org/show_bug.cgi?id=86299
+
+        Reviewed by Pavel Feldman.
+
+        * inspector/InspectorDOMAgent.cpp:
+        (WebCore::InspectorDOMAgent::releaseDanglingNodes): Removed now-unneeded call
+        to deleteAllValues since the clear function now takes care of that.
+        (WebCore::InspectorDOMAgent::pushNodePathToFrontend): Added code that uses
+        adoptPtr and release as neeed to deal with a Vector<OwnPtr>.
+        * inspector/InspectorDOMAgent.h: Changed m_danglingNodeToIdMaps to be
+        Vector<OwnPtr> instead of a vector of raw pointers.
+
 2012-05-13  Victor Carbune  <[email protected]>
 
         Volume slider needs to be displayed below the mute button

Modified: trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp (116903 => 116904)


--- trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp	2012-05-13 21:45:41 UTC (rev 116903)
+++ trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp	2012-05-13 23:25:04 UTC (rev 116904)
@@ -307,7 +307,6 @@
 
 void InspectorDOMAgent::releaseDanglingNodes()
 {
-    deleteAllValues(m_danglingNodeToIdMaps);
     m_danglingNodeToIdMaps.clear();
 }
 
@@ -532,8 +531,9 @@
         Node* parent = innerParentNode(node);
         if (!parent) {
             // Node being pushed is detached -> push subtree root.
-            danglingMap = new NodeToIdMap();
-            m_danglingNodeToIdMaps.append(danglingMap);
+            OwnPtr<NodeToIdMap> newMap = adoptPtr(new NodeToIdMap);
+            danglingMap = newMap.get();
+            m_danglingNodeToIdMaps.append(newMap.release());
             RefPtr<TypeBuilder::Array<TypeBuilder::DOM::Node> > children = TypeBuilder::Array<TypeBuilder::DOM::Node>::create();
             children->addItem(buildObjectForNode(node, 0, danglingMap));
             m_frontend->setChildNodes(0, children);

Modified: trunk/Source/WebCore/inspector/InspectorDOMAgent.h (116903 => 116904)


--- trunk/Source/WebCore/inspector/InspectorDOMAgent.h	2012-05-13 21:45:41 UTC (rev 116903)
+++ trunk/Source/WebCore/inspector/InspectorDOMAgent.h	2012-05-13 23:25:04 UTC (rev 116904)
@@ -244,7 +244,7 @@
     DOMListener* m_domListener;
     NodeToIdMap m_documentNodeToIdMap;
     // Owns node mappings for dangling nodes.
-    Vector<NodeToIdMap*> m_danglingNodeToIdMaps;
+    Vector<OwnPtr<NodeToIdMap> > m_danglingNodeToIdMaps;
     HashMap<int, Node*> m_idToNode;
     HashMap<int, NodeToIdMap*> m_idToNodesMap;
     HashSet<int> m_childrenRequested;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to