[svg] Add plumbing for color-interpolation-filters property

The default colorspace for filter effects is linear RGB, as specified in
https://www.w3.org/TR/SVG11/painting.html#ColorInterpolationProperties.
Currently we perform all filtering in the destination colorspace. This
CL adds the new presentation attribute with the default setting
(according to the spec) of linear RGB.

This CL does not actually implement any colorspace transformations for
filters.

Bug: skia:10841
Change-Id: Id778ad3fa5cb6e0aed756584a50880edd9d82e2b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352738
Commit-Queue: Tyler Denniston <tdenniston@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
diff --git a/modules/svg/src/SkSVGNode.cpp b/modules/svg/src/SkSVGNode.cpp
index 14b08ac..f87160c 100644
--- a/modules/svg/src/SkSVGNode.cpp
+++ b/modules/svg/src/SkSVGNode.cpp
@@ -88,33 +88,34 @@
             SkSVGAttributeParser::parseProperty<decltype(fPresentationAttributes.f##attrName)>( \
                     svgName, n, v))
 
-    return PARSE_AND_SET("clip-path"        , ClipPath)
-        || PARSE_AND_SET("clip-rule"        , ClipRule)
-        || PARSE_AND_SET("color"            , Color)
-        || PARSE_AND_SET("fill"             , Fill)
-        || PARSE_AND_SET("fill-opacity"     , FillOpacity)
-        || PARSE_AND_SET("fill-rule"        , FillRule)
-        || PARSE_AND_SET("filter"           , Filter)
-        || PARSE_AND_SET("flood-color"      , FloodColor)
-        || PARSE_AND_SET("flood-opacity"    , FloodOpacity)
-        || PARSE_AND_SET("font-family"      , FontFamily)
-        || PARSE_AND_SET("font-size"        , FontSize)
-        || PARSE_AND_SET("font-style"       , FontStyle)
-        || PARSE_AND_SET("font-weight"      , FontWeight)
-        || PARSE_AND_SET("mask"             , Mask)
-        || PARSE_AND_SET("opacity"          , Opacity)
-        || PARSE_AND_SET("stop-color"       , StopColor)
-        || PARSE_AND_SET("stop-opacity"     , StopOpacity)
-        || PARSE_AND_SET("stroke"           , Stroke)
-        || PARSE_AND_SET("stroke-dasharray" , StrokeDashArray)
-        || PARSE_AND_SET("stroke-dashoffset", StrokeDashOffset)
-        || PARSE_AND_SET("stroke-linecap"   , StrokeLineCap)
-        || PARSE_AND_SET("stroke-linejoin"  , StrokeLineJoin)
-        || PARSE_AND_SET("stroke-miterlimit", StrokeMiterLimit)
-        || PARSE_AND_SET("stroke-opacity"   , StrokeOpacity)
-        || PARSE_AND_SET("stroke-width"     , StrokeWidth)
-        || PARSE_AND_SET("text-anchor"      , TextAnchor)
-        || PARSE_AND_SET("visibility"       , Visibility);
+    return PARSE_AND_SET(   "clip-path"                  , ClipPath)
+           || PARSE_AND_SET("clip-rule"                  , ClipRule)
+           || PARSE_AND_SET("color"                      , Color)
+           || PARSE_AND_SET("color-interpolation-filters", ColorInterpolationFilters)
+           || PARSE_AND_SET("fill"                       , Fill)
+           || PARSE_AND_SET("fill-opacity"               , FillOpacity)
+           || PARSE_AND_SET("fill-rule"                  , FillRule)
+           || PARSE_AND_SET("filter"                     , Filter)
+           || PARSE_AND_SET("flood-color"                , FloodColor)
+           || PARSE_AND_SET("flood-opacity"              , FloodOpacity)
+           || PARSE_AND_SET("font-family"                , FontFamily)
+           || PARSE_AND_SET("font-size"                  , FontSize)
+           || PARSE_AND_SET("font-style"                 , FontStyle)
+           || PARSE_AND_SET("font-weight"                , FontWeight)
+           || PARSE_AND_SET("mask"                       , Mask)
+           || PARSE_AND_SET("opacity"                    , Opacity)
+           || PARSE_AND_SET("stop-color"                 , StopColor)
+           || PARSE_AND_SET("stop-opacity"               , StopOpacity)
+           || PARSE_AND_SET("stroke"                     , Stroke)
+           || PARSE_AND_SET("stroke-dasharray"           , StrokeDashArray)
+           || PARSE_AND_SET("stroke-dashoffset"          , StrokeDashOffset)
+           || PARSE_AND_SET("stroke-linecap"             , StrokeLineCap)
+           || PARSE_AND_SET("stroke-linejoin"            , StrokeLineJoin)
+           || PARSE_AND_SET("stroke-miterlimit"          , StrokeMiterLimit)
+           || PARSE_AND_SET("stroke-opacity"             , StrokeOpacity)
+           || PARSE_AND_SET("stroke-width"               , StrokeWidth)
+           || PARSE_AND_SET("text-anchor"                , TextAnchor)
+           || PARSE_AND_SET("visibility"                 , Visibility);
 
 #undef PARSE_AND_SET
 }