WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
Fixes the bug
bug-140523-20150115160021.patch (text/plain), 2.03 KB, created by
Ryosuke Niwa
on 2015-01-15 16:00:14 PST
(
hide
)
Description:
Fixes the bug
Filename:
MIME Type:
Creator:
Ryosuke Niwa
Created:
2015-01-15 16:00:14 PST
Size:
2.03 KB
patch
obsolete
>Index: Source/WebCore/ChangeLog >=================================================================== >--- Source/WebCore/ChangeLog (revision 178536) >+++ Source/WebCore/ChangeLog (working copy) >@@ -1,3 +1,18 @@ >+2015-01-15 Ryosuke Niwa <rniwa@webkit.org> >+ >+ Removing an HTML element spends a lot of time in adjustDirectionalityIfNeededAfterChildrenChanged >+ https://bugs.webkit.org/show_bug.cgi?id=140523 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ The bug was caused by adjustDirectionalityIfNeededAfterChildrenChanged always traversing children to >+ unset selfOrAncestorHasDirAutoAttribute flag while removing a child element. Fixed the bug by >+ exiting early when this flag is not set on the parent element as the flag would not have been set on >+ children in that case. >+ >+ * html/HTMLElement.cpp: >+ (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged): >+ > 2015-01-15 Zalan Bujtas <zalan@apple.com> > > LayerFragment should be able to intersect with ClipRect. >Index: Source/WebCore/html/HTMLElement.cpp >=================================================================== >--- Source/WebCore/html/HTMLElement.cpp (revision 178527) >+++ Source/WebCore/html/HTMLElement.cpp (working copy) >@@ -943,6 +943,9 @@ void HTMLElement::calculateAndAdjustDire > > void HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged(Element* beforeChange, ChildChangeType changeType) > { >+ if (!selfOrAncestorHasDirAutoAttribute()) >+ return; >+ > // FIXME: This function looks suspicious. > if (document().renderView() && (changeType == ElementRemoved || changeType == TextRemoved)) { > Node* node = beforeChange ? beforeChange->nextSibling() : nullptr; >@@ -954,9 +957,6 @@ void HTMLElement::adjustDirectionalityIf > } > } > >- if (!selfOrAncestorHasDirAutoAttribute()) >- return; >- > Node* oldMarkedNode = nullptr; > if (beforeChange) > oldMarkedNode = changeType == ElementInserted ? ElementTraversal::nextSibling(beforeChange) : beforeChange->nextSibling();
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 140523
:
244721
|
244725