<!DOCTYPE html>
<title>CSS Flexbox: Shrink stretched child on relayout</title>
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#flex-property">
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#flex-flow-property">
<meta name="assert" content="This ensures that flexbox shrinks stretched children after removing a sibling, in various writing-modes and flows.">
<style>
.flexbox {
    display: flex;
    background: papayawhip;
    border: 1px solid midnightblue;
    margin: 1em;
    width: 50px;
}

.flexbox > div {
    margin: 5px;
    min-width: 10px;
    min-height: 10px;
    background-color: lawngreen;
}

.column {
    flex-flow: column;
}

.horizontal-tb {
    writing-mode: horizontal-tb;
}
.vertical-lr {
    writing-mode: vertical-lr;
}

.largeitem {
    height: 200px;
    width: 200px;
    margin: 5px;
}
</style>
</head>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/check-layout-th.js"></script>
<body onload="checkLayout('.flexbox')">
<div id=log></div>

<div class="flexbox">
  <div data-expected-height=10 data-expected-width=10></div>
  <div class="largeitem"></div>
</div>
<div class="flexbox column">
  <div data-expected-height=10 data-expected-width=40></div>
  <div class="largeitem"></div>
</div>

<div class="flexbox">
  <div class="horizontal-tb" data-expected-height=10 data-expected-width=10></div>
  <div class="largeitem"></div>
</div>
<div class="flexbox column">
  <div class="horizontal-tb" data-expected-height=10 data-expected-width=40></div>
  <div class="largeitem"></div>
</div>
<div class="flexbox">
  <div class="vertical-lr" data-expected-height=10 data-expected-width=10></div>
  <div class="largeitem"></div>
</div>
<div class="flexbox column">
  <div class="vertical-lr" data-expected-height=10 data-expected-width=40></div>
  <div class="largeitem"></div>
</div>
<script>
document.body.offsetTop;
var targets = document.getElementsByClassName('largeitem');
for (var i = targets.length - 1; i >= 0; i--) {
  targets[i].remove();
};
</script>
