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
commita167cdd3fd0ad8eeef3f2ae049fdb8615899b3a1 (patch)
treeede65df4c827ae1fd275a2707d77e05c8262cbc1 /layout
parent6d93730d0a5abe4fcf707e86352797ce781bf07d (diff)
downloaduxp-a167cdd3fd0ad8eeef3f2ae049fdb8615899b3a1.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) {