Bug 1735375 - Always reflow fieldset when its available bsize is constrained. r=dholbert

Differential Revision: https://phabricator.services.mozilla.com/D128308
This commit is contained in:
Ting-Yu Lin 2021-10-13 21:22:54 +00:00
Родитель cccc71399f
Коммит c558b924a0
4 изменённых файлов: 59 добавлений и 1 удалений

Просмотреть файл

@ -426,7 +426,8 @@ void nsFieldSetFrame::Reflow(nsPresContext* aPresContext,
inner = GetInner();
}
}
if (aReflowInput.ShouldReflowAllKids() || GetNextInFlow()) {
if (aReflowInput.ShouldReflowAllKids() || GetNextInFlow() ||
aReflowInput.AvailableBSize() != NS_UNCONSTRAINEDSIZE) {
reflowInner = inner != nullptr;
reflowLegend = legend != nullptr;
} else {

Просмотреть файл

@ -0,0 +1,28 @@
<!DOCTYPE html>
<html class="reftest-paged">
<title>CSS Reference: fieldset fragmentation</title>
<link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com">
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1735375">
<meta name="flags" content="paged">
<style>
@page { size:5in 3in; margin:0.5in; }
html,body {
color:black; background-color:white; font:0.5in/1 monospace; padding:0; margin:0;
}
.flexbox {
display: flex;
}
.fieldset {
padding: 0;
margin: 0;
border: 1em solid black;
}
</style>
<div class="flexbox">
<div>
<div>BEFORE</div>
<div class="fieldset">A<br>B<br>C</div>
</div>
</div>
</html>

Просмотреть файл

@ -0,0 +1,28 @@
<!DOCTYPE html>
<html class="reftest-paged">
<title>CSS Test: fieldset fragmentation</title>
<link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com">
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1735375">
<meta name="flags" content="paged">
<style>
@page { size:5in 3in; margin:0.5in; }
html,body {
color:black; background-color:white; font:0.5in/1 monospace; padding:0; margin:0;
}
.flexbox {
display: flex;
}
fieldset {
padding: 0;
margin: 0;
border: 1em solid black;
}
</style>
<div class="flexbox">
<div>
<div>BEFORE</div>
<fieldset>A<br>B<br>C</fieldset>
</div>
</div>
</html>

Просмотреть файл

@ -164,6 +164,7 @@ fuzzy-if(cocoaWidget&&swgl,0-1,0-23) == content-url-pseudo.html content-url-pseu
== fieldset-00J-grid.html fieldset-00J-ref.html
== fieldset-00K.html fieldset-00K-ref.html
== fieldset-00L.html fieldset-00L-ref.html
== fieldset-00M.html fieldset-00M-ref.html
== block-max-height-001.html block-max-height-001-ref.html
== block-max-height-002.html block-max-height-001-ref.html