| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * Copyright (C) 2013 Google Inc. All rights reserved. | 2  * Copyright (C) 2013 Google Inc. All rights reserved. | 
| 3  * | 3  * | 
| 4  * Redistribution and use in source and binary forms, with or without | 4  * Redistribution and use in source and binary forms, with or without | 
| 5  * modification, are permitted provided that the following conditions are | 5  * modification, are permitted provided that the following conditions are | 
| 6  * met: | 6  * met: | 
| 7  * | 7  * | 
| 8  *     * Redistributions of source code must retain the above copyright | 8  *     * Redistributions of source code must retain the above copyright | 
| 9  * notice, this list of conditions and the following disclaimer. | 9  * notice, this list of conditions and the following disclaimer. | 
| 10  *     * Redistributions in binary form must reproduce the above | 10  *     * Redistributions in binary form must reproduce the above | 
| (...skipping 11 matching lines...) Expand all  Loading... | 
| 22  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 22  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 
| 23  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 23  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 
| 24  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 24  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 
| 25  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 25  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 
| 26  */ | 26  */ | 
| 27 | 27 | 
| 28 #ifndef CSSVariablesMap_h | 28 #ifndef CSSVariablesMap_h | 
| 29 #define CSSVariablesMap_h | 29 #define CSSVariablesMap_h | 
| 30 | 30 | 
| 31 #include "RuntimeEnabledFeatures.h" | 31 #include "RuntimeEnabledFeatures.h" | 
|  | 32 #include "core/css/CSSVariablesMapForEachCallback.h" | 
| 32 #include "wtf/RefCounted.h" | 33 #include "wtf/RefCounted.h" | 
| 33 #include "wtf/text/WTFString.h" | 34 #include "wtf/text/WTFString.h" | 
| 34 | 35 | 
| 35 namespace WebCore { | 36 namespace WebCore { | 
| 36 | 37 | 
| 37 class CSSStyleDeclaration; | 38 class CSSStyleDeclaration; | 
|  | 39 class CSSVariablesIterator; | 
| 38 class ExceptionState; | 40 class ExceptionState; | 
| 39 | 41 | 
| 40 class CSSVariablesMap : public RefCounted<CSSVariablesMap> { | 42 class CSSVariablesMap : public RefCounted<CSSVariablesMap> { | 
| 41 public: | 43 public: | 
| 42     virtual ~CSSVariablesMap() { } | 44     virtual ~CSSVariablesMap() { } | 
| 43 | 45 | 
| 44     static PassRefPtr<CSSVariablesMap> create(CSSStyleDeclaration* styleDeclarat
    ion) | 46     static PassRefPtr<CSSVariablesMap> create(CSSStyleDeclaration* styleDeclarat
    ion) | 
| 45     { | 47     { | 
| 46         return adoptRef(new CSSVariablesMap(styleDeclaration)); | 48         return adoptRef(new CSSVariablesMap(styleDeclaration)); | 
| 47     } | 49     } | 
| 48 | 50 | 
| 49     unsigned size() const; | 51     unsigned size() const; | 
| 50     String get(const AtomicString& name) const; | 52     String get(const AtomicString& name) const; | 
| 51     bool has(const AtomicString& name) const; | 53     bool has(const AtomicString& name) const; | 
| 52     void set(const AtomicString& name, const String& value, ExceptionState&) con
    st; | 54     void set(const AtomicString& name, const String& value, ExceptionState&); | 
| 53     bool remove(const AtomicString& name) const; | 55     bool remove(const AtomicString& name); | 
| 54     void clear(ExceptionState&) const; | 56     void clear(ExceptionState&); | 
|  | 57     void forEach(PassRefPtr<CSSVariablesMapForEachCallback>, ScriptValue& thisAr
    g) const; | 
|  | 58     void forEach(PassRefPtr<CSSVariablesMapForEachCallback>) const; | 
| 55 | 59 | 
| 56     void clearStyleDeclaration() { m_styleDeclaration = 0; } | 60     void clearStyleDeclaration() { m_styleDeclaration = 0; } | 
| 57 | 61 | 
| 58 private: | 62 private: | 
| 59     explicit CSSVariablesMap(CSSStyleDeclaration* styleDeclaration) | 63     explicit CSSVariablesMap(CSSStyleDeclaration* styleDeclaration) | 
| 60         : m_styleDeclaration(styleDeclaration) | 64         : m_styleDeclaration(styleDeclaration) | 
| 61     { | 65     { | 
| 62         ASSERT(RuntimeEnabledFeatures::cssVariablesEnabled()); | 66         ASSERT(RuntimeEnabledFeatures::cssVariablesEnabled()); | 
| 63     } | 67     } | 
| 64 | 68 | 
|  | 69     void forEach(PassRefPtr<CSSVariablesMapForEachCallback>, ScriptValue* thisAr
    g) const; | 
|  | 70 | 
| 65     CSSStyleDeclaration* m_styleDeclaration; | 71     CSSStyleDeclaration* m_styleDeclaration; | 
|  | 72     typedef Vector<CSSVariablesIterator*> Iterators; | 
|  | 73     mutable Iterators m_activeIterators; | 
| 66 }; | 74 }; | 
| 67 | 75 | 
| 68 } // namespace WebCore | 76 } // namespace WebCore | 
| 69 | 77 | 
| 70 #endif // CSSVariablesMap_h | 78 #endif // CSSVariablesMap_h | 
| OLD | NEW | 
|---|