So, to repeat: The only potentially problematic scenario is when a site
specifies multicol by ONLY using -webkit- prefixes AND at the same time
specifies a height on the multicol container. Currently this doesn't
impose balancing in Blink (which is a spec violation). Shipping
column-fill will change that, and potentially display content in a
different way than what the author had intended (it's highly unlikely
that it would look broken, though). This should be the only problematic
scenario, since, if unprefixed or -moz- prefixed properties are
specified, it must mean that the site is already displayed with multicol
by column-fill supporting engines (IE, Edge, Presto, Gecko).
So, with that in mind, I downloaded data for one random day in December
from httparchive, like this:
gsutil.py -m rsync gs://httparchive/desktop-Dec_15_2015 <destination_folder>
That's about 480000 sites (one har.gz file for each site), 200GB of
compressed data.
I then removed all har.gz files not matching any of "-webkit-columns",
"-webkit-column-count" or "-webkit-column-width".
Then I removed all HARs matching "moz-column" (as mentioned earlier,
Gecko supports column-fill, so if the site cares about Gecko, it should
already work (and it was easier to filter out based on "-moz-column",
than just "column")).
Then I had 150 HAR files left, which I went through manually.
I found about 35 sites that use multicol with ONLY -webkit- prefixes. I
couldn't see that any of those specified a height, so introducing
column-fill isn't likely to cause any changes to those sites (since they
are already balanced), let alone cause breakage.
The only change I stumbled across was on
http://www.melty.com/ (and a
lot of other melty*.* sites, such as
meltyfood.fr). These sites use a
multicol container near the bottom of the page, which links to all the
French Melty sites. The height of this multicol container is specified,
and multicol is enabled via -webkit-columns and columns ("height:280px;
column-count:2; -webkit-column-count:2"), so it'll use columns in IE
(unprefixed), Presto (unprefixed), Blink (prefixed) and WebKit (supports
both prefixed and unprefixed). So, column-fill isn't specified, which
means that it should balance the contents (since "balance" is the
initial value) when column-fill is shipped. This will make Blink render
like the others (i.e. balance). This may be a good example of the
changes we can expect by shipping column-fill, and, if you compare the
rendering in current Blink with that of Edge, I'd say that both
renderings look acceptable, albeit different (and balancing the content
DOES look slightly better, if you ask me).
These findings, plus the fact that WebKit has already shipped
column-fill (which means that they would already be suffering from the
same problems), suggests that shipping column-fill is safe.