Bug 1582019 Part 2 - Disable splitting absolute positioned multicol containers. r=dholbert

The crashtest contains an absolute positioning <dialog> multicol
container. If it is fragmented, we end up having a very wrong frame
tree.

Differential Revision: https://phabricator.services.mozilla.com/D49210

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Ting-Yu Lin 2019-10-14 23:32:35 +00:00
Родитель 1142a39a2a
Коммит 3fc5360b6e
3 изменённых файлов: 26 добавлений и 0 удалений

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

@ -0,0 +1,22 @@
<style>
.x {
font-family: serif;
max-width: 0vmin;
top: 1vh
}
* {
border-right: blue 1px solid;
column-count: 9;
}
#a {
column-span: all;
}
#b {
position: relative;
</style>
<h6 id="a">C</h6>
<l>q
p f
<pre id="b" wrap>
<dialog style="word-break:break-all" open class="x">Cp</pre>
<q>6/N_s/"eve"

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

@ -755,4 +755,5 @@ pref(layout.css.column-span.enabled,true) load 1572901.html
pref(layout.css.column-span.enabled,true) load 1573216.html pref(layout.css.column-span.enabled,true) load 1573216.html
load 1574552.html load 1574552.html
pref(layout.css.column-span.enabled,true) load 1574993.html pref(layout.css.column-span.enabled,true) load 1574993.html
pref(layout.css.column-span.enabled,true) load 1582019.html
load 1586470.html load 1586470.html

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

@ -735,6 +735,9 @@ void nsAbsoluteContainingBlock::ReflowAbsoluteFrame(
// blocks yet // blocks yet
!aDelegatingFrame->IsInlineFrame() && !aDelegatingFrame->IsInlineFrame() &&
// Bug 1588623: Support splitting absolute positioned multicol containers.
!aKidFrame->IsColumnSetWrapperFrame() &&
// Don't split things below the fold. (Ideally we shouldn't *have* // Don't split things below the fold. (Ideally we shouldn't *have*
// anything totally below the fold, but we can't position frames // anything totally below the fold, but we can't position frames
// across next-in-flow breaks yet. // across next-in-flow breaks yet.