Make sure AllowRepaintScope::m_originalValue is always initialized

Make sure AllowRepaintScope::m_originalValue is always initialized. This fixes a
build error with gcc 4.8:
"""
core/frame/FrameView.h:567:65: error: ‘*((void*)& scoper +8)’ may be used
uninitialized in this function [-Werror=maybe-uninitialized]
"""

R=abarth@chromium.org, abarth, eseidel

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

git-svn-id: svn://svn.chromium.org/blink/trunk@166885 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove CompositingChickenEgg issue in ScrollingCoordinator

Instead of eagerly calling WebLayer::setShouldScrollOnMainThread during style
recalc (which requires knowledge of compositing information), we defer the work
until the next compositing update.

R=vollick@chromium.org
BUG=339846

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

git-svn-id: svn://svn.chromium.org/blink/trunk@166886 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Optimization for image decoding using Skia discardable memory

In the new Skia discardable memory path. We used to use heap memory to
decode. And then copy into the discardable memory allocated by Skia.
There's an opportunity for optimization. If we know that all data has been received
and the image is not a multi frame image. We can decode directly into
the memory given by Skia.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@166887 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove the user gesture restriction for HTMLMediaElement::pause()

This is very nearly dead code, because when the setting is enabled, the
only way to play a video is using play(), which removes all restrictions
if it succeeds. Therefore, the only observable behavior from the pause
restriction is that if pause() is called from an input event handler
when networkState is NETWORK_EMPTY, LoadMediaResource is scheduled.

Further, it hardly seems like a useful restriction even if it worked.
Web sites that pause a video against the will of the user seem rather
improbable. Possibly the restriction was originally added to guard the
scheduling of LoadMediaResource.

Preventing LoadMediaResource is not useful, since there are several
other ways to trigger a load, e.g. just <video src="foo"> in markup.

Note that there was no test for this restriction, but there are tests
for load(), play() and autoplay.

BUG=342339

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

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