- Revision
- 283552
- Author
- [email protected]
- Date
- 2021-10-05 08:54:12 -0700 (Tue, 05 Oct 2021)
Log Message
Remove m_autoShrinkToFitEnabled from RuleSet
https://bugs.webkit.org/show_bug.cgi?id=231214
Reviewed by Alan Bujtas.
Make it RuleSetBuilder setting instead, enabled by default.
* style/RuleSet.h:
(WebCore::Style::RuleSet::disableAutoShrinkToFit): Deleted.
* style/RuleSetBuilder.cpp:
(WebCore::Style::RuleSetBuilder::RuleSetBuilder):
(WebCore::Style::m_shrinkToFit):
(WebCore::Style::RuleSetBuilder::~RuleSetBuilder):
(WebCore::Style::m_resolver): Deleted.
* style/RuleSetBuilder.h:
* style/StyleInvalidator.cpp:
(WebCore::Style::Invalidator::Invalidator):
Here we still want to avoid shrink-to-fit since the constructed RuleSets are temporary.
* style/StyleScopeRuleSets.cpp:
(WebCore::Style::ScopeRuleSets::ScopeRuleSets):
(WebCore::Style::ScopeRuleSets::resetAuthorStyle):
(WebCore::Style::ScopeRuleSets::appendAuthorStyleSheets):
Since RuleSetBuilder is scoped over everything we can no use it to do shrink-to-fit.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (283551 => 283552)
--- trunk/Source/WebCore/ChangeLog 2021-10-05 15:53:58 UTC (rev 283551)
+++ trunk/Source/WebCore/ChangeLog 2021-10-05 15:54:12 UTC (rev 283552)
@@ -1,3 +1,32 @@
+2021-10-05 Antti Koivisto <[email protected]>
+
+ Remove m_autoShrinkToFitEnabled from RuleSet
+ https://bugs.webkit.org/show_bug.cgi?id=231214
+
+ Reviewed by Alan Bujtas.
+
+ Make it RuleSetBuilder setting instead, enabled by default.
+
+ * style/RuleSet.h:
+ (WebCore::Style::RuleSet::disableAutoShrinkToFit): Deleted.
+ * style/RuleSetBuilder.cpp:
+ (WebCore::Style::RuleSetBuilder::RuleSetBuilder):
+ (WebCore::Style::m_shrinkToFit):
+ (WebCore::Style::RuleSetBuilder::~RuleSetBuilder):
+ (WebCore::Style::m_resolver): Deleted.
+ * style/RuleSetBuilder.h:
+ * style/StyleInvalidator.cpp:
+ (WebCore::Style::Invalidator::Invalidator):
+
+ Here we still want to avoid shrink-to-fit since the constructed RuleSets are temporary.
+
+ * style/StyleScopeRuleSets.cpp:
+ (WebCore::Style::ScopeRuleSets::ScopeRuleSets):
+ (WebCore::Style::ScopeRuleSets::resetAuthorStyle):
+ (WebCore::Style::ScopeRuleSets::appendAuthorStyleSheets):
+
+ Since RuleSetBuilder is scoped over everything we can no use it to do shrink-to-fit.
+
2021-10-05 Alan Bujtas <[email protected]>
[IFC][Integration] Enable first-line style for modern line layout
Modified: trunk/Source/WebCore/style/RuleSet.h (283551 => 283552)
--- trunk/Source/WebCore/style/RuleSet.h 2021-10-05 15:53:58 UTC (rev 283551)
+++ trunk/Source/WebCore/style/RuleSet.h 2021-10-05 15:54:12 UTC (rev 283552)
@@ -75,7 +75,6 @@
void addToRuleSet(const AtomString& key, AtomRuleMap&, const RuleData&);
void shrinkToFit();
- void disableAutoShrinkToFit() { m_autoShrinkToFitEnabled = false; }
bool hasViewportDependentMediaQueries() const { return m_hasViewportDependentMediaQueries; }
@@ -180,7 +179,6 @@
Vector<ResolverMutatingRule> m_resolverMutatingRulesInLayers;
bool m_hasHostPseudoClassRulesMatchingInShadowTree { false };
- bool m_autoShrinkToFitEnabled { true };
bool m_hasViewportDependentMediaQueries { false };
};
Modified: trunk/Source/WebCore/style/RuleSetBuilder.cpp (283551 => 283552)
--- trunk/Source/WebCore/style/RuleSetBuilder.cpp 2021-10-05 15:53:58 UTC (rev 283551)
+++ trunk/Source/WebCore/style/RuleSetBuilder.cpp 2021-10-05 15:54:12 UTC (rev 283552)
@@ -32,10 +32,11 @@
namespace WebCore {
namespace Style {
-RuleSetBuilder::RuleSetBuilder(RuleSet& ruleSet, const MediaQueryEvaluator& evaluator, Resolver* resolver)
+RuleSetBuilder::RuleSetBuilder(RuleSet& ruleSet, const MediaQueryEvaluator& evaluator, Resolver* resolver, ShrinkToFit shrinkToFit)
: m_ruleSet(&ruleSet)
, m_mediaQueryCollector({ evaluator })
, m_resolver(resolver)
+ , m_shrinkToFit(shrinkToFit)
{
}
@@ -53,7 +54,7 @@
updateDynamicMediaQueries();
addMutatingRulesToResolver();
- if (m_ruleSet->m_autoShrinkToFitEnabled)
+ if (m_shrinkToFit == ShrinkToFit::Enable)
m_ruleSet->shrinkToFit();
}
Modified: trunk/Source/WebCore/style/RuleSetBuilder.h (283551 => 283552)
--- trunk/Source/WebCore/style/RuleSetBuilder.h 2021-10-05 15:53:58 UTC (rev 283551)
+++ trunk/Source/WebCore/style/RuleSetBuilder.h 2021-10-05 15:54:12 UTC (rev 283552)
@@ -28,7 +28,8 @@
class RuleSetBuilder {
public:
- RuleSetBuilder(RuleSet&, const MediaQueryEvaluator&, Resolver* = nullptr);
+ enum class ShrinkToFit { Enable, Disable };
+ RuleSetBuilder(RuleSet&, const MediaQueryEvaluator&, Resolver* = nullptr, ShrinkToFit = ShrinkToFit::Enable);
~RuleSetBuilder();
void addRulesFromSheet(const StyleSheetContents&, const MediaQuerySet* sheetQuery = nullptr);
@@ -71,9 +72,12 @@
RefPtr<RuleSet> m_ruleSet;
MediaQueryCollector m_mediaQueryCollector;
Resolver* m_resolver { nullptr };
+ const ShrinkToFit m_shrinkToFit { ShrinkToFit::Enable };
+
CascadeLayerName m_resolvedCascadeLayerName { };
HashMap<CascadeLayerName, RuleSet::CascadeLayerIdentifier> m_cascadeLayerIdentifierMap { };
RuleSet::CascadeLayerIdentifier m_currentCascadeLayerIdentifier { 0 };
+
Vector<RuleSet::ResolverMutatingRule> m_collectedResolverMutatingRules { };
bool didSeeResolverMutationWithinDynamicMediaQuery { false };
};
Modified: trunk/Source/WebCore/style/StyleInvalidator.cpp (283551 => 283552)
--- trunk/Source/WebCore/style/StyleInvalidator.cpp 2021-10-05 15:53:58 UTC (rev 283551)
+++ trunk/Source/WebCore/style/StyleInvalidator.cpp 2021-10-05 15:54:12 UTC (rev 283552)
@@ -91,9 +91,8 @@
if (m_dirtiesAllStyle)
return;
- m_ownedRuleSet->disableAutoShrinkToFit();
+ RuleSetBuilder ruleSetBuilder(*m_ownedRuleSet, mediaQueryEvaluator, nullptr, RuleSetBuilder::ShrinkToFit::Disable);
- RuleSetBuilder ruleSetBuilder(*m_ownedRuleSet, mediaQueryEvaluator);
for (auto& sheet : sheets)
ruleSetBuilder.addRulesFromSheet(*sheet);
Modified: trunk/Source/WebCore/style/StyleScopeRuleSets.cpp (283551 => 283552)
--- trunk/Source/WebCore/style/StyleScopeRuleSets.cpp 2021-10-05 15:53:58 UTC (rev 283551)
+++ trunk/Source/WebCore/style/StyleScopeRuleSets.cpp 2021-10-05 15:54:12 UTC (rev 283552)
@@ -48,7 +48,6 @@
: m_styleResolver(styleResolver)
{
m_authorStyle = RuleSet::create();
- m_authorStyle->disableAutoShrinkToFit();
}
ScopeRuleSets::~ScopeRuleSets()
@@ -143,7 +142,6 @@
{
m_isAuthorStyleDefined = true;
m_authorStyle = RuleSet::create();
- m_authorStyle->disableAutoShrinkToFit();
}
void ScopeRuleSets::resetUserAgentMediaQueryStyle()
@@ -195,7 +193,6 @@
inspectorCSSOMWrappers.collectFromStyleSheetIfNeeded(cssSheet.get());
}
- m_authorStyle->shrinkToFit();
collectFeatures();
}