OLD | NEW |
1 // Copyright 2016 the Chromium Authors. All rights reserved. | 1 // Copyright 2016 the Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef ComputedStylePropertyMap_h | 5 #ifndef ComputedStylePropertyMap_h |
6 #define ComputedStylePropertyMap_h | 6 #define ComputedStylePropertyMap_h |
7 | 7 |
8 #include "core/css/CSSComputedStyleDeclaration.h" | 8 #include "core/css/CSSComputedStyleDeclaration.h" |
9 #include "core/css/cssom/ImmutableStylePropertyMap.h" | 9 #include "core/css/cssom/ImmutableStylePropertyMap.h" |
10 #include "core/dom/Node.h" | 10 #include "core/dom/Node.h" |
(...skipping 13 matching lines...) Expand all Loading... |
24 Vector<String> getProperties() override; | 24 Vector<String> getProperties() override; |
25 | 25 |
26 DEFINE_INLINE_VIRTUAL_TRACE() { | 26 DEFINE_INLINE_VIRTUAL_TRACE() { |
27 visitor->trace(m_computedStyleDeclaration); | 27 visitor->trace(m_computedStyleDeclaration); |
28 visitor->trace(m_node); | 28 visitor->trace(m_node); |
29 ImmutableStylePropertyMap::trace(visitor); | 29 ImmutableStylePropertyMap::trace(visitor); |
30 } | 30 } |
31 | 31 |
32 private: | 32 private: |
33 Node* node() const; | 33 Node* node() const; |
| 34 const ComputedStyle* updateStyle() const; |
34 | 35 |
35 protected: | 36 protected: |
36 ComputedStylePropertyMap(Node* node, const String& pseudoElement = String()) | 37 ComputedStylePropertyMap(Node* node, const String& pseudoElement = String()) |
37 : ImmutableStylePropertyMap(), | 38 : ImmutableStylePropertyMap(), |
38 m_computedStyleDeclaration( | 39 m_computedStyleDeclaration( |
39 CSSComputedStyleDeclaration::create(node, false, pseudoElement)), | 40 CSSComputedStyleDeclaration::create(node, false, pseudoElement)), |
40 m_pseudoId(CSSSelector::parsePseudoId(pseudoElement)), | 41 m_pseudoId(CSSSelector::parsePseudoId(pseudoElement)), |
41 m_node(node) {} | 42 m_node(node) {} |
42 | 43 |
43 CSSStyleValueVector getAllInternal(CSSPropertyID) override; | 44 CSSStyleValueVector getAllInternal(CSSPropertyID) override; |
44 CSSStyleValueVector getAllInternal(AtomicString customPropertyName) override; | 45 CSSStyleValueVector getAllInternal(AtomicString customPropertyName, |
| 46 ExceptionState&) override; |
45 | 47 |
46 HeapVector<StylePropertyMapEntry> getIterationEntries() override { | 48 HeapVector<StylePropertyMapEntry> getIterationEntries() override { |
47 return HeapVector<StylePropertyMapEntry>(); | 49 return HeapVector<StylePropertyMapEntry>(); |
48 } | 50 } |
49 | 51 |
50 Member<CSSComputedStyleDeclaration> m_computedStyleDeclaration; | 52 Member<CSSComputedStyleDeclaration> m_computedStyleDeclaration; |
51 PseudoId m_pseudoId; | 53 PseudoId m_pseudoId; |
52 Member<Node> m_node; | 54 Member<Node> m_node; |
53 }; | 55 }; |
54 | 56 |
55 } // namespace blink | 57 } // namespace blink |
56 | 58 |
57 #endif | 59 #endif |
OLD | NEW |