Column balancing support in the region based multicol implementation.

Start by setting the column height to the flow thread's height divided
by the number of columns. Then stretch the column height until
contents fits without creating overflowing columns, or until the
maximum allowed column height is reached, whichever comes first. This
may require several layout iterations (but normally only a
couple). For each time we stretch, stretch by the least amount
required to make a difference to which box goes where.

Also make sure that the columns get tall enough to honor orphans
and widows settings.

This change takes some tiny steps in preparing for multiple column
set support.

This patch is ported from WebKit.
https://bugs.webkit.org/show_bug.cgi?id=116033
Reviewed in WebKit by David Hyatt.

BUG=252675

Review URL: https://chromiumcodereview.appspot.com/16943008

git-svn-id: svn://svn.chromium.org/blink/trunk@153028 bbb929c8-8fbe-4397-9dbb-9b2b20218538
42 files changed
tree: 8802c55979fccbe68ae6f1fb1687e0bc7738593a
  1. third_party/