mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-22 17:55:50 +00:00
Bug 1461461 [wpt PR 10994] - [LayoutNG] Fix min/max sizes during layout and intrinsic passes., a=testonly
Automatic update from web-platform-tests[LayoutNG] Fix min/max sizes during layout and intrinsic passes. Essentially this boils down to during min/max auto/percent/calc should be treated the same, either being border+padding or infinity. And during layout they should be taken into account. I added some tests which now match FF/Edge (004,005) which LayoutNG matches, but existing layout fails. The primary difference is change by passing kContent into ResolveBlockLength during the ComputeBlockSizeForFragment function. Bug: 635619 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng Change-Id: I4e0c171a0e29ea5d85a742d85df001647813c1f3 Reviewed-on: https://chromium-review.googlesource.com/1056291 Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org> Reviewed-by: Christian Biesinger <cbiesinger@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#559171} -- wpt-commits: b06b08091c6a39d88957db2389727524258a3140 wpt-pr: 10994
This commit is contained in:
parent
70eaa7c581
commit
b2e0e7f77e
@ -128527,6 +128527,30 @@
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-sizing/intrinsic-percent-non-replaced-004.html": [
|
||||
[
|
||||
"/css/css-sizing/intrinsic-percent-non-replaced-004.html",
|
||||
[
|
||||
[
|
||||
"/css/css-sizing/intrinsic-percent-non-replaced-004-ref.html",
|
||||
"=="
|
||||
]
|
||||
],
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-sizing/intrinsic-percent-non-replaced-005.html": [
|
||||
[
|
||||
"/css/css-sizing/intrinsic-percent-non-replaced-005.html",
|
||||
[
|
||||
[
|
||||
"/css/css-sizing/intrinsic-percent-non-replaced-005-ref.html",
|
||||
"=="
|
||||
]
|
||||
],
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-style-attr/style-attr-braces-001.xht": [
|
||||
[
|
||||
"/css/css-style-attr/style-attr-braces-001.xht",
|
||||
@ -254817,6 +254841,16 @@
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-sizing/intrinsic-percent-non-replaced-004-ref.html": [
|
||||
[
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-sizing/intrinsic-percent-non-replaced-005-ref.html": [
|
||||
[
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-speech/OWNERS": [
|
||||
[
|
||||
{}
|
||||
@ -519056,6 +519090,22 @@
|
||||
"43d44ad3a75e6abb9d66d06c3cdc71dbcb366651",
|
||||
"reftest"
|
||||
],
|
||||
"css/css-sizing/intrinsic-percent-non-replaced-004-ref.html": [
|
||||
"4b93517397b4332b3062804e2d6047afdd169fae",
|
||||
"support"
|
||||
],
|
||||
"css/css-sizing/intrinsic-percent-non-replaced-004.html": [
|
||||
"42bc0191ff3ba22c5ceb377f1bc68131d652509e",
|
||||
"reftest"
|
||||
],
|
||||
"css/css-sizing/intrinsic-percent-non-replaced-005-ref.html": [
|
||||
"a2cd75ab26376e74e26414013fc34b8e7fdb1a68",
|
||||
"support"
|
||||
],
|
||||
"css/css-sizing/intrinsic-percent-non-replaced-005.html": [
|
||||
"33aa880de7eb7c4128022871dfd5e2895be30dcc",
|
||||
"reftest"
|
||||
],
|
||||
"css/css-speech/Integer.html": [
|
||||
"8db91e711b22ead393b1d9a18c224a7f838b85b0",
|
||||
"manual"
|
||||
|
@ -0,0 +1,56 @@
|
||||
<!DOCTYPE html>
|
||||
<title>Reference</title>
|
||||
|
||||
<style>
|
||||
/* establish context */
|
||||
.container {
|
||||
clear: both;
|
||||
padding: 10px;
|
||||
width: 0;
|
||||
}
|
||||
|
||||
span {
|
||||
display: inline-block;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background-color: blue;
|
||||
}
|
||||
|
||||
/* visualize size contribution */
|
||||
.container > div {
|
||||
float: left;
|
||||
border: solid orange 20px;
|
||||
border-style: none solid;
|
||||
}
|
||||
.container > div > div {
|
||||
border-right: solid 20px aqua;
|
||||
writing-mode: vertical-rl;
|
||||
width: 40px;
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
/* controls for min-width */
|
||||
/* content = 100% = 80px = 4ch + border */
|
||||
/* choose sizes that are larger than content to see if how they take effect */
|
||||
.container > div > .raw-percent {
|
||||
width: 120px;
|
||||
}
|
||||
.container > div > .calc-percent,
|
||||
.container > div > .no-percent {
|
||||
width: 160px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<!-- calculating min-content widths -->
|
||||
<div class='container'>
|
||||
<div><div class="control"><span></span></div></div>
|
||||
</div>
|
||||
<div class='container'>
|
||||
<div style='width: 60px;'><div class="raw-percent"><span></span></div></div>
|
||||
</div>
|
||||
<div class='container'>
|
||||
<div style='width: 60px;'><div class="calc-percent"><span></span></div></div>
|
||||
</div>
|
||||
<div class='container'>
|
||||
<div><div class="no-percent"><span></span></div></div>
|
||||
</div>
|
@ -0,0 +1,60 @@
|
||||
<!DOCTYPE html>
|
||||
<title>Percentages of width on non-replaced blocks are ignored for intrinsic sizing and resolved afterwards</title>
|
||||
<link rel="help" href="https://www.w3.org/TR/css-sizing-3/#intrinsic-contribution">
|
||||
<link rel="match" href="intrinsic-percent-non-replaced-004-ref.html">
|
||||
|
||||
<style>
|
||||
/* establish context */
|
||||
.container {
|
||||
clear: both;
|
||||
padding: 10px;
|
||||
width: 0;
|
||||
}
|
||||
|
||||
span {
|
||||
display: inline-block;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background-color: blue;
|
||||
}
|
||||
|
||||
/* visualize size contribution */
|
||||
.container > div {
|
||||
float: left;
|
||||
border: solid orange 20px;
|
||||
border-style: none solid;
|
||||
}
|
||||
.container > div > div {
|
||||
border-right: solid 20px aqua;
|
||||
writing-mode: vertical-rl;
|
||||
width: 40px;
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
/* test width */
|
||||
/* content = 100% = 60px = 40px + border */
|
||||
/* choose sizes that are different than content to see if how they take effect */
|
||||
.raw-percent {
|
||||
min-width: 200%;
|
||||
}
|
||||
.calc-percent {
|
||||
min-width: calc(160px + 0%);
|
||||
}
|
||||
.no-percent {
|
||||
min-width: 160px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<!-- calculating min-content widths -->
|
||||
<div class='container'>
|
||||
<div><div class="control"><span></span></div></div>
|
||||
</div>
|
||||
<div class='container'>
|
||||
<div><div class="raw-percent"><span></span></div></div>
|
||||
</div>
|
||||
<div class='container'>
|
||||
<div><div class="calc-percent"><span></span></div></div>
|
||||
</div>
|
||||
<div class='container'>
|
||||
<div><div class="no-percent"><span></span></div></div>
|
||||
</div>
|
@ -0,0 +1,56 @@
|
||||
<!DOCTYPE html>
|
||||
<title>Reference</title>
|
||||
|
||||
<style>
|
||||
/* establish context */
|
||||
.container {
|
||||
clear: both;
|
||||
padding: 10px;
|
||||
width: 0;
|
||||
}
|
||||
|
||||
span {
|
||||
display: inline-block;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background-color: blue;
|
||||
}
|
||||
|
||||
/* visualize size contribution */
|
||||
.container > div {
|
||||
float: left;
|
||||
border: solid orange 20px;
|
||||
border-style: none solid;
|
||||
}
|
||||
.container > div > div {
|
||||
border-right: solid 20px aqua;
|
||||
writing-mode: vertical-rl;
|
||||
width: 80px;
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
/* test width */
|
||||
/* content = 100% = 100px = 80px + border */
|
||||
/* choose sizes that are different than content to see if how they take effect */
|
||||
.container > div > .raw-percent {
|
||||
width: 50px;
|
||||
}
|
||||
.container > div > .calc-percent,
|
||||
.container > div > .no-percent {
|
||||
width: 40px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<!-- calculating min-content widths -->
|
||||
<div class='container'>
|
||||
<div><div class="control"><span></span></div></div>
|
||||
</div>
|
||||
<div class='container'>
|
||||
<div style='width: 100px;'><div class="raw-percent"><span></span></div></div>
|
||||
</div>
|
||||
<div class='container'>
|
||||
<div style='width: 100px;'><div class="calc-percent"><span></span></div></div>
|
||||
</div>
|
||||
<div class='container'>
|
||||
<div><div class="no-percent"><span></span></div></div>
|
||||
</div>
|
@ -0,0 +1,60 @@
|
||||
<!DOCTYPE html>
|
||||
<title>Percentages of width on non-replaced blocks are ignored for intrinsic sizing and resolved afterwards</title>
|
||||
<link rel="help" href="https://www.w3.org/TR/css-sizing-3/#intrinsic-contribution">
|
||||
<link rel="match" href="intrinsic-percent-non-replaced-005-ref.html">
|
||||
|
||||
<style>
|
||||
/* establish context */
|
||||
.container {
|
||||
clear: both;
|
||||
padding: 10px;
|
||||
width: 0;
|
||||
}
|
||||
|
||||
span {
|
||||
display: inline-block;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background-color: blue;
|
||||
}
|
||||
|
||||
/* visualize size contribution */
|
||||
.container > div {
|
||||
float: left;
|
||||
border: solid orange 20px;
|
||||
border-style: none solid;
|
||||
}
|
||||
.container > div > div {
|
||||
border-right: solid 20px aqua;
|
||||
writing-mode: vertical-rl;
|
||||
width: 80px;
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
/* test width */
|
||||
/* content = 100% = 100px = 80px + border */
|
||||
/* choose sizes that are different than content to see if how they take effect */
|
||||
.raw-percent {
|
||||
max-width: 50%;
|
||||
}
|
||||
.calc-percent {
|
||||
max-width: calc(40px + 0%);
|
||||
}
|
||||
.no-percent {
|
||||
max-width: 40px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<!-- calculating min-content widths -->
|
||||
<div class='container'>
|
||||
<div><div class="control"><span></span></div></div>
|
||||
</div>
|
||||
<div class='container'>
|
||||
<div><div class="raw-percent"><span></span></div></div>
|
||||
</div>
|
||||
<div class='container'>
|
||||
<div><div class="calc-percent"><span></span></div></div>
|
||||
</div>
|
||||
<div class='container'>
|
||||
<div><div class="no-percent"><span></span></div></div>
|
||||
</div>
|
Loading…
Reference in New Issue
Block a user