chromium/third_party/blink/web_tests/fast/css-grid-layout/relayout-justify-self-changed.html

<!DOCTYPE HTML>
<link href="resources/grid.css" rel="stylesheet">
<style>
.grid {
  grid: 100px 100px / 150px;
  width: 150px;
  position: relative;
}
.fromStretch { justify-self: stretch; }
.toStretch { justify-self: end; }
</style>
<script src="../../resources/check-layout.js"></script>
<p>Tests how a justify-self style change requires a relayout of the grid and previously stretched items.</p>
<p>The grid bellow had initially 'justify-self: end' and was changed to 'stretch'.</p>
<div class="grid">
    <div style="height: 50px;" class="toStretch firstRowFirstColumn" data-expected-width="150" data-offset-x="0">
        <div style="width: 50px;"></div>
    </div>
    <div style="height: 50px;" class="toStretch secondRowFirstColumn" data-expected-width="150" data-offset-x="0">
        <div style="width: 100px;"></div>
    </div>
</div>
<p>The grid bellow was initially stretched and it has now 'justify-self: center'.</p>
<div class="grid">
    <div style="height: 50px;" class="fromStretch firstRowFirstColumn" data-expected-width="50" data-offset-x="50">
        <div style="width: 50px;"></div>
    </div>
    <div style="height: 50px;" class="fromStretch secondRowFirstColumn" data-expected-width="100" data-offset-x="25">
        <div style="width: 100px;"></div>
    </div>
</div>
<script>
document.body.offsetLeft;
document.getElementsByClassName('toStretch')[0].style.justifySelf = 'stretch';
document.getElementsByClassName('toStretch')[1].style.justifySelf = 'stretch';
document.getElementsByClassName('fromStretch')[0].style.justifySelf = 'center';
document.getElementsByClassName('fromStretch')[1].style.justifySelf = 'center';
checkLayout(".grid");
</script>