Chromium Code Reviews| Index: Source/core/css/CSSVariablesMap.cpp |
| diff --git a/Source/core/css/CSSVariablesMap.cpp b/Source/core/css/CSSVariablesMap.cpp |
| index 599a9dca63968fd571a71c0b2611833ad770ba76..4345d53e439c52ddd744d850dd0255328a87e7cb 100644 |
| --- a/Source/core/css/CSSVariablesMap.cpp |
| +++ b/Source/core/css/CSSVariablesMap.cpp |
| @@ -74,4 +74,30 @@ void CSSVariablesMap::clear(ExceptionState& es) const |
| return m_styleDeclaration->clearVariables(es); |
| } |
| +void CSSVariablesMap::forEach(PassRefPtr<CSSVariablesMapForEachCallback> callback, ScriptValue* thisArg) const |
| +{ |
| + if (!m_styleDeclaration) |
| + return; |
| + RefPtr<CSSVariablesIterator> iterator = m_styleDeclaration->variablesIterator(); |
|
esprehn
2013/09/12 01:13:42
Is the iterator really necessary? It'd be much nic
alancutter (OOO until 2018)
2013/09/13 03:06:14
After the changes to remove the static map of iter
|
| + while (!iterator->atEnd()) { |
| + String name = iterator->name(); |
| + String value = iterator->value(); |
| + if (thisArg) |
| + callback->handleItem(*thisArg, value, name, const_cast<CSSVariablesMap*>(this)); |
| + else |
| + callback->handleItem(value, name, const_cast<CSSVariablesMap*>(this)); |
| + iterator->advance(); |
| + } |
| +} |
| + |
| +void CSSVariablesMap::forEach(PassRefPtr<CSSVariablesMapForEachCallback> callback, ScriptValue thisArg) const |
| +{ |
| + forEach(callback, &thisArg); |
| +} |
| + |
| +void CSSVariablesMap::forEach(PassRefPtr<CSSVariablesMapForEachCallback> callback) const |
| +{ |
| + forEach(callback, 0); |
| +} |
| + |
| } // namespace WebCore |