Title: [292418] trunk/Source/WebCore
Revision
292418
Author
an...@apple.com
Date
2022-04-05 13:24:03 -0700 (Tue, 05 Apr 2022)

Log Message

Avoid unnecessary traversal when updating list markers
https://bugs.webkit.org/show_bug.cgi?id=238795

Reviewed by Anders Carlsson.

This code could use a full rewrite but there are also some simple optimizations that can be done.

* rendering/RenderListItem.cpp:
(WebCore::nextListItemHelper):

Don't advance into non-rendered subtrees. We won't find any renderers there.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (292417 => 292418)


--- trunk/Source/WebCore/ChangeLog	2022-04-05 20:16:18 UTC (rev 292417)
+++ trunk/Source/WebCore/ChangeLog	2022-04-05 20:24:03 UTC (rev 292418)
@@ -1,3 +1,17 @@
+2022-04-05  Antti Koivisto  <an...@apple.com>
+
+        Avoid unnecessary traversal when updating list markers
+        https://bugs.webkit.org/show_bug.cgi?id=238795
+
+        Reviewed by Anders Carlsson.
+
+        This code could use a full rewrite but there are also some simple optimizations that can be done.
+
+        * rendering/RenderListItem.cpp:
+        (WebCore::nextListItemHelper):
+
+        Don't advance into non-rendered subtrees. We won't find any renderers there.
+
 2022-04-05  Chris Dumez  <cdu...@apple.com>
 
         Implement faster lookup of HTML tags in the HTML parser

Modified: trunk/Source/WebCore/rendering/RenderListItem.cpp (292417 => 292418)


--- trunk/Source/WebCore/rendering/RenderListItem.cpp	2022-04-05 20:16:18 UTC (rev 292417)
+++ trunk/Source/WebCore/rendering/RenderListItem.cpp	2022-04-05 20:24:03 UTC (rev 292418)
@@ -124,7 +124,10 @@
 {
     auto* current = &element;
     auto advance = [&] {
-        current = ElementTraversal::nextIncludingPseudo(*current, &list);
+        if (!current->renderOrDisplayContentsStyle())
+            current = ElementTraversal::nextIncludingPseudoSkippingChildren(*current, &list);
+        else
+            current = ElementTraversal::nextIncludingPseudo(*current, &list);
     };
     advance();
     while (current) {
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to