| Index: Source/build/scripts/templates/StyleBuilderFunctions.cpp.tmpl | 
| diff --git a/Source/build/scripts/templates/StyleBuilderFunctions.cpp.tmpl b/Source/build/scripts/templates/StyleBuilderFunctions.cpp.tmpl | 
| index 4e4f8dfbe31d586016239acddbd3d8d84a86fd30..97b552a043173e8f05fc3bbce1e2e5ef2814ec96 100644 | 
| --- a/Source/build/scripts/templates/StyleBuilderFunctions.cpp.tmpl | 
| +++ b/Source/build/scripts/templates/StyleBuilderFunctions.cpp.tmpl | 
| @@ -607,19 +607,40 @@ static bool lengthTypeAndValueMatch(const BorderImageLengthBox& borderImageLengt | 
|  | 
| {{declare_value_function(property_id)}} | 
| { | 
| -    if (value->isSVGPaint()) { | 
| -        SVGPaint* svgPaint = toSVGPaint(value); | 
| - | 
| -        Color color; | 
| -        if (svgPaint->paintType() == SVGPaint::SVG_PAINTTYPE_CURRENTCOLOR | 
| -                || svgPaint->paintType() == SVGPaint::SVG_PAINTTYPE_URI_CURRENTCOLOR) | 
| -            color = state.style()->color(); | 
| -        else | 
| -            color = svgPaint->color(); | 
| - | 
| -        {{set_value(property)}}(svgPaint->paintType(), | 
| -            color, | 
| -            svgPaint->uri(), | 
| +    String url; | 
| +    if (value->isValueList()) { | 
| +        CSSValueList* list = toCSSValueList(value); | 
| +        ASSERT(list->length() > 1); | 
| + | 
| +        if (!list->item(0)->isPrimitiveValue()) | 
| +            return; | 
| + | 
| +        CSSPrimitiveValue* pValue = toCSSPrimitiveValue(list->item(0)); | 
| +        if (!pValue->isURI()) | 
| +            return; | 
| + | 
| +        url = pValue->getStringValue(); | 
| +        value = list->item(1); | 
| +    } | 
| +    if (value->isPrimitiveValue()) { | 
| +        CSSPrimitiveValue* pValue = toCSSPrimitiveValue(value); | 
| +        Color c; | 
| +        SVGPaintType ptype = SVG_PAINTTYPE_RGBCOLOR; | 
| +        if (pValue->isRGBColor()) { | 
| +            c = pValue->getRGBA32Value(); | 
| +            ptype = url.isEmpty() ? SVG_PAINTTYPE_RGBCOLOR : SVG_PAINTTYPE_URI_RGBCOLOR; | 
| +        } else if (pValue->getValueID() == CSSValueCurrentcolor) { | 
| +            c = state.style()->color(); | 
| +            ptype = url.isEmpty() ? SVG_PAINTTYPE_CURRENTCOLOR : SVG_PAINTTYPE_URI_CURRENTCOLOR; | 
| +        } else if (pValue->getValueID() == CSSValueNone) { | 
| +            ptype = url.isEmpty() ? SVG_PAINTTYPE_NONE : SVG_PAINTTYPE_URI_NONE; | 
| +        } else if (pValue->isURI()) { | 
| +            ptype = SVG_PAINTTYPE_URI; | 
| +            url = pValue->getStringValue(); | 
| +        } else { | 
| +            return; | 
| +        } | 
| +        {{set_value(property)}}(ptype, c, url, | 
| state.applyPropertyToRegularStyle(), | 
| state.applyPropertyToVisitedLinkStyle()); | 
| } | 
|  |