Make mapLocalToContainer() work properly for content that follows a column spanner.

mapLocalToContainer() uses offsetFromContainer(), which uses columnOffset()
(which calls flowThreadTranslationAtOffset()), which didn't always return the
correct translation relatively to the flow thread.

This also improves the fix for bug 479155.
MultiColumnFragmentainerGroup::flowThreadTranslationAtOffset() needs to return
a translation relative to the flow thread, and the code we had basically just
happened to work by accident (flipping a flow thread portion rectangle for
writing mode around a column set is just bogus, since a column set isn't
sized in the flow thread coordinate space). This solution would cause problems
with the upcoming fix for bug 499706, because then the last column may be
shorter than the others (because it's not completely filled).

BUG=501772
R=dsinclair@chromium.org,jchaffraix@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@197373 bbb929c8-8fbe-4397-9dbb-9b2b20218538
9 files changed