Title: [248945] trunk/Source/WebCore
- Revision
- 248945
- Author
- an...@apple.com
- Date
- 2019-08-21 10:05:46 -0700 (Wed, 21 Aug 2019)
Log Message
ASSERTION FAILED: !s_isInvalidatingStyleWithRuleSets in com.apple.WebCore: WebCore::DocumentRuleSets::collectFeatures const
https://bugs.webkit.org/show_bug.cgi?id=200919
<rdar://problem/53413013>
Reviewed by Zalan Bujtas.
Bots show that in some timing-dependent cases we may end up constructing a style resolver in the middle the class change invalidation.
This happens flakily on Pad bots in
media/track/track-node-add-remove.html
media/W3C/video/events/event_loadstart_manual.html
media/W3C/video/readyState/readyState_initial.html
and also reproes locally with lots of runs over these tests.
* style/StyleInvalidationFunctions.h:
(WebCore::Style::traverseRuleFeatures):
Ensure that for elements in shadow tree the host resolver is also always constructed before starting rule-based invalidation.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (248944 => 248945)
--- trunk/Source/WebCore/ChangeLog 2019-08-21 16:52:45 UTC (rev 248944)
+++ trunk/Source/WebCore/ChangeLog 2019-08-21 17:05:46 UTC (rev 248945)
@@ -1,3 +1,26 @@
+2019-08-21 Antti Koivisto <an...@apple.com>
+
+ ASSERTION FAILED: !s_isInvalidatingStyleWithRuleSets in com.apple.WebCore: WebCore::DocumentRuleSets::collectFeatures const
+ https://bugs.webkit.org/show_bug.cgi?id=200919
+ <rdar://problem/53413013>
+
+ Reviewed by Zalan Bujtas.
+
+ Bots show that in some timing-dependent cases we may end up constructing a style resolver in the middle the class change invalidation.
+
+ This happens flakily on Pad bots in
+
+ media/track/track-node-add-remove.html
+ media/W3C/video/events/event_loadstart_manual.html
+ media/W3C/video/readyState/readyState_initial.html
+
+ and also reproes locally with lots of runs over these tests.
+
+ * style/StyleInvalidationFunctions.h:
+ (WebCore::Style::traverseRuleFeatures):
+
+ Ensure that for elements in shadow tree the host resolver is also always constructed before starting rule-based invalidation.
+
2019-08-21 Antoine Quint <grao...@apple.com>
REGRESSION: naver.com - Multiple taps are required to open email
Modified: trunk/Source/WebCore/style/StyleInvalidationFunctions.h (248944 => 248945)
--- trunk/Source/WebCore/style/StyleInvalidationFunctions.h 2019-08-21 16:52:45 UTC (rev 248944)
+++ trunk/Source/WebCore/style/StyleInvalidationFunctions.h 2019-08-21 17:05:46 UTC (rev 248945)
@@ -76,6 +76,10 @@
traverseRuleFeaturesInShadowTree(element, function);
traverseRuleFeaturesForSlotted(element, function);
+
+ // Ensure that the containing tree resolver also exists so it doesn't get created in the middle of invalidation.
+ if (element.isInShadowTree())
+ Style::Scope::forNode(*element.containingShadowRoot()->host()).resolver();
}
}
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes