From 4e485899748b7b6bbd6025f503ee3a3185bfa743 Mon Sep 17 00:00:00 2001 From: Sebastian Hengst Date: Thu, 20 Jul 2017 15:39:48 +0200 Subject: [PATCH] Backed out changeset 1f1175528301 (bug 1380133) --- layout/style/nsStyleContext.cpp | 23 ++++++++++++++++++----- layout/style/nsStyleContext.h | 7 +++++++ 2 files changed, 25 insertions(+), 5 deletions(-) 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