mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-24 02:35:41 +00:00
6898253a2e
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
41 lines
952 B
HTML
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>
|