mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-14 02:31:59 +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
38 lines
904 B
HTML
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>
|