Title: [179894] branches/safari-600.1.4.15-branch/Source/WebCore
Revision
179894
Author
[email protected]
Date
2015-02-10 15:52:11 -0800 (Tue, 10 Feb 2015)

Log Message

Merged r178571.  rdar://problem/19670953

Modified Paths

Diff

Modified: branches/safari-600.1.4.15-branch/Source/WebCore/ChangeLog (179893 => 179894)


--- branches/safari-600.1.4.15-branch/Source/WebCore/ChangeLog	2015-02-10 23:49:28 UTC (rev 179893)
+++ branches/safari-600.1.4.15-branch/Source/WebCore/ChangeLog	2015-02-10 23:52:11 UTC (rev 179894)
@@ -1,5 +1,28 @@
 2015-02-10  Babak Shafiei  <[email protected]>
 
+        Merge r178571.
+
+    2015-01-15  Ryosuke Niwa  <[email protected]>
+
+            Removing an HTML element spends a lot of time in adjustDirectionalityIfNeededAfterChildrenChanged
+            https://bugs.webkit.org/show_bug.cgi?id=140523
+            <rdar://problem/19464329>
+
+            Reviewed by Chris Dumez.
+
+            The bug was caused by adjustDirectionalityIfNeededAfterChildrenChanged always traversing children to
+            unset selfOrAncestorHasDirAutoAttribute flag while removing a child element.
+
+            Fixed the bug by removing this code. This code was no-op prior to being refactored in r154957 since
+            we only entered a for loop with the invariant "counter < childCountDelta" when "childCountDelta < 0".
+
+            See http://trac.webkit.org/changeset/154957/trunk/Source/WebCore/html/HTMLElement.cpp.
+
+            * html/HTMLElement.cpp:
+            (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
+
+2015-02-10  Babak Shafiei  <[email protected]>
+
         Merge r178490.
 
     2015-01-14  Simon Fraser  <[email protected]>

Modified: branches/safari-600.1.4.15-branch/Source/WebCore/html/HTMLElement.cpp (179893 => 179894)


--- branches/safari-600.1.4.15-branch/Source/WebCore/html/HTMLElement.cpp	2015-02-10 23:49:28 UTC (rev 179893)
+++ branches/safari-600.1.4.15-branch/Source/WebCore/html/HTMLElement.cpp	2015-02-10 23:52:11 UTC (rev 179894)
@@ -953,16 +953,7 @@
 void HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged(Element* beforeChange, ChildChangeType changeType)
 {
     // FIXME: This function looks suspicious.
-    if (document().renderView() && (changeType == ElementRemoved || changeType == TextRemoved)) {
-        Node* node = beforeChange ? beforeChange->nextSibling() : nullptr;
-        for (; node; node = node->nextSibling()) {
-            if (elementAffectsDirectionality(*node))
-                continue;
 
-            setHasDirAutoFlagRecursively(node, false);
-        }
-    }
-
     if (!selfOrAncestorHasDirAutoAttribute())
         return;
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to