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