Index: third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.cpp |
diff --git a/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.cpp b/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.cpp |
index 9c63a148c456bb723ac1772932202379a4fc5451..e9d644270904c077502c9d7fa63998f66e94e470 100644 |
--- a/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.cpp |
+++ b/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.cpp |
@@ -1419,8 +1419,18 @@ PassRefPtr<BasicShape> StyleBuilderConverter::ConvertOffsetPath( |
static const CSSValue& ComputeRegisteredPropertyValue( |
const CSSToLengthConversionData& css_to_length_conversion_data, |
const CSSValue& value) { |
- // TODO(timloh): Images and transform-function values can also contain |
- // lengths. |
+ // TODO(timloh): Images values can also contain lengths. |
+ if (value.IsFunctionValue()) { |
+ const CSSFunctionValue& function_value = ToCSSFunctionValue(value); |
+ CSSFunctionValue* new_function = |
+ CSSFunctionValue::Create(function_value.FunctionType()); |
+ for (const CSSValue* inner_value : ToCSSValueList(value)) { |
+ new_function->Append(ComputeRegisteredPropertyValue( |
+ css_to_length_conversion_data, *inner_value)); |
+ } |
+ return *new_function; |
+ } |
+ |
if (value.IsValueList()) { |
CSSValueList* new_list = CSSValueList::CreateSpaceSeparated(); |
for (const CSSValue* inner_value : ToCSSValueList(value)) { |