summaryrefslogtreecommitdiff
path: root/layout
diff options
context:
space:
mode:
authorjanekptacijarabaci <janekptacijarabaci@seznam.cz>2018-04-24 20:17:56 +0200
committerjanekptacijarabaci <janekptacijarabaci@seznam.cz>2018-04-24 20:17:56 +0200
commit401a0e12afcaaf3aebc2e8161545ce0166e3d5bd (patch)
treeede65df4c827ae1fd275a2707d77e05c8262cbc1 /layout
parent810a3245a8c609c495be4dace044713b9717f0c0 (diff)
downloaduxp-401a0e12afcaaf3aebc2e8161545ce0166e3d5bd.tar.gz
Bug 1209697: Clear ancestor intrinsic sizes when our block size changes
Diffstat (limited to 'layout')
-rw-r--r--layout/style/nsStyleStruct.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/layout/style/nsStyleStruct.cpp b/layout/style/nsStyleStruct.cpp
index 2f12d62018..eab11b80c0 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) {