fune/testing/web-platform/tests/css/css-flexbox/dynamic-change-simplified-layout.html
Christian Biesinger 42254ec707 Bug 1575407 [wpt PR 18573] - [css-flexbox] Only clear the override size if we're doing layout, a=testonly
Automatic update from web-platform-tests
[css-flexbox] Only clear the override size if we're doing layout

And make ChildUnstretchedLogical{Width,Height} handle the case where
an override size is set (by clearing and re-setting).

The problem with clearing the override size, but not doing layout,
is that we may later do a simplified layout which will then
lay out as shrink-to-fit, which is undesired.

Bug: 992010
Change-Id: I18d3ae66f62cbdc9cdcf76810dc0eff6be915af6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1758940
Commit-Queue: Christian Biesinger <cbiesinger@chromium.org>
Auto-Submit: Christian Biesinger <cbiesinger@chromium.org>
Reviewed-by: David Grogan <dgrogan@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Cr-Commit-Position: refs/heads/master@{#689485}

--

wpt-commits: 768d6294ed324158d4269a833fda94ea7927efe3
wpt-pr: 18573
2019-08-27 04:12:24 +00:00

52 lines
1.3 KiB
HTML

<!DOCTYPE html>
<link rel="match" href="../reference/ref-filled-green-100px-square.xht" />
<link rel="author" title="Google LLC" href="http://www.google.com" />
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#cross-sizing" />
<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=992010" />
<title>Tests that certain dynamic changes don't lead to a flex item being sized as shrink to fit when it should stretch in the cross axis</title>
<style>
#flex {
display: flex;
flex-direction: column;
flex-wrap: wrap;
position: absolute;
top: 20px;
width: 100px;
}
#it1 {
background: green;
flex: none;
height: 100px;
min-height: 0;
position: relative;
}
#child {
position: absolute;
top: 0;
left: 0;
}
</style>
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
<div style="position: relative;">
<div id="flex">
<div id="it1" style=""><div id="child"></div></div>
<div id="it2"></div>
</div>
</div>
<script>
var flex = document.getElementById("flex");
flex.offsetWidth;
var it2 = document.getElementById("it2");
it2.style.width = "50px";
flex.offsetWidth;
flex.style.top = "0px";
var child = document.getElementById("child");
child.style.top = "1px";
flex.offsetWidth;
</script>