Make prettydiff work again

r159595 and r159600 both delete code that was used by PrettyDiff.
This restores that code.

R=dpranke@chromium.org, ojan@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159619 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Web Animations CSS: Support animation of -webkit-mask-position

The current implementation does not animate mis-matched
-webkit-mask-position value counts correctly and is expected to fail
the newly added test.
The test passes under the Web Animations implementation.

BUG=257591

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159620 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Web Animations CSS: Fix AnimatableImage to return unmodified keyframe values where possible when interpolating

Currently, if the interpolation fraction is outside the range [0, 1],
AnimatableImage clips the fraction to this range before performing the
cross-fade. This means that for interpolation fractions <=0 and >=1 the result
is a cross-fade with a fraction of 0 and 1 respectively. Instead we should
simply return the unmodified keyframe value for the relevant interpolation
fraction in these cases.

Also add tests for the following properties ...
- border-image-source
- list-style-image
- webkit-mask-box-image-source
- webkit-mask-image

Note that image interpolation that involves a gradient, while handled correctly
at the CSS level (in the case of the Web Animations implementation) is not
rendered by either the legacy or Web Animations implementations. See
http://crbug.com/306316.

BUG=257591
R=dstockwell

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159621 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Use srcset's resource pixel density to determine intrinsic size

According to the spec "When an img element has a current pixel density that is not 1.0,
the element's image data must be treated as if its resolution, in device pixels per CSS pixels,
was the current pixel density."

I've added that support using the following changes:
* HTMLSrcsetParser now returns the image candidate to HTMLImageElement.
* HTMLImageElement passes the devicePixelRatio data to RenderImage, which stores it.
* Bitmap images are scaled using the devicePixelRatio at RenderImageResource's intrinsicSize() and imageSize().
* SVG images are scaled using the devicePixelRatio at RenderReplaced::computeAspectRatioInformationForRenderBox.
* Canvas support added at CanvasRenderingContext2D::sizeFor.


Other changes:
* Removed useless dumpAsText from tests
* Modified one of the tests to use testRunner.dumpResourceRequestCallbacks() instead of
  internals.isPreloaded(), since isPreloaded wasn't reporting what the test was intended to test.
* Added some tests to TestExpectations because of bugs discovered during this CL work.

BUG=299556

Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=159544

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

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