Title: [87098] trunk/Source/WebCore
Revision
87098
Author
[email protected]
Date
2011-05-23 14:29:18 -0700 (Mon, 23 May 2011)

Log Message

2011-05-23  James Simonsen  <[email protected]>

        Reviewed by Adam Barth.

        Convert raw pointer to RefPtr.
        https://bugs.webkit.org/show_bug.cgi?id=61196

        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::endElementNs):
        * dom/XMLDocumentParserQt.cpp:
        (WebCore::XMLDocumentParser::parseEndElement):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (87097 => 87098)


--- trunk/Source/WebCore/ChangeLog	2011-05-23 21:06:45 UTC (rev 87097)
+++ trunk/Source/WebCore/ChangeLog	2011-05-23 21:29:18 UTC (rev 87098)
@@ -1,3 +1,15 @@
+2011-05-23  James Simonsen  <[email protected]>
+
+        Reviewed by Adam Barth.
+
+        Convert raw pointer to RefPtr.
+        https://bugs.webkit.org/show_bug.cgi?id=61196
+
+        * dom/XMLDocumentParserLibxml2.cpp:
+        (WebCore::XMLDocumentParser::endElementNs):
+        * dom/XMLDocumentParserQt.cpp:
+        (WebCore::XMLDocumentParser::parseEndElement):
+
 2011-05-23  Ryosuke Niwa  <[email protected]>
 
         Reviewed by Alexey Proskuryakov.

Modified: trunk/Source/WebCore/dom/XMLDocumentParserLibxml2.cpp (87097 => 87098)


--- trunk/Source/WebCore/dom/XMLDocumentParserLibxml2.cpp	2011-05-23 21:06:45 UTC (rev 87097)
+++ trunk/Source/WebCore/dom/XMLDocumentParserLibxml2.cpp	2011-05-23 21:29:18 UTC (rev 87098)
@@ -848,12 +848,16 @@
         return;
     }
 
+    // _javascript_ can detach the parser.  Make sure this is not released
+    // before the end of this method.
+    RefPtr<XMLDocumentParser> protect(this);
+
     exitText();
 
-    ContainerNode* n = m_currentNode;
+    RefPtr<ContainerNode> n = m_currentNode;
     n->finishParsingChildren();
 
-    if (m_scriptingPermission == FragmentScriptingNotAllowed && n->isElementNode() && toScriptElement(static_cast<Element*>(n))) {
+    if (m_scriptingPermission == FragmentScriptingNotAllowed && n->isElementNode() && toScriptElement(static_cast<Element*>(n.get()))) {
         popCurrentNode();
         ExceptionCode ec;
         n->remove(ec);
@@ -865,7 +869,7 @@
         return;
     }
 
-    Element* element = static_cast<Element*>(n);
+    Element* element = static_cast<Element*>(n.get());
 
     // The element's parent may have already been removed from document.
     // Parsing continues in this case, but scripts aren't executed.
@@ -894,10 +898,6 @@
         // FIXME: Script execution should be shared between
         // the libxml2 and Qt XMLDocumentParser implementations.
 
-        // _javascript_ can detach the parser.  Make sure this is not released
-        // before the end of this method.
-        RefPtr<XMLDocumentParser> protect(this);
-
         if (scriptElement->readyToBeParserExecuted())
             scriptElement->executeScript(ScriptSourceCode(scriptElement->scriptContent(), document()->url(), m_scriptStartPosition));
         else if (scriptElement->willBeParserExecuted()) {

Modified: trunk/Source/WebCore/dom/XMLDocumentParserQt.cpp (87097 => 87098)


--- trunk/Source/WebCore/dom/XMLDocumentParserQt.cpp	2011-05-23 21:06:45 UTC (rev 87097)
+++ trunk/Source/WebCore/dom/XMLDocumentParserQt.cpp	2011-05-23 21:29:18 UTC (rev 87098)
@@ -552,10 +552,10 @@
 {
     exitText();
 
-    ContainerNode* n = m_currentNode;
+    RefPtr<ContainerNode> n = m_currentNode;
     n->finishParsingChildren();
 
-    if (m_scriptingPermission == FragmentScriptingNotAllowed && n->isElementNode() && toScriptElement(static_cast<Element*>(n))) {
+    if (m_scriptingPermission == FragmentScriptingNotAllowed && n->isElementNode() && toScriptElement(static_cast<Element*>(n.get()))) {
         popCurrentNode();
         ExceptionCode ec;
         n->remove(ec);
@@ -568,7 +568,7 @@
         return;
     }
 
-    Element* element = static_cast<Element*>(n);
+    Element* element = static_cast<Element*>(n.get());
 
     // The element's parent may have already been removed from document.
     // Parsing continues in this case, but scripts aren't executed.
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to