Bug 1565665 - Make ColumnSet and -moz-column-content frames always "display: block". r=dbaron

We expect ColumnSet and -moz-column-content to be block outside.

If ColumnSets' display style is inherit from ColumnSetWrapper, then a
multicol with "display: inline-block" is going to wrap ColumnSet in a
inline nsLineBox when ColumnSet is added to ColumnSetWrapper, which is
not what we want.

This change fixed [.multicol 4] and [.multicol 6] in
multicol-gap-percentage-001.html with column-span disable, but it can
also fix [.multicol 5] in multicol-gap-percentage-001.html when
column-span is enabled (bug 1489298), so I go ahead and enable the pref
in that test.

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

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Ting-Yu Lin 2019-07-31 21:44:07 +00:00
parent 0a2e2e5949
commit d6aaf98bcd
3 changed files with 4 additions and 9 deletions

View File

@ -51,5 +51,5 @@ pref(layout.css.column-span.enabled,true) == first-line-first-letter.html first-
default-preferences pref(layout.css.column-span.enabled,true)
== min-width-2.html min-width-2-ref.html
== column-balancing-nested-001.html column-balancing-nested-001-ref.html
fails == zero-height-nondirty-reflow.html zero-height-nondirty-reflow-ref.html # bug 1565665
== zero-height-nondirty-reflow.html zero-height-nondirty-reflow-ref.html
default-preferences

View File

@ -256,8 +256,8 @@
/* make unicode-bidi inherit, otherwise it has no effect on column boxes */
unicode-bidi: inherit;
text-overflow: inherit;
/* inherit the outer frame's display, otherwise we turn into an inline */
display: inherit;
/* Both -moz-column-set and -moz-column-content need to be blocks. */
display: block;
/* -moz-column-set and -moz-column-content's max block size cannot exceed
* ColumnSetWrapperFrame's block size. */
max-block-size: 100%;

View File

@ -1,7 +1,2 @@
[multicol-gap-percentage-001.html]
[.multicol 4]
expected: FAIL
[.multicol 6]
expected: FAIL
prefs: [layout.css.column-span.enabled:true]