This CL implements the first draft of Canvas 2D Context Attributes, aka getContext('2d', { alpha: false }).

See also WhatWG proposal http://wiki.whatwg.org/wiki/CanvasOpaque and OWP launch bug http://crbug.com/234297.

Canvas2DLayerBridge and ImageBuffer now have an opacityMode in their constructor, which indicates NonOpaque (the usual, RGBA buffer) or Opaque.
ImageBuffer will be cleared to opaque black instead of transparent black.  Canvas2DLayerBridge will also mark its compositing layer as opaque if set. CanvasRenderingContext2D creates its buffers as Opaque when the getContext() call includes { alpha: false }.

To avoid flag proliferation, this feature is protected by the new "experimental canvas features" flag, under which it and other not-ready-to-ship-by-default canvas features will be developed.

BUG=234742

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149384 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix closure compiler warning in TimelinePresentationModel.js

BUG=236306

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149385 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Wire make_runtime_features.py into the build system so that RuntimeEnabledFeatures.cpp is generated at build time instead of being checked in.

R=abarth@chromium.org

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

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149386 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Teach make_runtime_features.py how to clobber directories in the way of its outputs.

This works around a previous gyp error leaving turd directories on some bots
blocking the generation of RuntimeEnabledFeatures.* and requiring a clobber.
This change makes the manual clobber unecessary.

TBR=dpranke

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149387 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Convert missing-values-last-keyframe to ref-test

BUG=235752

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149388 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Convert animation-offscreen-to-onscreen to ref-test

BUG=235752

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149389 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Convert missing-values-first-keyframe to ref-test

BUG=235752

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149390 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Convert replace-filling-transform to ref-test

BUG=235752

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149391 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Introduce the top-level "public" directory

This directory will contain all the public API headers for Blink.

R=eseidel@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149392 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Use ImageQualityController for SVG images

This patch refactors ImageQualityController to work with RenderObjects
and uses it in RenderSVGImage.cpp. This change makes SVG images
use low quality resampling while animating.

There are a few new failing tests due to using a different resampling
algorithm. These will be rebaselined in a followup patch.

BUG=151538
R=schenney@chromium.org, senorblanco@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@149393 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Convert change-transform-style-during-animation to ref-test

BUG=235752

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

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