Direct composite canvas background if possible.

This avoids allocating backing for the containter GraphicsLayer.
If the background is opaque, canvas texture can be drawn with
GL blending disabled. If the canvas has global opacity, it also
avoids drawing to an intermediate render-surface.

BUG=236982

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154786 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Blink: Implement DeviceOrientation using the Platform approach.

- Extract shared code into base classes DeviceMotionOrienationController and DeviceMotionOrientationDispatcher
- Add device orientation related classes to the module
- Add device orientation related classes in public/platform
- Add setDeviceMotionListener method to the Platform

BUG=261165

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154787 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Reimplement detectAtToken using SWITCH and CASE

I have retained the existing treatment of hasEscape. I suspect that we generally accept escapes due to the wording of
http://www.w3.org/TR/CSS2/syndata.html#at-rules
http://www.w3.org/TR/CSS2/syndata.html#value-def-identifier
and that we don't accept escapes in particular identifiers due to the wording of
http://www.w3.org/TR/css3-page/#syntax-page-selector

BUG=

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

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

This is attempt #2. Attempt #1 was reverted due to some object lifetime issues
which were tackled in separate bugs.

I also noted the paradigm of RefPtr<AtomicStringImpl> as a map key, which I
replaced with functionally-equivalent AtomicString. This may have the advantage
of less template specializations.

BUG=250050
TEST=layout tests under ASAN ok

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154790 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Clean up StringImpl bits

After refactoring StringImpl, we're now only using 4 bits of flags. This CL
cleans up the StringImpl flags to make that clearer.

R=eseidel

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154793 bbb929c8-8fbe-4397-9dbb-9b2b20218538
StringBuffer should use a single malloc region

This CL re-implements StringBuffer on top of StringImpl::createUninitialized
rather than fastMalloc. This approach is better because the resulting strings
will consist of a single malloc region instead of two. The vast majority of
strings already come from createUninitialized.

This CL removes one of the few remaining clients of the pointer in StringImpl.

R=eseidel
BUG=262320

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

git-svn-id: svn://svn.chromium.org/blink/trunk@154794 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix include paths to resources in blink_resources.grd

Otherwise this will break Chromium when Blink is rolled there, as it happened
in https://codereview.chromium.org/19537010/

R=abarth@chromium.org
BUG=

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

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