import from UXP: Issue #2828 – Part 10: Clean up cascade layer constructor (a922ec08)

This commit is contained in:
2025-07-26 00:59:25 +08:00
parent cbf54b1f1c
commit 28c6452d78
3 changed files with 13 additions and 60 deletions
+9 -46
View File
@@ -1545,24 +1545,20 @@ InitWeightEntry(PLDHashEntryHdr* hdr, const void* key)
};
CascadeLayer::CascadeLayer(nsPresContext* aPresContext,
nsString aName,
#ifdef DEBUG
CascadeLayer* aParent,
#endif
bool aIsWeak,
nsTArray<css::DocumentRule*>& aDocumentRules,
nsDocumentRuleResultCacheKey& aDocumentKey,
SheetType aSheetType,
bool aMustGatherDocumentRules,
nsMediaQueryResultCacheKey& aCacheKey)
: mPresContext(aPresContext)
, mName(aName)
, mIsAnonymous(mName.IsEmpty())
, mIsWeak(aIsWeak)
, mIsAnonymous(true)
, mIsStrong(false)
, mRulesAdded(false)
#ifdef DEBUG
, mParent(aParent)
, mIsRoot(false)
#endif
, mDocumentRules(aDocumentRules)
, mDocumentCacheKey(aDocumentKey)
@@ -1571,31 +1567,12 @@ CascadeLayer::CascadeLayer(nsPresContext* aPresContext,
, mRulesByWeight(&sRulesByWeightOps, sizeof(RuleByWeightEntry), 32)
, mCacheKey(aCacheKey)
{
Initialize();
}
mData = new RuleCascadeData(eCompatibility_NavQuirks ==
mPresContext->CompatibilityMode());
CascadeLayer::CascadeLayer(nsPresContext* aPresContext,
nsTArray<css::DocumentRule*>& aDocumentRules,
nsDocumentRuleResultCacheKey& aDocumentKey,
SheetType aSheetType,
bool aMustGatherDocumentRules,
nsMediaQueryResultCacheKey& aCacheKey)
: mPresContext(aPresContext)
, mIsAnonymous(false)
, mIsWeak(false)
, mRulesAdded(false)
#ifdef DEBUG
, mParent(nullptr)
, mIsRoot(true)
#endif
, mDocumentRules(aDocumentRules)
, mDocumentCacheKey(aDocumentKey)
, mSheetType(aSheetType)
, mMustGatherDocumentRules(aMustGatherDocumentRules)
, mRulesByWeight(&sRulesByWeightOps, sizeof(RuleByWeightEntry), 32)
, mCacheKey(aCacheKey)
{
Initialize();
// Initialize our arena
PL_INIT_ARENA_POOL(
&mArena, "CascadeLayerArena", NS_CASCADELAYER_ARENA_BLOCK_SIZE);
}
CascadeLayer::~CascadeLayer()
@@ -1617,16 +1594,16 @@ CascadeLayer::CreateNamedChildLayer(const nsTArray<nsString>& aPath)
// Create new layer if it doesn't exist.
if (!mLayers.Get(name, &childLayer)) {
childLayer = new CascadeLayer(mPresContext,
name,
#ifdef DEBUG
this,
#endif
false,
mDocumentRules,
mDocumentCacheKey,
mSheetType,
mMustGatherDocumentRules,
mCacheKey);
childLayer->mName = name;
childLayer->mIsAnonymous = false;
mPreLayers.AppendElement(childLayer);
mLayers.Put(name, childLayer);
}
@@ -1645,13 +1622,10 @@ CascadeLayer::CreateNamedChildLayer(const nsTArray<nsString>& aPath)
CascadeLayer*
CascadeLayer::CreateAnonymousChildLayer()
{
nsString name;
CascadeLayer* childLayer = new CascadeLayer(mPresContext,
name,
#ifdef DEBUG
this,
#endif
false,
mDocumentRules,
mDocumentCacheKey,
mSheetType,
@@ -1762,14 +1736,3 @@ CascadeLayer::EnumerateAllLayers(nsLayerEnumFunc aFunc, void* aData)
}
}
}
void
CascadeLayer::Initialize()
{
mData = new RuleCascadeData(eCompatibility_NavQuirks ==
mPresContext->CompatibilityMode());
// Initialize our arena
PL_INIT_ARENA_POOL(
&mArena, "CascadeLayerArena", NS_CASCADELAYER_ARENA_BLOCK_SIZE);
}
+1 -14
View File
@@ -325,30 +325,20 @@ private:
struct CascadeLayer
{
CascadeLayer(nsPresContext* aPresContext,
nsString aName,
#ifdef DEBUG
CascadeLayer* aParent,
#endif
bool aIsWeak,
nsTArray<css::DocumentRule*>& aDocumentRules,
nsDocumentRuleResultCacheKey& aDocumentKey,
SheetType aSheetType,
bool aMustGatherDocumentRules,
nsMediaQueryResultCacheKey& aCacheKey);
CascadeLayer(nsPresContext* aPresContext,
nsTArray<css::DocumentRule*>& aDocumentRules,
nsDocumentRuleResultCacheKey& aDocumentKey,
SheetType aSheetType,
bool aMustGatherDocumentRules,
nsMediaQueryResultCacheKey& aCacheKey);
~CascadeLayer();
nsPresContext* mPresContext;
nsString mName;
bool mIsAnonymous;
bool mIsWeak;
bool mIsStrong;
bool mRulesAdded;
RuleCascadeData* mData;
@@ -367,7 +357,6 @@ struct CascadeLayer
#ifdef DEBUG
CascadeLayer* mParent;
bool mIsRoot;
#endif
nsTArray<CascadeLayer*> mPreLayers;
nsTArray<CascadeLayer*> mPostLayers;
@@ -381,8 +370,6 @@ struct CascadeLayer
void AddRules();
private:
void Initialize();
static const PLDHashTableOps sRulesByWeightOps;
};
+3
View File
@@ -735,6 +735,9 @@ nsCSSRuleProcessor::RefreshGroup(nsPresContext* aPresContext)
nsAutoPtr<RuleProcessorGroup> ruleProcessorSet(
new RuleProcessorGroup(aPresContext->Medium()));
CascadeLayer* implicitLayer(new CascadeLayer(aPresContext,
#if DEBUG
nullptr,
#endif
mDocumentRules,
mDocumentCacheKey,
mSheetType,