OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2008, 2009, 2010 Apple Inc. All rights reserved. | 2 * Copyright (C) 2008, 2009, 2010 Apple Inc. All rights reserved. |
3 * Copyright (C) 2008 David Smith <catfish.man@gmail.com> | 3 * Copyright (C) 2008 David Smith <catfish.man@gmail.com> |
4 * | 4 * |
5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
9 * | 9 * |
10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
139 OwnPtrWillBeMember<ElementShadow> m_shadow; | 139 OwnPtrWillBeMember<ElementShadow> m_shadow; |
140 OwnPtrWillBeMember<NamedNodeMap> m_attributeMap; | 140 OwnPtrWillBeMember<NamedNodeMap> m_attributeMap; |
141 OwnPtrWillBeMember<WillBeHeapVector<RefPtrWillBeMember<Attr> > > m_attrNodeL
ist; | 141 OwnPtrWillBeMember<WillBeHeapVector<RefPtrWillBeMember<Attr> > > m_attrNodeL
ist; |
142 OwnPtrWillBeMember<InputMethodContext> m_inputMethodContext; | 142 OwnPtrWillBeMember<InputMethodContext> m_inputMethodContext; |
143 OwnPtrWillBeMember<ActiveAnimations> m_activeAnimations; | 143 OwnPtrWillBeMember<ActiveAnimations> m_activeAnimations; |
144 OwnPtrWillBeMember<InlineCSSStyleDeclaration> m_cssomWrapper; | 144 OwnPtrWillBeMember<InlineCSSStyleDeclaration> m_cssomWrapper; |
145 | 145 |
146 RefPtr<RenderStyle> m_computedStyle; | 146 RefPtr<RenderStyle> m_computedStyle; |
147 RefPtrWillBeMember<CustomElementDefinition> m_customElementDefinition; | 147 RefPtrWillBeMember<CustomElementDefinition> m_customElementDefinition; |
148 | 148 |
| 149 RefPtrWillBeMember<PseudoElement> m_marker; |
149 RefPtrWillBeMember<PseudoElement> m_generatedBefore; | 150 RefPtrWillBeMember<PseudoElement> m_generatedBefore; |
150 RefPtrWillBeMember<PseudoElement> m_generatedAfter; | 151 RefPtrWillBeMember<PseudoElement> m_generatedAfter; |
151 RefPtrWillBeMember<PseudoElement> m_generatedFirstLetter; | 152 RefPtrWillBeMember<PseudoElement> m_generatedFirstLetter; |
152 RefPtrWillBeMember<PseudoElement> m_backdrop; | 153 RefPtrWillBeMember<PseudoElement> m_backdrop; |
153 | 154 |
154 explicit ElementRareData(RenderObject*); | 155 explicit ElementRareData(RenderObject*); |
155 }; | 156 }; |
156 | 157 |
157 inline LayoutSize defaultMinimumSizeForResizing() | 158 inline LayoutSize defaultMinimumSizeForResizing() |
158 { | 159 { |
159 return LayoutSize(LayoutUnit::max(), LayoutUnit::max()); | 160 return LayoutSize(LayoutUnit::max(), LayoutUnit::max()); |
160 } | 161 } |
161 | 162 |
162 inline ElementRareData::ElementRareData(RenderObject* renderer) | 163 inline ElementRareData::ElementRareData(RenderObject* renderer) |
163 : NodeRareData(renderer) | 164 : NodeRareData(renderer) |
164 , m_tabindex(0) | 165 , m_tabindex(0) |
165 , m_minimumSizeForResizing(defaultMinimumSizeForResizing()) | 166 , m_minimumSizeForResizing(defaultMinimumSizeForResizing()) |
166 { | 167 { |
167 m_isElementRareData = true; | 168 m_isElementRareData = true; |
168 } | 169 } |
169 | 170 |
170 inline ElementRareData::~ElementRareData() | 171 inline ElementRareData::~ElementRareData() |
171 { | 172 { |
172 #if !ENABLE(OILPAN) | 173 #if !ENABLE(OILPAN) |
173 ASSERT(!m_shadow); | 174 ASSERT(!m_shadow); |
174 #endif | 175 #endif |
| 176 ASSERT(!m_marker); |
175 ASSERT(!m_generatedBefore); | 177 ASSERT(!m_generatedBefore); |
176 ASSERT(!m_generatedAfter); | 178 ASSERT(!m_generatedAfter); |
177 ASSERT(!m_generatedFirstLetter); | 179 ASSERT(!m_generatedFirstLetter); |
178 ASSERT(!m_backdrop); | 180 ASSERT(!m_backdrop); |
179 } | 181 } |
180 | 182 |
181 inline bool ElementRareData::hasPseudoElements() const | 183 inline bool ElementRareData::hasPseudoElements() const |
182 { | 184 { |
183 return m_generatedBefore || m_generatedAfter || m_backdrop || m_generatedFir
stLetter; | 185 return m_generatedBefore || m_generatedAfter || m_backdrop || m_generatedFir
stLetter || m_marker; |
184 } | 186 } |
185 | 187 |
186 inline void ElementRareData::clearPseudoElements() | 188 inline void ElementRareData::clearPseudoElements() |
187 { | 189 { |
188 setPseudoElement(BEFORE, nullptr); | 190 setPseudoElement(BEFORE, nullptr); |
189 setPseudoElement(AFTER, nullptr); | 191 setPseudoElement(AFTER, nullptr); |
190 setPseudoElement(BACKDROP, nullptr); | 192 setPseudoElement(BACKDROP, nullptr); |
| 193 setPseudoElement(MARKER, nullptr); |
191 setPseudoElement(FIRST_LETTER, nullptr); | 194 setPseudoElement(FIRST_LETTER, nullptr); |
192 } | 195 } |
193 | 196 |
194 inline void ElementRareData::setPseudoElement(PseudoId pseudoId, PassRefPtrWillB
eRawPtr<PseudoElement> element) | 197 inline void ElementRareData::setPseudoElement(PseudoId pseudoId, PassRefPtrWillB
eRawPtr<PseudoElement> element) |
195 { | 198 { |
196 switch (pseudoId) { | 199 switch (pseudoId) { |
| 200 case MARKER: |
| 201 if (m_marker) |
| 202 m_marker->dispose(); |
| 203 m_marker = element; |
| 204 break; |
197 case BEFORE: | 205 case BEFORE: |
198 if (m_generatedBefore) | 206 if (m_generatedBefore) |
199 m_generatedBefore->dispose(); | 207 m_generatedBefore->dispose(); |
200 m_generatedBefore = element; | 208 m_generatedBefore = element; |
201 break; | 209 break; |
202 case AFTER: | 210 case AFTER: |
203 if (m_generatedAfter) | 211 if (m_generatedAfter) |
204 m_generatedAfter->dispose(); | 212 m_generatedAfter->dispose(); |
205 m_generatedAfter = element; | 213 m_generatedAfter = element; |
206 break; | 214 break; |
207 case BACKDROP: | 215 case BACKDROP: |
208 if (m_backdrop) | 216 if (m_backdrop) |
209 m_backdrop->dispose(); | 217 m_backdrop->dispose(); |
210 m_backdrop = element; | 218 m_backdrop = element; |
211 break; | 219 break; |
212 case FIRST_LETTER: | 220 case FIRST_LETTER: |
213 if (m_generatedFirstLetter) | 221 if (m_generatedFirstLetter) |
214 m_generatedFirstLetter->dispose(); | 222 m_generatedFirstLetter->dispose(); |
215 m_generatedFirstLetter = element; | 223 m_generatedFirstLetter = element; |
216 break; | 224 break; |
217 default: | 225 default: |
218 ASSERT_NOT_REACHED(); | 226 ASSERT_NOT_REACHED(); |
219 } | 227 } |
220 } | 228 } |
221 | 229 |
222 inline PseudoElement* ElementRareData::pseudoElement(PseudoId pseudoId) const | 230 inline PseudoElement* ElementRareData::pseudoElement(PseudoId pseudoId) const |
223 { | 231 { |
224 switch (pseudoId) { | 232 switch (pseudoId) { |
| 233 case MARKER: |
| 234 return m_marker.get(); |
225 case BEFORE: | 235 case BEFORE: |
226 return m_generatedBefore.get(); | 236 return m_generatedBefore.get(); |
227 case AFTER: | 237 case AFTER: |
228 return m_generatedAfter.get(); | 238 return m_generatedAfter.get(); |
229 case BACKDROP: | 239 case BACKDROP: |
230 return m_backdrop.get(); | 240 return m_backdrop.get(); |
231 case FIRST_LETTER: | 241 case FIRST_LETTER: |
232 return m_generatedFirstLetter.get(); | 242 return m_generatedFirstLetter.get(); |
233 default: | 243 default: |
234 return 0; | 244 return 0; |
235 } | 245 } |
236 } | 246 } |
237 | 247 |
238 } // namespace | 248 } // namespace |
239 | 249 |
240 #endif // ElementRareData_h | 250 #endif // ElementRareData_h |
OLD | NEW |