Chromium Code Reviews| Index: third_party/WebKit/Source/core/css/cssom/StylePropertyMap.cpp |
| diff --git a/third_party/WebKit/Source/core/css/cssom/StylePropertyMap.cpp b/third_party/WebKit/Source/core/css/cssom/StylePropertyMap.cpp |
| index cc6cfe380b15f646abce95aa120bc044a784a607..6ae64d92fca32c2dc25d55714b065bfc52f0226a 100644 |
| --- a/third_party/WebKit/Source/core/css/cssom/StylePropertyMap.cpp |
| +++ b/third_party/WebKit/Source/core/css/cssom/StylePropertyMap.cpp |
| @@ -11,6 +11,40 @@ |
| namespace blink { |
| +namespace { |
| + |
| +class StylePropertyMapIterationSource final : public PairIterable<String, StyleValueOrStyleValueSequence>::IterationSource { |
| +public: |
| + explicit StylePropertyMapIterationSource(HeapVector<StylePropertyMap::StylePropertyMapEntry> values) |
| + : m_index(0) |
| + , m_values(values) |
| + { |
| + } |
| + |
| + bool next(ScriptState*, String& key, StyleValueOrStyleValueSequence& value, ExceptionState&) override |
| + { |
| + if (m_index >= m_values.size()) |
| + return false; |
| + |
| + StylePropertyMap::StylePropertyMapEntry pair = m_values.at(m_index++); |
|
Timothy Loh
2016/05/13 04:57:45
const Foo&
meade_UTC10
2016/05/13 05:46:34
Done.
|
| + key = pair.first; |
| + value = pair.second; |
| + return true; |
| + } |
| + |
| + DEFINE_INLINE_VIRTUAL_TRACE() |
| + { |
| + visitor->trace(m_values); |
| + PairIterable<String, StyleValueOrStyleValueSequence>::IterationSource::trace(visitor); |
| + } |
| + |
| +private: |
| + size_t m_index; |
| + const HeapVector<StylePropertyMap::StylePropertyMapEntry> m_values; |
| +}; |
| + |
| +} // namespace |
| + |
| StyleValue* StylePropertyMap::get(const String& propertyName, ExceptionState& exceptionState) |
| { |
| CSSPropertyID propertyID = cssPropertyID(propertyName); |
| @@ -103,4 +137,9 @@ StylePropertyMap::StyleValueVector StylePropertyMap::cssValueToStyleValueVector( |
| return styleValueVector; |
| } |
| +StylePropertyMap::IterationSource* StylePropertyMap::startIteration(ScriptState*, ExceptionState&) |
| +{ |
| + return new StylePropertyMapIterationSource(getIterationEntries()); |
| +} |
| + |
| } // namespace blink |