From 401a0e12afcaaf3aebc2e8161545ce0166e3d5bd Mon Sep 17 00:00:00 2001 From: janekptacijarabaci Date: Tue, 24 Apr 2018 20:17:56 +0200 Subject: Bug 1209697: Clear ancestor intrinsic sizes when our block size changes --- layout/style/nsStyleStruct.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'layout') diff --git a/layout/style/nsStyleStruct.cpp b/layout/style/nsStyleStruct.cpp index 2f12d6201..eab11b80c 100644 --- a/layout/style/nsStyleStruct.cpp +++ b/layout/style/nsStyleStruct.cpp @@ -1634,9 +1634,14 @@ nsStylePosition::CalcDifference(const nsStylePosition& aNewData, // also have percentage bsizes. This is handled via // nsChangeHint_UpdateComputedBSize which clears intrinsic sizes // for frames that have such replaced elements. + // + // We need to use nsChangeHint_ClearAncestorIntrinsics for + // block-size changes so we clear results of cached CSS Flex + // measuring reflows. hint |= nsChangeHint_NeedReflow | nsChangeHint_UpdateComputedBSize | - nsChangeHint_ReflowChangesSizeOrPosition; + nsChangeHint_ReflowChangesSizeOrPosition | + nsChangeHint_ClearAncestorIntrinsics; } if (isVertical ? heightChanged : widthChanged) { -- cgit v1.2.3