forked from mirrors/gecko-dev
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
52 lines
1.3 KiB
HTML
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>
|