Drop unnecessary check from ContainerNode::removeChild()
authorcdumez@apple.com <cdumez@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 14 Jul 2016 03:43:07 +0000 (03:43 +0000)
committercdumez@apple.com <cdumez@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 14 Jul 2016 03:43:07 +0000 (03:43 +0000)
https://bugs.webkit.org/show_bug.cgi?id=159747

Reviewed by Andreas Kling.

Drop unnecessary check from ContainerNode::removeChild() to make sure that
the parent of the node being removed is |this|. We already do this check
a few lines above. The only thing that happens in between is the ref'ing
of the node, which does not cause any JS execution.

This check was introduced in r55783 because there used to be a call to
document()->removeFocusedNodeOfSubtree(child.get());
between the two checks. However, this call has been removed since then
and the extra parentNode() check was left in.

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::removeChild): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@203210 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/dom/ContainerNode.cpp

index a545c36..d365544 100644 (file)
@@ -1,3 +1,23 @@
+2016-07-13  Chris Dumez  <cdumez@apple.com>
+
+        Drop unnecessary check from ContainerNode::removeChild()
+        https://bugs.webkit.org/show_bug.cgi?id=159747
+
+        Reviewed by Andreas Kling.
+
+        Drop unnecessary check from ContainerNode::removeChild() to make sure that
+        the parent of the node being removed is |this|. We already do this check
+        a few lines above. The only thing that happens in between is the ref'ing
+        of the node, which does not cause any JS execution.
+
+        This check was introduced in r55783 because there used to be a call to
+        document()->removeFocusedNodeOfSubtree(child.get());
+        between the two checks. However, this call has been removed since then
+        and the extra parentNode() check was left in.
+
+        * dom/ContainerNode.cpp:
+        (WebCore::ContainerNode::removeChild): Deleted.
+
 2016-07-12  Ryosuke Niwa  <rniwa@webkit.org>
 
         REGRESSION(r202953): Clicking on input[type=file] doesn't open a file picker
index 2276b42..6b55f9f 100644 (file)
@@ -524,13 +524,6 @@ bool ContainerNode::removeChild(Node& oldChild, ExceptionCode& ec)
 
     Ref<Node> child(oldChild);
 
-    // Events fired when blurring currently focused node might have moved this
-    // child into a different parent.
-    if (child->parentNode() != this) {
-        ec = NOT_FOUND_ERR;
-        return false;
-    }
-
     willRemoveChild(*this, child);
 
     // Mutation events might have moved this child into a different parent.