Issue #2828 - Part 6: Assert rules were added to the rule cascade data

This commit is contained in:
Francis Dominic Fajardo 2025-07-19 22:23:19 +08:00 committed by roytam1
commit d3b305b819
2 changed files with 7 additions and 9 deletions

View file

@ -1570,7 +1570,7 @@ CascadeEnumData::CascadeEnumData(nsPresContext* aPresContext,
, mName(aName)
, mIsAnonymous(mName.IsEmpty())
, mIsWeak(aIsWeak)
, mWasFlattened(false)
, mRulesAdded(false)
#ifdef DEBUG
, mParent(aParent)
, mIsRoot(false)
@ -1594,7 +1594,7 @@ CascadeEnumData::CascadeEnumData(nsPresContext* aPresContext,
: mPresContext(aPresContext)
, mIsAnonymous(false)
, mIsWeak(false)
, mWasFlattened(false)
, mRulesAdded(false)
#ifdef DEBUG
, mParent(nullptr)
, mIsRoot(true)
@ -1683,6 +1683,8 @@ CompareWeightData(const void* aArg1, const void* aArg2, void* closure)
void
CascadeEnumData::AddRules()
{
MOZ_ASSERT(!mRulesAdded, "Rule cascade data already filled");
for (css::StyleRule* styleRule : mStyleRules) {
for (nsCSSSelectorList* sel = styleRule->Selector(); sel;
sel = sel->mNext) {
@ -1750,15 +1752,13 @@ CascadeEnumData::AddRules()
nsCSSCounterStyleRule* rule = mData->mCounterStyleRules[i];
mData->mCounterStyleRuleTable.Put(rule->GetName(), rule);
}
mRulesAdded = true;
}
void
CascadeEnumData::EnumerateAllLayers(nsLayerEnumFunc aFunc, void* aData)
{
if (mWasFlattened) {
return;
}
if (mPreLayers.Length() > 0) {
for (CascadeEnumData* pre : mPreLayers) {
pre->EnumerateAllLayers(aFunc, aData);
@ -1772,8 +1772,6 @@ CascadeEnumData::EnumerateAllLayers(nsLayerEnumFunc aFunc, void* aData)
post->EnumerateAllLayers(aFunc, aData);
}
}
mWasFlattened = true;
}
void