⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 179894 in webkit


Ignore:
Timestamp:
Feb 10, 2015, 3:52:11 PM (12 years ago)
Author:
bshafiei@apple.com
Message:

Merged r178571. rdar://problem/19670953

Location:
branches/safari-600.1.4.15-branch/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/safari-600.1.4.15-branch/Source/WebCore/ChangeLog

    r179893 r179894  
     12015-02-10  Babak Shafiei  <bshafiei@apple.com>
     2
     3        Merge r178571.
     4
     5    2015-01-15  Ryosuke Niwa  <rniwa@webkit.org>
     6
     7            Removing an HTML element spends a lot of time in adjustDirectionalityIfNeededAfterChildrenChanged
     8            https://bugs.webkit.org/show_bug.cgi?id=140523
     9            <rdar://problem/19464329>
     10
     11            Reviewed by Chris Dumez.
     12
     13            The bug was caused by adjustDirectionalityIfNeededAfterChildrenChanged always traversing children to
     14            unset selfOrAncestorHasDirAutoAttribute flag while removing a child element.
     15
     16            Fixed the bug by removing this code. This code was no-op prior to being refactored in r154957 since
     17            we only entered a for loop with the invariant "counter < childCountDelta" when "childCountDelta < 0".
     18
     19            See http://trac.webkit.org/changeset/154957/trunk/Source/WebCore/html/HTMLElement.cpp.
     20
     21            * html/HTMLElement.cpp:
     22            (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
     23
    1242015-02-10  Babak Shafiei  <bshafiei@apple.com>
    225
  • branches/safari-600.1.4.15-branch/Source/WebCore/html/HTMLElement.cpp

    r170774 r179894  
    954954{
    955955    // FIXME: This function looks suspicious.
    956     if (document().renderView() && (changeType == ElementRemoved || changeType == TextRemoved)) {
    957         Node* node = beforeChange ? beforeChange->nextSibling() : nullptr;
    958         for (; node; node = node->nextSibling()) {
    959             if (elementAffectsDirectionality(*node))
    960                 continue;
    961 
    962             setHasDirAutoFlagRecursively(node, false);
    963         }
    964     }
    965956
    966957    if (!selfOrAncestorHasDirAutoAttribute())
Note: See TracChangeset for help on using the changeset viewer.