Make PageAllocator generic and enhance it to support arbitrary alignments.

PageAllocator no longer refers to "super pages", that is a concept specific to
PartitionAlloc.
The PageAllocator API is simplified to handle randomization automatically if
the client passes a NULL address.
The code to handle aligned allocations was genercized to work on Windows and
also support arbitrary alignments (this will be needed in the next CL in the
series). The new code also uses a simpler and easy to understand strategy.
Finally, make the MappingCollision test run on all platforms.

There should be no functional changes because the super page size remains 64KB.

BUG=324960

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163125 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Make DOMWindow methods use the same rounding for zoom as elsewhere

Use adjustForAbsoluteZoom and get rid of the mapping methods in
FrameView which are only used by DOMWindow.

Test added: LayoutTests/fast/media/mq-width-on-zoom.html

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163126 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Move Theme.cpp/.h to platform/

BUG=297477

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163127 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add a UseCounter for the overflowchanged event

By request from PhistucK:
https://groups.google.com/a/chromium.org/d/msg/blink-dev/uaQHXAtaQCg/m46ZdQU3K1IJ

BUG=none

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163128 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Move HistoryItem state setting to FrameLoader.

HistoryItem state is mostly set based on Document state. Let FrameLoader do
this, instead of HistoryController having to reach so far to get it.

BUG=321280

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163129 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Store a copy of generic font settings at CSSFontSelector.

A CSSFontSelector instance does not expect for generic font settings to
ever change within its lifetime. So, it makes sense to copy and stash
them locally and avoid holding/using a Document pointer for this
purpose.

Eventually, CSSFontSelector hopes to become a per-Document font context,
which knows nothing about the Document itself, but provides an API
that a Document could use.

This also fixes bug 236298, since determining generic font no longer relies on CSSFontSelector::m_document.

BUG=324991,236298
R=eae,eseidel,ksakamoto@chromium.org

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

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