Rebaseline tests (again) after r155279.

TBR=ccameron@chromium.org

git-svn-id: svn://svn.chromium.org/blink/trunk@155354 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Rewrite WebFontInfo::familyForChar to be much faster

This was an epic perf win for Layout time on all
international pages on Linux (and likely ChromeOS).

For example, on blog.163.com went from:
Layout: Layout= 5815.29980469 ms
Layout_avg: Layout_avg= 111.832688552 ms
Layout_max: Layout_max= 4806.04858398 ms

To:
Layout: Layout= 977.805175781 ms
Layout_avg: Layout_avg= 22.2228449041 ms
Layout_max: Layout_max= 364.959472656 ms
(still awful, but much better).

FontConfig is still the top of a --single-process
profile for many international sites (all the
FontConfig code normally executes in the Browser
process) but after this change FontConfig accounts for
2-10% of total time instead of 90% of total time.

The old code used to query FontConfig with the
char and locale for every time Blink needed
a fallback font for a character.

The new code only queries FontConfig once for each
locale, saves the resulting FcFontSet.  When we need
to know the correct font for a char, we walk the
fonts in the set asking each if they have a glyph for
that character.

This design is based on a discussion with Behdad.

The existing logic had a bunch of code to work around
bugs where FontConfig would return invalid fonts.
To avoid walking invalid fonts for each lookup
we create a Vector of FontCache objects at CachedFontSet
creation time and only walk valid CachedFonts at
lookup time.

This change resulted in the "missing glyph" changing
for several tests.  I'm not yet sure if that's
a regression or progression.  The new missing glyph
is slightly larger than the old one in the effected tests.

BUG=266214
R=behdad@google.com

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

git-svn-id: svn://svn.chromium.org/blink/trunk@155355 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add a layout test for the RenderTableCell code in r145305.

That patch came with tests, but if you delete the added RenderTableCell code,
they still pass. I reconstructed this from the original page that broke
when this regression first happened.

Review URL: https://chromiumcodereview.appspot.com/21579005

git-svn-id: svn://svn.chromium.org/blink/trunk@155356 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Separate ScrollbarThemeMac into separate files

This is the second of two steps. The first separated the classes
and methods.

This is a purely mechanical change that breaks 
ScrollbarThemeMac.mm and ScrollbarThemeMac.h into separate
files for Common, Overlay, and NonOverlay 

BUG=133093

Review URL: https://chromiumcodereview.appspot.com/21108004

git-svn-id: svn://svn.chromium.org/blink/trunk@155357 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Split fullscreen controller from WebViewImpl

WebViewImpl contains too much code. This patch moves fullscreen-related code
to a seperate helper class FullscreenController.

There was a core::FullscreenController that implements the WHATCG Fullscreen API. That class is renamed to FullscreenElementStack.

No tests needed. Does not change behavior.

R=abarth@chromium.org

Review URL: https://chromiumcodereview.appspot.com/21316002

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