Changeset 248297 in webkit
- Timestamp:
- Aug 6, 2019 9:18:05 AM (5 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r248295 r248297 1 2019-08-06 Antti Koivisto <antti@apple.com> 2 3 Add release assert against InvalidationRuleSet mutation during invalidation 4 https://bugs.webkit.org/show_bug.cgi?id=200467 5 6 Reviewed by Chris Dumez. 7 8 Try to get a more informative stack for rdar://problem/53413013 9 10 * css/DocumentRuleSets.cpp: 11 (WebCore::DocumentRuleSets::~DocumentRuleSets): 12 (WebCore::DocumentRuleSets::collectFeatures const): 13 * css/DocumentRuleSets.h: 14 * style/AttributeChangeInvalidation.cpp: 15 (WebCore::Style::AttributeChangeInvalidation::invalidateStyleWithRuleSets): 16 * style/ClassChangeInvalidation.cpp: 17 (WebCore::Style::ClassChangeInvalidation::invalidateStyleWithRuleSets): 18 1 19 2019-08-06 Antti Koivisto <antti@apple.com> 2 20 -
trunk/Source/WebCore/css/DocumentRuleSets.cpp
r246490 r248297 38 38 namespace WebCore { 39 39 40 // For catching <rdar://problem/53413013> 41 bool DocumentRuleSets::s_isInvalidatingStyleWithRuleSets { false }; 42 40 43 DocumentRuleSets::DocumentRuleSets(StyleResolver& styleResolver) 41 44 : m_styleResolver(styleResolver) … … 45 48 } 46 49 47 DocumentRuleSets::~DocumentRuleSets() = default; 50 DocumentRuleSets::~DocumentRuleSets() 51 { 52 RELEASE_ASSERT(!s_isInvalidatingStyleWithRuleSets); 53 } 48 54 49 55 RuleSet* DocumentRuleSets::userAgentMediaQueryStyle() const … … 149 155 void DocumentRuleSets::collectFeatures() const 150 156 { 157 RELEASE_ASSERT(!s_isInvalidatingStyleWithRuleSets); 158 151 159 m_features.clear(); 152 160 // Collect all ids and rules using sibling selectors (:first-child and similar) -
trunk/Source/WebCore/css/DocumentRuleSets.h
r246490 r248297 77 77 RuleFeatureSet& mutableFeatures(); 78 78 79 static bool s_isInvalidatingStyleWithRuleSets; 80 79 81 private: 80 82 void collectFeatures() const; -
trunk/Source/WebCore/style/AttributeChangeInvalidation.cpp
r246490 r248297 30 30 #include "StyleInvalidationFunctions.h" 31 31 #include "StyleInvalidator.h" 32 #include <wtf/SetForScope.h> 32 33 33 34 namespace WebCore { … … 89 90 void AttributeChangeInvalidation::invalidateStyleWithRuleSets() 90 91 { 92 SetForScope<bool> isInvalidating(DocumentRuleSets::s_isInvalidatingStyleWithRuleSets, true); 93 91 94 for (auto* invalidationRuleSet : m_invalidationRuleSets) { 92 95 Invalidator invalidator(*invalidationRuleSet->ruleSet); -
trunk/Source/WebCore/style/ClassChangeInvalidation.cpp
r246490 r248297 32 32 #include "StyleInvalidator.h" 33 33 #include <wtf/BitVector.h> 34 #include <wtf/SetForScope.h> 34 35 35 36 namespace WebCore { … … 120 121 void ClassChangeInvalidation::invalidateStyleWithRuleSets() 121 122 { 123 SetForScope<bool> isInvalidating(DocumentRuleSets::s_isInvalidatingStyleWithRuleSets, true); 124 122 125 for (auto* invalidationRuleSet : m_invalidationRuleSets) { 123 126 Invalidator invalidator(*invalidationRuleSet->ruleSet);
Note: See TracChangeset
for help on using the changeset viewer.