gecko-dev/layout/reftests/flexbox/flexbox-dyn-changeContent-2.html
Daniel Holbert 6898253a2e Bug 1490890: Make flex item cached-measurement invalidation more targeted. r=emilio
Right now, when a flex item's intrinsic size is invalidated, we clear cached
flex measurements on all of its sibling flex items (indirectly, by virtue of
invalidating the flex container's intrinsic sizes, which does the dirty work of
clearing the measurements).

This is excessive. We do need to clear the measurements on any flex item
whose intrinsic sizes are invalidated, but we don't need to clear them on other
flex items whose intrinsic sizes are still valid.  So: this patch changes our
implementation accordingly.

This patch isn't expected to change behavior - it should just be an
optimization.

Differential Revision: https://phabricator.services.mozilla.com/D5917

--HG--
extra : moz-landing-system : lando
2018-09-15 16:09:00 +00:00

41 lines
952 B
HTML

<!DOCTYPE html>
<html class="reftest-wait">
<head>
<meta charset="UTF-8">
<!-- This testcase ensures that we correctly re-evaluate the percent height
on the purple flex item "itemA", in response to the height of its flex
container being dynamically changed. -->
<style>
#flex {
display: inline-flex;
flex-direction: column;
border: 1px solid black;
max-width: 50px;
height: 60px;
}
#itemA {
background: purple;
height: 50%;
flex: none;
}
#itemB {
background: lightblue;
flex: none;
}
</style>
<script>
function tweak() {
document.getElementById("flex").style.height = "150px";
document.documentElement.removeAttribute("class");
}
window.addEventListener("MozReftestInvalidate", tweak, false);
</script>
</head>
<body>
<div id="flex">
<div id="itemA">A</div>
<div id="itemB">BB</div>
</div>
</body>
</html>