diff options
Diffstat (limited to 'WebCore/css/CSSVariablesDeclaration.cpp')
-rw-r--r-- | WebCore/css/CSSVariablesDeclaration.cpp | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/WebCore/css/CSSVariablesDeclaration.cpp b/WebCore/css/CSSVariablesDeclaration.cpp index bfd5e08..5f8d601 100644 --- a/WebCore/css/CSSVariablesDeclaration.cpp +++ b/WebCore/css/CSSVariablesDeclaration.cpp @@ -34,7 +34,7 @@ namespace WebCore { -CSSVariablesDeclaration::CSSVariablesDeclaration(StyleBase* parent, const Vector<String>& names, const Vector<RefPtr<StyleBase> >& values) +CSSVariablesDeclaration::CSSVariablesDeclaration(StyleBase* parent, const Vector<String>& names, const Vector<RefPtr<CSSValue> >& values) : StyleBase(parent) { m_variableNames = names; @@ -50,7 +50,7 @@ CSSVariablesDeclaration::~CSSVariablesDeclaration() String CSSVariablesDeclaration::getVariableValue(const String& variableName) { - StyleBase* val = m_variablesMap.get(variableName).get(); + CSSValue* val = m_variablesMap.get(variableName).get(); if (val) return val->cssText(); return ""; @@ -60,7 +60,7 @@ String CSSVariablesDeclaration::removeVariable(const String& variableName, Excep { // FIXME: The spec has this method taking an exception code but no exceptions are // specified as being thrown. - RefPtr<StyleBase> val = m_variablesMap.take(variableName); + RefPtr<CSSValue> val = m_variablesMap.take(variableName); String result = val ? val->cssText() : ""; if (val) { int s = m_variableNames.size(); @@ -89,13 +89,16 @@ void CSSVariablesDeclaration::setVariable(const String& variableName, const Stri setChanged(); } -void CSSVariablesDeclaration::addParsedVariable(const String& variableName, PassRefPtr<StyleBase> variableValue, bool updateNamesList) +void CSSVariablesDeclaration::addParsedVariable(const String& variableName, PassRefPtr<CSSValue> variableValue, bool updateNamesList) { +// FIXME: Disabling declarations as variable values for now since they no longer have a common base class with CSSValues. +#if 0 variableValue->setParent(this); // Needed to connect variables that are CSSMutableStyleDeclarations, since the parent couldn't be set until now. +#endif // Don't leak duplicates. For multiple variables with the same name, the last one // declared will win. - StyleBase* current = m_variablesMap.take(variableName).get(); + CSSValue* current = m_variablesMap.take(variableName).get(); if (!current && updateNamesList) m_variableNames.append(variableName); m_variablesMap.set(variableName, variableValue); @@ -105,17 +108,21 @@ void CSSVariablesDeclaration::addParsedVariable(const String& variableName, Pass CSSValueList* CSSVariablesDeclaration::getParsedVariable(const String& variableName) { - StyleBase* result = m_variablesMap.get(variableName).get(); + CSSValue* result = m_variablesMap.get(variableName).get(); if (result->isValueList()) return static_cast<CSSValueList*>(result); return 0; } -CSSMutableStyleDeclaration* CSSVariablesDeclaration::getParsedVariableDeclarationBlock(const String& variableName) +CSSMutableStyleDeclaration* CSSVariablesDeclaration::getParsedVariableDeclarationBlock(const String&) { +// FIXME: Disabling declarations as variable values for now since they no longer have a common base class with CSSValues. +#if 0 StyleBase* result = m_variablesMap.get(variableName).get(); + if (result->isMutableStyleDeclaration()) return static_cast<CSSMutableStyleDeclaration*>(result); +#endif return 0; } |