Title: [263455] trunk/Source/WebCore
Revision
263455
Author
an...@apple.com
Date
2020-06-24 08:04:31 -0700 (Wed, 24 Jun 2020)

Log Message

Style resolution sometimes fails to create all style resolvers for shadow trees.
https://bugs.webkit.org/show_bug.cgi?id=212946
<rdar://problem/60916215>>

Reviewed by Anders Carlsson.

This can cause problems later.

* style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::Scope::Scope):

Ensure all style resolvers are constructed before traversing.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (263454 => 263455)


--- trunk/Source/WebCore/ChangeLog	2020-06-24 14:48:34 UTC (rev 263454)
+++ trunk/Source/WebCore/ChangeLog	2020-06-24 15:04:31 UTC (rev 263455)
@@ -1,3 +1,18 @@
+2020-06-24  Antti Koivisto  <an...@apple.com>
+
+        Style resolution sometimes fails to create all style resolvers for shadow trees.
+        https://bugs.webkit.org/show_bug.cgi?id=212946
+        <rdar://problem/60916215>>
+
+        Reviewed by Anders Carlsson.
+
+        This can cause problems later.
+
+        * style/StyleTreeResolver.cpp:
+        (WebCore::Style::TreeResolver::Scope::Scope):
+
+        Ensure all style resolvers are constructed before traversing.
+
 2020-06-24  Youenn Fablet  <you...@apple.com>
 
         Add logging to WebRTC video pipeline to check for frame rate stability

Modified: trunk/Source/WebCore/style/StyleTreeResolver.cpp (263454 => 263455)


--- trunk/Source/WebCore/style/StyleTreeResolver.cpp	2020-06-24 14:48:34 UTC (rev 263454)
+++ trunk/Source/WebCore/style/StyleTreeResolver.cpp	2020-06-24 15:04:31 UTC (rev 263455)
@@ -73,6 +73,10 @@
     , sharingResolver(document, resolver.ruleSets(), selectorFilter)
 {
     document.setIsResolvingTreeStyle(true);
+
+    // Ensure all shadow tree resolvers exist so their construction doesn't depend on traversal.
+    for (auto* shadowRoot : document.inDocumentShadowRoots())
+        shadowRoot->styleScope().resolver();
 }
 
 TreeResolver::Scope::Scope(ShadowRoot& shadowRoot, Scope& enclosingScope)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to