diff options
Diffstat (limited to 'Source/WebCore/css/CSSFunctionValue.cpp')
-rw-r--r-- | Source/WebCore/css/CSSFunctionValue.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/Source/WebCore/css/CSSFunctionValue.cpp b/Source/WebCore/css/CSSFunctionValue.cpp index 3877f6da9..31861b336 100644 --- a/Source/WebCore/css/CSSFunctionValue.cpp +++ b/Source/WebCore/css/CSSFunctionValue.cpp @@ -40,7 +40,7 @@ CSSFunctionValue::CSSFunctionValue(CSSParserFunction* function) m_args = CSSValueList::createFromParserValueList(*function->args); } -CSSFunctionValue::CSSFunctionValue(String name, PassRefPtr<CSSValueList> args) +CSSFunctionValue::CSSFunctionValue(const String& name, PassRefPtr<CSSValueList> args) : CSSValue(FunctionClass) , m_name(name) , m_args(args) @@ -62,4 +62,19 @@ bool CSSFunctionValue::equals(const CSSFunctionValue& other) const return m_name == other.m_name && compareCSSValuePtr(m_args, other.m_args); } +bool CSSFunctionValue::buildParserValueSubstitutingVariables(CSSParserValue* result, const CustomPropertyValueMap& customProperties) const +{ + result->id = CSSValueInvalid; + result->unit = CSSParserValue::Function; + result->function = new CSSParserFunction; + result->function->name.init(m_name); + bool success = true; + if (m_args) { + CSSParserValueList* argList = new CSSParserValueList; + success = m_args->buildParserValueListSubstitutingVariables(argList, customProperties); + result->function->args.reset(argList); + } + return success; +} + } |