Add WebInputEvent::GestureShowPress, PlatformEvent::GestureShowPress.

Working towards having consistent definitions of tap down and show press
gestures between blink and chromium. This is the first of 4 patches (see the bug
for details).

In this patch we only listen for show press events, but convert tap down events
to show press events as they are received. This results in no change of
functionality, but will allow chromium to start passing show press events to
blink.

BUG=302752 TEST=Existing layout tests, manual testing with chromium passing
either tap down or show press events.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159060 bbb929c8-8fbe-4397-9dbb-9b2b20218538
[CSS Blending] Implement mix-blend-mode in software.
The implementation follows the CSS Blending and compositing
spec at http://dev.w3.org/fxtf/compositing-1/

It seems that there might be slightly better performance if we use the software path for CSS blending. Basically, on the hardware path, there are some bitmap copy operations involved, and we'd like to avoid this whenever possible.

The hardware implementation, currently in the works will only be followed for elements that force the creation of a composited layer.

BUG=288655

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159061 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Check that all channels in an AudioBuffer are created.

BUG=301847

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159062 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Revert 159039 "Refactor fixed layout mode"

This broke WebViewTest.Shim_TestAutosizeWithPartialAttributes on Linux.

> Refactor fixed layout mode
> 
> Previously, the desktop browser would use FrameView's rect
> as the layout size while the mobile browser would enable
> "fixed layout mode" which then used a layoutSize variable
> that it could set instead.
> 
> This CL removes "fixed layout mode" as a FrameView concept
> and makes the layout size always an explicitly set property
> of the main FrameView. Another way to think about it is that
> we're now always in a fixed-layout, only we keep
> the layout size pegged to the window size (if the
> --enable-viewport flag is set, the layout size is set from
> @viewport/viewport meta).
> 
> Note: WebViewImpl still has a setFixedLayoutSize method 
> that's used by Android WebView.
> 
> BUG=285397
> 
> Review URL: https://codereview.chromium.org/23819019

TBR=bokan@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159063 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Hoist <template> in <head> if encountered in AfterHead insertion mode

R=abarth

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159064 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix webfont loading fallback height issue (first step)

When a webfont is loading, a temporary font is created which may be
used to calculate the layout height of the text and override the
correct fallback font. To prevent that, skip the temporary font in
FontFallbackList::primaryFontData().

FIXME: remaining issues:
1. When the webfont is the only font face in the CSS font-family,
the fallback font is still incorrect when the webfont is loading;
2. When the fallback font is monospace, when it is fell back to,
the default font-size doesn't match (16px vs 13px).

BUG=299010
TEST=http/tests/webfont/fallback-font-while-loading.html

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159065 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Make compositingState explicit

A lot of code uses isComposited() and compositedLayerMapping()
as booleans to check the compositing state of a RenderLayer or
RenderObject. However, in the code there are actually 3 different
states:

(1) not composited (paints into RenderLayerBacking of a
    composited ancestor)
(2) paints into own RenderLayerBacking
(3) has its own RenderLayerBacking but actually still paints
    into composited ancestor.

Furthermore, upcoming changes to compositing will add a
fourth state:

(4) paints into a GraphicsLayer that is shared by a group of
    layers.

This patch removes isComposited() boolean check, and
replaces it with compositingState() that returns an enum.

Most call sites outside of RenderLayer, RenderLayerBacking,
and RenderLayerCompositor have been updated to reflect
what states they really intended to check for.  Remaining call
sites have been replaced with the compositedLayerMapping()
accessor for now, which is exactly equivalent to the old
isComposited() boolean, and those sites will be updated in
follow-up patches.

BUG=261605

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

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