Primary eng (and PM) emails
mste...@opera.com
Spec
http://www.w3.org/TR/2011/CR-css3-multicol-20110412/
Summary
Improve Blink's multicol implementation and remove -webkit-
prefixes. A big part of the task is to support nested multicols, where
the usecase with a multicol container inside a paged container [1] is
especially interesting. There are other things as well. One CSS
property - namely 'column-fill' - is missing in the current
implementation (it more or less pretends that its computed value is
'auto', which makes column balancing impossible if height is set). The
column balancing support also needs an overhaul; it tends to create
slightly too tall containers.
[1] The multicol implementation improvements will also affect support
for paged containers (overflow:-webkit-paged-x|-webkit-paged-y)
somewhat, since it heavily depends on the multicol implementation.
Pagination (and printing) support of multicol elements will also be
taken care of. Multicol is currently forcefully switched off when
printing.
The support for various 'break' properties also needs to be cleaned
up. Blink supports page-break-after, page-break-before and
page-break-inside from CSS2. Those are fine, but additionally it
supports -webkit-column-break-after, -webkit-column-break-before,
-webkit-column-break-inside. Don't know where these stem from (and old
multicol spec?). They should be removed. Will add support for
break-after, break-before and break-inside instead, as defined in the
multicol spec. No huge attempts will be made at improving the engine's
actual handling of breaks, though.
For now it is probably better if all this work be based on the current
multicol implementation (i.e. the one using ColumnInfo, not the
unfinished implementation based on regions (hidden behind the
regionBasedColumnsEnabled setting)). The reason why I think this is
best is that it is not known when the region based multicol
implementation will be finished. Furthermore, that work will be done
in WebKit. How feasible it will be to import that into Blink depends
on when it's going to be finished.
Motivation
The multicol implementation in Blink has some shortcomings, and other
engines (Gecko, Presto, Trident) are ahead of us. Getting more
standard-compliant multicol support into yet another engine makes
multicol more attractive among authors. Being able to print beautiful
multicol layout is another good thing.
Compatibility Risk
Removing the -webkit- prefixes could break sites that use those and
don't provide a non-prefixed version. Apart from that, this work is
expected to bring the Blink implementation closer to the others and
make it MORE compatible.
OWP launch tracking bug?
There isn't one.
Row on feature dashboard?
Missing.
Requesting simultaneous permission to ship?
Yes.
--
---- Morten Stenshorne, developer, Opera Software ASA ----
---- Office:
+47 23692400 ------ Mobile:
+47 93440112 ----
------------------
http://www.opera.com/ -----------------