CSS Animations: Fix issues related to interpolation of -webkit-filter and add support in Web Animations

* Cleans up the pass-through logic for interpolation with 'none'.
* Removes the pass-through filter as it is no longer needed.
* Adds support for interpolating between filter lists of different
  lengths (as described in editors draft). Previously this only
  happened when one list was empty.
* Fall back to step interpolation when either filter list specifies a
  reference (as described in editors draft).
* Clamps filter values (as described in editors draft).

The differences between the existing implementation and web-animations
are related to default interpolation stepping at 0% vs 50% and web-animations
using specified values at 0 and 1. The remaining failures under 
web-animations are due to the drop-shadow filter using transparent
instead of currentcolor.

Spec: https://dvcs.w3.org/hg/FXTF/raw-file/default/filters/index.html#interpolation-of-filters

BUG=257591,305065,305067

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

git-svn-id: svn://svn.chromium.org/blink/trunk@160522 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Rename InputType::observeFeatureIfVisible to countUsageIfVisible.

The name `observeFeature' came from FeatureObserver, which was the old name of
UseCounter. We should synchronize with the current name `UseCounter.'

BUG=none
TEST=none; no behavior changes.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@160523 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove PassOwnPtr non-member comparison operators

Before the change there was a weird situation with PassOwnPtr comparison operators: class member comparison  operators were defined and their usage was forbidden in compile time (as we should never have two OwnPtrs for the same underlying object), but at the same time non-member comparison operators were defined and their usage was not forbidden.
This CL removes PassOwnPtr non-member comparison operators.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@160524 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Refactoring: Turn FontFaceSet into a Document supplement.

Document and FontFaceset doesn't interact at all.
Such a class is better off to be a supplement to reduce
the Document class complexity.

R=tkent
BUG=none
TEST=none

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

git-svn-id: svn://svn.chromium.org/blink/trunk@160525 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Access a password generator element with its ID.

This reduces the size of PasswordInputType objects, and simplifies the code.
Also, this CL removes a stale comment in PasswordGeneratorButtonElement.cpp. We
have a layout test now.

- PasswordGeneratorButtonElement::create() adds its ID.
- Remove InputType::passwordGeneratorElement().
  HTMLInputElement::passwordGeneratorElement() search UA shadow tree
  for it.
- Remove PasswordInputType::m_generatorButton
- Remove PasswordInputType::destroyShadowSubtree()
  We don't need any special handling.

BUG=none
TEST=none; no visible behavior changes.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@160526 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Gardening: xmlhttprequest-timeout-worker-simple.html is flaky on Win

BUG=311467
TBR=jsbell

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

git-svn-id: svn://svn.chromium.org/blink/trunk@160527 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add two more truncated WebP bitstreams

These are used in http://crrev.com/36363002

TBR=pkasting@chromium.org

BUG=310259

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

git-svn-id: svn://svn.chromium.org/blink/trunk@160528 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Don't depend on layout to do getComputedStyle() on border-radius

border-radius and its longhands are defined to return resolved values
instead of used values, this means a layout is not required to compute
the result of getComputedStyle() on these properties.
This patch fixes getComputedStyle() of border radius properties to
return calc objects instead of resolving them to absolute pixel values.

Relevant spec:
http://dev.w3.org/csswg/cssom/#resolved-values

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

git-svn-id: svn://svn.chromium.org/blink/trunk@160529 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Need to set preferred logical widths dirty bits when switching table layout

FixedTableLayout doesn't use the preferred logical widths from its cells to
determine column widths, however it still need to clear the dirty bits to
get notification when style.width changes on the cells.

When a table switches from table-layout:fixed to auto, the preferred logical
widths become meaningful. The dirty value will be used if we cleared the
dirty bit without computing it.

In this patch we do a massive invalidation to the preferred widths on the
cells when table layout has changed.

BUG=b/11113973
R=jchaffraix@chromium.org

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

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