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 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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 RefPtr<CustomElementDefinition> m_customElementDefinition; | 147 RefPtr<CustomElementDefinition> m_customElementDefinition; |
148 | 148 |
149 RefPtrWillBeMember<PseudoElement> m_generatedBefore; | 149 RefPtrWillBeMember<PseudoElement> m_generatedBefore; |
150 RefPtrWillBeMember<PseudoElement> m_generatedAfter; | 150 RefPtrWillBeMember<PseudoElement> m_generatedAfter; |
151 RefPtrWillBeMember<PseudoElement> m_generatedFirstLetter; | |
152 RefPtrWillBeMember<PseudoElement> m_backdrop; | 151 RefPtrWillBeMember<PseudoElement> m_backdrop; |
153 | 152 |
154 explicit ElementRareData(RenderObject*); | 153 explicit ElementRareData(RenderObject*); |
155 }; | 154 }; |
156 | 155 |
157 inline IntSize defaultMinimumSizeForResizing() | 156 inline IntSize defaultMinimumSizeForResizing() |
158 { | 157 { |
159 return IntSize(LayoutUnit::max(), LayoutUnit::max()); | 158 return IntSize(LayoutUnit::max(), LayoutUnit::max()); |
160 } | 159 } |
161 | 160 |
162 inline ElementRareData::ElementRareData(RenderObject* renderer) | 161 inline ElementRareData::ElementRareData(RenderObject* renderer) |
163 : NodeRareData(renderer) | 162 : NodeRareData(renderer) |
164 , m_tabindex(0) | 163 , m_tabindex(0) |
165 , m_minimumSizeForResizing(defaultMinimumSizeForResizing()) | 164 , m_minimumSizeForResizing(defaultMinimumSizeForResizing()) |
166 { | 165 { |
167 m_isElementRareData = true; | 166 m_isElementRareData = true; |
168 } | 167 } |
169 | 168 |
170 inline ElementRareData::~ElementRareData() | 169 inline ElementRareData::~ElementRareData() |
171 { | 170 { |
172 #if !ENABLE(OILPAN) | 171 #if !ENABLE(OILPAN) |
173 ASSERT(!m_shadow); | 172 ASSERT(!m_shadow); |
174 #endif | 173 #endif |
175 ASSERT(!m_generatedBefore); | 174 ASSERT(!m_generatedBefore); |
176 ASSERT(!m_generatedAfter); | 175 ASSERT(!m_generatedAfter); |
177 ASSERT(!m_generatedFirstLetter); | |
178 ASSERT(!m_backdrop); | 176 ASSERT(!m_backdrop); |
179 } | 177 } |
180 | 178 |
181 inline bool ElementRareData::hasPseudoElements() const | 179 inline bool ElementRareData::hasPseudoElements() const |
182 { | 180 { |
183 return m_generatedBefore || m_generatedAfter || m_backdrop || m_generatedFir
stLetter; | 181 return m_generatedBefore || m_generatedAfter || m_backdrop; |
184 } | 182 } |
185 | 183 |
186 inline void ElementRareData::clearPseudoElements() | 184 inline void ElementRareData::clearPseudoElements() |
187 { | 185 { |
188 setPseudoElement(BEFORE, nullptr); | 186 setPseudoElement(BEFORE, nullptr); |
189 setPseudoElement(AFTER, nullptr); | 187 setPseudoElement(AFTER, nullptr); |
190 setPseudoElement(BACKDROP, nullptr); | 188 setPseudoElement(BACKDROP, nullptr); |
191 setPseudoElement(FIRST_LETTER, nullptr); | |
192 } | 189 } |
193 | 190 |
194 inline void ElementRareData::setPseudoElement(PseudoId pseudoId, PassRefPtrWillB
eRawPtr<PseudoElement> element) | 191 inline void ElementRareData::setPseudoElement(PseudoId pseudoId, PassRefPtrWillB
eRawPtr<PseudoElement> element) |
195 { | 192 { |
196 switch (pseudoId) { | 193 switch (pseudoId) { |
197 case BEFORE: | 194 case BEFORE: |
198 if (m_generatedBefore) | 195 if (m_generatedBefore) |
199 m_generatedBefore->dispose(); | 196 m_generatedBefore->dispose(); |
200 m_generatedBefore = element; | 197 m_generatedBefore = element; |
201 break; | 198 break; |
202 case AFTER: | 199 case AFTER: |
203 if (m_generatedAfter) | 200 if (m_generatedAfter) |
204 m_generatedAfter->dispose(); | 201 m_generatedAfter->dispose(); |
205 m_generatedAfter = element; | 202 m_generatedAfter = element; |
206 break; | 203 break; |
207 case BACKDROP: | 204 case BACKDROP: |
208 if (m_backdrop) | 205 if (m_backdrop) |
209 m_backdrop->dispose(); | 206 m_backdrop->dispose(); |
210 m_backdrop = element; | 207 m_backdrop = element; |
211 break; | 208 break; |
212 case FIRST_LETTER: | |
213 if (m_generatedFirstLetter) | |
214 m_generatedFirstLetter->dispose(); | |
215 m_generatedFirstLetter = element; | |
216 break; | |
217 default: | 209 default: |
218 ASSERT_NOT_REACHED(); | 210 ASSERT_NOT_REACHED(); |
219 } | 211 } |
220 } | 212 } |
221 | 213 |
222 inline PseudoElement* ElementRareData::pseudoElement(PseudoId pseudoId) const | 214 inline PseudoElement* ElementRareData::pseudoElement(PseudoId pseudoId) const |
223 { | 215 { |
224 switch (pseudoId) { | 216 switch (pseudoId) { |
225 case BEFORE: | 217 case BEFORE: |
226 return m_generatedBefore.get(); | 218 return m_generatedBefore.get(); |
227 case AFTER: | 219 case AFTER: |
228 return m_generatedAfter.get(); | 220 return m_generatedAfter.get(); |
229 case BACKDROP: | 221 case BACKDROP: |
230 return m_backdrop.get(); | 222 return m_backdrop.get(); |
231 case FIRST_LETTER: | |
232 return m_generatedFirstLetter.get(); | |
233 default: | 223 default: |
234 return 0; | 224 return 0; |
235 } | 225 } |
236 } | 226 } |
237 | 227 |
238 } // namespace | 228 } // namespace |
239 | 229 |
240 #endif // ElementRareData_h | 230 #endif // ElementRareData_h |
OLD | NEW |