Account for CTM scale when deciding the image resampling algorithm.

ImageQualityController considers the image size and layout size when
computing which resampling algorithm to use, but did not account
for the current transform. This was noticable as 'bouncing' when
scaling an image direclty with a transform.

This patch incorporates the context's CTM (which includes scale
but not zoom) into the resampling calculation. Because the
ImageQualityController runs on a 500ms timer, a manual test
has been added.

BUG=151538

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

git-svn-id: svn://svn.chromium.org/blink/trunk@148944 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Source/bindings should include relative to Source

As discussed on blink-dev, we're moving to using include paths relative to the
Source directory. This CL covers all the .h and .cpp files in Source/bindings.

This CL was generated using fix-includes.py.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@148945 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Simplify and improve BaselineOptimizer.

Post-fork we have a much simpler fallback order for test baselines.
Mainly, there's only one directory (LayoutTests) that is a meta
directory of subdirectories (chromium-mac and chromium-win). That is
to say, it's the only case where baselines earlier in the fallback order can
override the parent's baseline, i.e. if chromium-mac and chromium-win
have the same baseline, then that baseline overwrites the LayoutTests baseline.

As such, we can get a fully optimal baseline by remove redundant
baselines earlier in the fallback order and then checking if
chromium-mac and chromium-win have the same baseline.
This makes the code much simpler and always finds the optimal result.

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

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

This file is asking to be removed. We should oblige.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@148947 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Switched to use HIDDEN_PAGE_DOM_TIMER_THROTTLING feature unconditionally. Removed per-page control over minimum DOM timer intervals; this is subsumed by the new feature. Part of this change reverts http://wkbug.com/54312 ; part switches over to the new feature from http://wkbug.com/98474 and simplifies it slightly.

Removed the ability to toggle throttling per-page; it is unconditionally enabled. The complexity of controlling it from the embedder is undesirable.

More code will be removed once this lands and is rolled in.

Did full layout test run with this change. New test passes. Verified manually that, on hidden pages, requestAnimationFrame callbacks still do not run at all, and that setTimeout callbacks are throttled.

BUG=227153
TEST=fast/dom/timer-throttling-hidden-page.html
R=esprehn@chromium.org,jamesr@chromium.org

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

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