mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-08 19:04:45 +00:00
Bug 959311 - Splitting nsComboboxControlFrame makes no sense so it should always report COMPLETE reflow status. Also, make them page-break-inside:avoid by default. r=bz
This commit is contained in:
parent
df4bd6bd76
commit
0e6b7fff02
17
layout/forms/crashtests/959311.html
Normal file
17
layout/forms/crashtests/959311.html
Normal file
@ -0,0 +1,17 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="reftest-print">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0in; }
|
||||
div { height: 2.5in; }
|
||||
select { height: 0.5in; display:block; padding:20px; page-break-inside:initial; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div></div>
|
||||
<select>
|
||||
<option>Text</option>
|
||||
</select>
|
||||
</body>
|
||||
</html>
|
@ -54,4 +54,5 @@ load 682684.xhtml
|
||||
load 865602.html
|
||||
load 944198.html
|
||||
load 949891.xhtml
|
||||
load 959311.html
|
||||
load 960277-2.html
|
||||
|
@ -866,6 +866,12 @@ nsComboboxControlFrame::Reflow(nsPresContext* aPresContext,
|
||||
buttonRect.width = buttonWidth;
|
||||
mButtonFrame->SetRect(buttonRect);
|
||||
|
||||
if (!NS_INLINE_IS_BREAK_BEFORE(aStatus) &&
|
||||
!NS_FRAME_IS_FULLY_COMPLETE(aStatus)) {
|
||||
// This frame didn't fit inside a fragmentation container. Splitting
|
||||
// a nsComboboxControlFrame makes no sense, so we override the status here.
|
||||
aStatus = NS_FRAME_COMPLETE;
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,17 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="reftest-print">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0in; }
|
||||
div { height: 0in; }
|
||||
select { height: 0.5in; display:block; padding:20px; page-break-before:always; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div></div>
|
||||
<select>
|
||||
<option>Text</option>
|
||||
</select>
|
||||
</body>
|
||||
</html>
|
17
layout/reftests/pagination/combobox-page-break-inside.html
Normal file
17
layout/reftests/pagination/combobox-page-break-inside.html
Normal file
@ -0,0 +1,17 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="reftest-print">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0in; }
|
||||
div { height: 2.5in; }
|
||||
select { height: 0.5in; display:block; padding:20px; page-break-inside:avoid; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div></div>
|
||||
<select>
|
||||
<option>Text</option>
|
||||
</select>
|
||||
</body>
|
||||
</html>
|
@ -60,3 +60,4 @@ skip-if(B2G) == table-caption-splitaftercaption-7.html table-caption-splitafterc
|
||||
# == table-caption-splitaftercaption-10.html blank.html # bug 672654
|
||||
# == table-caption-splitaftercaption-11.html blank.html # bug 672654
|
||||
== column-balancing-break-inside-avoid-2.html column-balancing-break-inside-avoid-2-ref.html
|
||||
== combobox-page-break-inside.html combobox-page-break-inside-ref.html
|
||||
|
@ -206,6 +206,7 @@ select {
|
||||
text-shadow: none;
|
||||
/* No text-decoration reaching inside, by default */
|
||||
display: inline-block;
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
|
||||
/* Need the "select[size][multiple]" selector to override the settings on
|
||||
|
Loading…
Reference in New Issue
Block a user