Rework the checks for too-few values in feColorMatrix filter.

Revert the prevous fix because it was flat-out wrong for some
filters. Here we add checks at all points the values are used,
because it is impossible to enforce an always-valid m_values vector
inside the FEColorMatrix object.

For example, we need to support any ordering of setAttribute('type', ...)
and setAttribute('values', ...), but the valid number of values depends
on the type. We couldn't set the type from "hueRotate" to "matrix", for
example, without first adding more values than are necessary for the
"hueRotate". That's a bad user experience.

R=fs@opera.com,ed@opera.com,pdr@chromium.org
BUG=468519

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

git-svn-id: svn://svn.chromium.org/blink/trunk@193911 bbb929c8-8fbe-4397-9dbb-9b2b20218538
7 files changed