[CSS Shaders] Parse mix descriptor
https://bugs.webkit.org/show_bug.cgi?id=114414

Reviewed by Antti Koivisto.

Source/WebCore:

Add support for the 'mix' descriptor in the filter at-rule to support blend modes
and composite operators in CSS Shaders.
Each pixel in the fragment shader will be blended and composited with the
backdrop by taking these values into account.

https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#custom-filter-mix

Tests: css3/filters/custom-with-at-rule-syntax/parsing-mix-property-invalid.html
       css3/filters/custom-with-at-rule-syntax/parsing-mix-property-valid.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp: Added 'mix' property and fail parsing if not inside
    of an @filter rule.
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseFilterRuleMix): New helper function to verify
    values.
(WebCore):
* css/CSSParser.h:
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSPropertyNames.in: Added new property name 'mix'.
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):

LayoutTests:

Tests for the 'mix' descriptor on @filter rule.

* css3/filters/custom-with-at-rule-syntax/parsing-mix-property-invalid-expected.txt: Added.
* css3/filters/custom-with-at-rule-syntax/parsing-mix-property-invalid.html: Added.
* css3/filters/custom-with-at-rule-syntax/parsing-mix-property-valid-expected.txt: Added.
* css3/filters/custom-with-at-rule-syntax/parsing-mix-property-valid.html: Added.
* css3/filters/custom-with-at-rule-syntax/script-tests/parsing-mix-property-invalid.js: Added.
(testInvalidMixProperty):
* css3/filters/custom-with-at-rule-syntax/script-tests/parsing-mix-property-valid.js: Added.
(testMixProperty):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148205 268f45cc-cd09-0410-ab3c-d52691b4dbfc