Remove the Pagination struct, clean up viewport scroll policy propagation.

The Pagination struct no longer served a purpose, now that the
internal setPagination() API is gone. Without any purpose in its own,
all it did was complicate the code (some unnecessary translations back
and forth involving writing mode, text direction and column
progression direction).

Added a bunch of tests for paged overflow, to test every combination
of writing mode, text direction, overflow direction, and whether it's
set on the viewport or on a regular DIV. DIV tests for paged-y are
omitted, since there's no vertical scrollbar then (which is an old bug
that could be fixed separately).

Also added tests for dynamically switching between paged and
non-paged.

Since this work required some changes regarding how overflow from BODY
or root is propagated to the viewport, I cleaned up this a bit. There
used to be 2 places with duplicated logic (picking the right element
for propagation; root or BODY). With my changes that would easily
become 3. Reduced it to 1 instead. :)

Added some tests for overflow policy propagation as well.

No behavioral changes are intended with this patch, except: it is now
possible to make the BODY renderer itself paginated - if it is the
root element that got its overflow properties propagated to the
viewport
(e.g. <html style="overflow:hidden;"><body style="overflow:-webkit-paged-x;">...)

BUG=

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

git-svn-id: svn://svn.chromium.org/blink/trunk@166923 bbb929c8-8fbe-4397-9dbb-9b2b20218538
96 files changed
tree: 503ab43500846ca3fd0e6642017a7e6a598c727b
  1. third_party/