OLD | NEW |
1 /* | 1 /* |
2 * (C) 1999-2003 Lars Knoll (knoll@kde.org) | 2 * (C) 1999-2003 Lars Knoll (knoll@kde.org) |
3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All r
ights reserved. | 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All r
ights reserved. |
4 * Copyright (C) 2011 Research In Motion Limited. All rights reserved. | 4 * Copyright (C) 2011 Research In Motion Limited. All rights reserved. |
5 * Copyright (C) 2013 Intel Corporation. All rights reserved. | 5 * Copyright (C) 2013 Intel Corporation. All rights reserved. |
6 * | 6 * |
7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 // Only StylePropertySerializer uses the following two classes. | 58 // Only StylePropertySerializer uses the following two classes. |
59 class PropertyValueForSerializer { | 59 class PropertyValueForSerializer { |
60 public: | 60 public: |
61 explicit PropertyValueForSerializer(StylePropertySet::PropertyReference
property) | 61 explicit PropertyValueForSerializer(StylePropertySet::PropertyReference
property) |
62 : m_value(property.value()) | 62 : m_value(property.value()) |
63 , m_id(property.id()) | 63 , m_id(property.id()) |
64 , m_isImportant(property.isImportant()) | 64 , m_isImportant(property.isImportant()) |
65 , m_isImplicit(property.isImplicit()) | 65 , m_isImplicit(property.isImplicit()) |
66 , m_isInherited(property.isInherited()) { } | 66 , m_isInherited(property.isInherited()) { } |
67 | 67 |
68 PropertyValueForSerializer(CSSPropertyID id, const CSSValue* value, bool
isImportant) | 68 PropertyValueForSerializer(CSSPropertyID id, const CSSValue value, bool
isImportant) |
69 : m_value(value) | 69 : m_value(value) |
70 , m_id(id) | 70 , m_id(id) |
71 , m_isImportant(isImportant) | 71 , m_isImportant(isImportant) |
72 , m_isImplicit(value->isImplicitInitialValue()) | 72 , m_isImplicit(value.isImplicitInitialValue()) |
73 , m_isInherited(value->isInheritedValue()) { } | 73 , m_isInherited(value.isInheritedValue()) { } |
74 | 74 |
75 CSSPropertyID id() const { return m_id; } | 75 CSSPropertyID id() const { return m_id; } |
76 const CSSValue* value() const { return m_value; } | 76 const CSSValue value() const { return m_value; } |
77 bool isImportant() const { return m_isImportant; } | 77 bool isImportant() const { return m_isImportant; } |
78 bool isImplicit() const { return m_isImplicit; } | 78 bool isImplicit() const { return m_isImplicit; } |
79 bool isInherited() const { return m_isInherited; } | 79 bool isInherited() const { return m_isInherited; } |
80 bool isValid() const { return m_value; } | |
81 | 80 |
| 81 DEFINE_INLINE_TRACE() |
| 82 { |
| 83 visitor->trace(m_value); |
| 84 } |
82 private: | 85 private: |
83 const CSSValue* m_value; | 86 const CSSValue m_value; |
84 CSSPropertyID m_id; | 87 CSSPropertyID m_id; |
85 bool m_isImportant; | 88 bool m_isImportant; |
86 bool m_isImplicit; | 89 bool m_isImplicit; |
87 bool m_isInherited; | 90 bool m_isInherited; |
88 }; | 91 }; |
89 | 92 |
90 class StylePropertySetForSerializer { | 93 class StylePropertySetForSerializer { |
91 public: | 94 public: |
92 explicit StylePropertySetForSerializer(const StylePropertySet&); | 95 explicit StylePropertySetForSerializer(const StylePropertySet&); |
93 | 96 |
94 unsigned propertyCount() const; | 97 unsigned propertyCount() const; |
95 PropertyValueForSerializer propertyAt(unsigned index) const; | 98 PropertyValueForSerializer propertyAt(unsigned index) const; |
96 bool shouldProcessPropertyAt(unsigned index) const; | 99 bool shouldProcessPropertyAt(unsigned index) const; |
97 int findPropertyIndex(CSSPropertyID) const; | 100 int findPropertyIndex(CSSPropertyID) const; |
98 const CSSValue* getPropertyCSSValue(CSSPropertyID) const; | 101 const NullableCSSValue getPropertyCSSValue(CSSPropertyID) const; |
99 String getPropertyValue(CSSPropertyID) const; | 102 String getPropertyValue(CSSPropertyID) const; |
100 bool isPropertyImplicit(CSSPropertyID) const; | 103 bool isPropertyImplicit(CSSPropertyID) const; |
101 bool propertyIsImportant(CSSPropertyID) const; | 104 bool propertyIsImportant(CSSPropertyID) const; |
102 | 105 |
103 private: | 106 private: |
104 bool hasExpandedAllProperty() const { return hasAllProperty() && m_needT
oExpandAll; } | 107 bool hasExpandedAllProperty() const { return hasAllProperty() && m_needT
oExpandAll; } |
105 bool hasAllProperty() const { return m_allIndex != -1; } | 108 bool hasAllProperty() const { return m_allIndex != -1; } |
106 | 109 |
107 const StylePropertySet& m_propertySet; | 110 const StylePropertySet& m_propertySet; |
108 int m_allIndex; | 111 int m_allIndex; |
109 BitArray<numCSSProperties> m_longhandPropertyUsed; | 112 BitArray<numCSSProperties> m_longhandPropertyUsed; |
110 bool m_needToExpandAll; | 113 bool m_needToExpandAll; |
111 }; | 114 }; |
112 | 115 |
113 const StylePropertySetForSerializer m_propertySet; | 116 const StylePropertySetForSerializer m_propertySet; |
114 }; | 117 }; |
115 | 118 |
116 } // namespace blink | 119 } // namespace blink |
117 | 120 |
118 #endif | 121 #endif |
OLD | NEW |