Title: [281813] trunk/Source/WebCore
- Revision
- 281813
- Author
- [email protected]
- Date
- 2021-08-31 12:04:19 -0700 (Tue, 31 Aug 2021)
Log Message
REGRESSION (r272900): wpt.fyi loading performance is very slow (regressed, and slower than other browsers)
https://bugs.webkit.org/show_bug.cgi?id=229680
<rdar://problem/82541045>
Reviewed by Darin Adler.
The page is inserting new children to shadow host and on each insertion we are traversing the composed
tree to tear down renderers, even though there are none.
* rendering/updating/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::tearDownRenderersAfterSlotChange):
If the host doesn't have a renderer or 'display:contents' there can't be any renderers left in the subtree.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (281812 => 281813)
--- trunk/Source/WebCore/ChangeLog 2021-08-31 18:47:08 UTC (rev 281812)
+++ trunk/Source/WebCore/ChangeLog 2021-08-31 19:04:19 UTC (rev 281813)
@@ -1,3 +1,19 @@
+2021-08-31 Antti Koivisto <[email protected]>
+
+ REGRESSION (r272900): wpt.fyi loading performance is very slow (regressed, and slower than other browsers)
+ https://bugs.webkit.org/show_bug.cgi?id=229680
+ <rdar://problem/82541045>
+
+ Reviewed by Darin Adler.
+
+ The page is inserting new children to shadow host and on each insertion we are traversing the composed
+ tree to tear down renderers, even though there are none.
+
+ * rendering/updating/RenderTreeUpdater.cpp:
+ (WebCore::RenderTreeUpdater::tearDownRenderersAfterSlotChange):
+
+ If the host doesn't have a renderer or 'display:contents' there can't be any renderers left in the subtree.
+
2021-08-31 Ross Kirsling <[email protected]>
Unreviewed build fix for PlayStation following r241123.
Modified: trunk/Source/WebCore/rendering/updating/RenderTreeUpdater.cpp (281812 => 281813)
--- trunk/Source/WebCore/rendering/updating/RenderTreeUpdater.cpp 2021-08-31 18:47:08 UTC (rev 281812)
+++ trunk/Source/WebCore/rendering/updating/RenderTreeUpdater.cpp 2021-08-31 19:04:19 UTC (rev 281813)
@@ -540,6 +540,8 @@
void RenderTreeUpdater::tearDownRenderersAfterSlotChange(Element& host)
{
ASSERT(host.shadowRoot());
+ if (!host.renderer() && !host.hasDisplayContents())
+ return;
auto* view = host.document().renderView();
if (!view)
return;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes