gecko-dev/testing/web-platform/tests/css/css-flexbox/flex-aspect-ratio-img-row-004.html
David Grogan 49805f7a16 Bug 1609306 [wpt PR 21178] - [FlexNG] Fix flex-basis for aspect ratio items., a=testonly
Automatic update from web-platform-tests
[FlexNG] Fix flex-basis for aspect ratio items.

This refactors flex base size calculation to more explicitly match the
parts of https://drafts.csswg.org/css-flexbox/#algo-main-item . As a
result it is pretty verbose.

Bug: 845235
Change-Id: I1a49c7f153b8e0779b1d1eaa1206bd5056e9da2e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1986054
Commit-Queue: David Grogan <dgrogan@chromium.org>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#740525}

--

wpt-commits: c9da479d951d05cc15469ee94ff5ef96d99f9adf
wpt-pr: 21178
2020-02-14 19:09:35 +00:00

45 lines
1.3 KiB
HTML

<!DOCTYPE html>
<html class="reftest-wait">
<link rel="author" title="Google LLC" href="http://www.google.com" />
<link rel="help" href="https://drafts.csswg.org/css-flexbox/#line-sizing" />
<title>css-flexbox: Tests that we use the aspect ratio, clamped by cross min/max, to compute the main size.</title>
<link rel="match" href="../reference/ref-filled-green-100px-square.xht" />
<style>
#reference-overlapped-red {
position: absolute;
background-color: red;
width: 100px;
height: 100px;
z-index: -1;
}
#flex {
display: flex;
justify-content: flex-start;
align-items: flex-start;
}
img {
min-width: 0; /* Disable min-size: auto so we don't have to think about it. */
min-height: 100px;
}
</style>
<script>
// Force a relayout after the image loads to work around http://crbug.com/1042329
window.onload = (event) => {
flex.style.width = "50px";
flex.offsetTop;
flex.style.removeProperty("width");
flex.offsetTop;
document.documentElement.classList.remove("reftest-wait")
}
</script>
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
<div id="reference-overlapped-red"></div>
<div style="width:60px; height: 100px; background: green; float: left;"></div>
<div id="flex">
<img src="support/20x50-green.png">
</div>