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