Deduct pagination struts when calculating initial column height.

Even if height is auto, nested multicol sets a column height in the initial
layout pass (set to the remaining height in the outer multicol container; this
all takes place in resetColumnHeight()), which enables pagination in the first
layout pass, and may thus insert pagination struts. We need to exclude those
when calculating the initial balanced column height estimate. The reason why we
set this height before layout in this case, is that we need to figure out how
many fragmentainer groups (rows) we need.

In the future, we may also consider setting a height before layout for
non-nested auto-height multicol containers, as an optimiation, since that may
reduce the number of layout passes in some cases.

Cleaned up the code in MultiColumnFragmentainerGroup::resetColumnHeight(). No
behavioral changes there, and the TODO is adressed with this CL.

R=leviw@chromium.org
BUG=447718

Review URL: https://codereview.chromium.org/1420713003

Cr-Commit-Position: refs/heads/master@{#357338}
6 files changed