gecko-dev/layout/reftests/flexbox/flexbox-dyn-changeContent-1.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

38 lines
904 B
HTML

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