[New Multicolumn] Add RenderMultiColumnSpannerSet.

This is in preparation for column-span:all support.

This CL puts basic set renderer insertion needed by column-span:all into
place. Full support for set management (cope with dynamic changes after
inital layout, etc.) and actual support for layout will be introduced in
follow-up CLs. Likewise for layout tests.

Each column-span:all renderer needs a corresponding
RenderMultiColumnSpannerSet. This means that if there's column content
preceding and following the spanner, we need a RenderMultiColumnSet both
before and after it (while, without spanners, there'd never be any need
for more than one column set).

Some extra attention is required when inserting flow thread
descendants now, because we need to figure out if the renderer
inserted should trigger creation of a new column set or a spanner set.

Wrote some unit tests. Layout tests not possible at this time, since this
CL has no (intentional) web-facing changes.

BUG=347325

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

git-svn-id: svn://svn.chromium.org/blink/trunk@184887 bbb929c8-8fbe-4397-9dbb-9b2b20218538
13 files changed
tree: 587a333d866d7ed58d03c2470c410cc8a754929c
  1. third_party/