diff --git a/layout/style/nsStyleContext.cpp b/layout/style/nsStyleContext.cpp index b50eda8eef43..8400857ad26e 100644 --- a/layout/style/nsStyleContext.cpp +++ b/layout/style/nsStyleContext.cpp @@ -185,13 +185,14 @@ nsStyleContext::MoveTo(nsStyleContext* aNewParent) } } +template nsChangeHint -nsStyleContext::CalcStyleDifference(nsStyleContext* aNewContext, - uint32_t* aEqualStructs, - uint32_t* aSamePointerStructs, - uint32_t aRelevantStructs) +nsStyleContext::CalcStyleDifferenceInternal(StyleContextLike* aNewContext, + uint32_t* aEqualStructs, + uint32_t* aSamePointerStructs, + uint32_t aRelevantStructs) { - AUTO_PROFILER_LABEL("nsStyleContext::CalcStyleDifference", CSS); + AUTO_PROFILER_LABEL("nsStyleContext::CalcStyleDifferenceInternal", CSS); static_assert(nsStyleStructID_Length <= 32, "aEqualStructs is not big enough"); @@ -446,6 +447,18 @@ nsStyleContext::CalcStyleDifference(nsStyleContext* aNewContext, return hint & ~nsChangeHint_NeutralChange; } +nsChangeHint +nsStyleContext::CalcStyleDifference(nsStyleContext* aNewContext, + uint32_t* aEqualStructs, + uint32_t* aSamePointerStructs, + uint32_t aRelevantStructs) +{ + return CalcStyleDifferenceInternal(aNewContext, + aEqualStructs, + aSamePointerStructs, + aRelevantStructs); +} + namespace mozilla { void diff --git a/layout/style/nsStyleContext.h b/layout/style/nsStyleContext.h index 44737f784f96..a9b8dbf88bc9 100644 --- a/layout/style/nsStyleContext.h +++ b/layout/style/nsStyleContext.h @@ -287,6 +287,13 @@ public: uint32_t aRelevantStructs = kAllResolvedStructs); +private: + template + nsChangeHint CalcStyleDifferenceInternal(StyleContextLike* aNewContext, + uint32_t* aEqualStructs, + uint32_t* aSamePointerStructs, + uint32_t aRelevantStructs); + public: /** * Get a color that depends on link-visitedness using this and