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, |
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
13 * Library General Public License for more details. | 13 * Library General Public License for more details. |
14 * | 14 * |
15 * You should have received a copy of the GNU Library General Public License | 15 * You should have received a copy of the GNU Library General Public License |
16 * along with this library; see the file COPYING.LIB. If not, write to | 16 * along with this library; see the file COPYING.LIB. If not, write to |
17 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | 17 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
18 * Boston, MA 02110-1301, USA. | 18 * Boston, MA 02110-1301, USA. |
19 * | 19 * |
20 */ | 20 */ |
21 | 21 |
22 #ifndef ElementRareData_h | 22 #ifndef ElementRareData_h |
23 #define ElementRareData_h | 23 #define ElementRareData_h |
24 | 24 |
25 #include "core/animation/ActiveAnimations.h" | 25 #include "core/animation/ActiveAnimations.h" |
26 #include "core/dom/DatasetDOMStringMap.h" | 26 #include "core/dom/DatasetDOMStringMap.h" |
27 #include "core/dom/NamedNodeMap.h" | 27 #include "core/dom/NamedNodeMap.h" |
28 #include "core/dom/NodeRareData.h" | 28 #include "core/dom/NodeRareData.h" |
29 #include "core/dom/PseudoElement.h" | 29 #include "core/dom/PseudoElement.h" |
| 30 #include "core/dom/custom/CustomElementDefinition.h" |
30 #include "core/dom/shadow/ElementShadow.h" | 31 #include "core/dom/shadow/ElementShadow.h" |
31 #include "core/html/ClassList.h" | 32 #include "core/html/ClassList.h" |
32 #include "core/html/ime/InputMethodContext.h" | 33 #include "core/html/ime/InputMethodContext.h" |
33 #include "core/rendering/style/StyleInheritedData.h" | 34 #include "core/rendering/style/StyleInheritedData.h" |
34 #include "wtf/OwnPtr.h" | 35 #include "wtf/OwnPtr.h" |
35 | 36 |
36 namespace WebCore { | 37 namespace WebCore { |
37 | 38 |
38 class HTMLElement; | 39 class HTMLElement; |
39 | 40 |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
116 InputMethodContext& ensureInputMethodContext(HTMLElement* element) | 117 InputMethodContext& ensureInputMethodContext(HTMLElement* element) |
117 { | 118 { |
118 if (!m_inputMethodContext) | 119 if (!m_inputMethodContext) |
119 m_inputMethodContext = InputMethodContext::create(element); | 120 m_inputMethodContext = InputMethodContext::create(element); |
120 return *m_inputMethodContext; | 121 return *m_inputMethodContext; |
121 } | 122 } |
122 | 123 |
123 bool hasPseudoElements() const; | 124 bool hasPseudoElements() const; |
124 void clearPseudoElements(); | 125 void clearPseudoElements(); |
125 | 126 |
| 127 void setCustomElementDefinition(PassRefPtr<CustomElementDefinition> definiti
on) { m_customElementDefinition = definition; } |
| 128 CustomElementDefinition* customElementDefinition() const { return m_customEl
ementDefinition.get(); } |
| 129 |
126 private: | 130 private: |
127 short m_tabindex; | 131 short m_tabindex; |
128 unsigned short m_childIndex; | 132 unsigned short m_childIndex; |
129 unsigned m_flags; | 133 unsigned m_flags; |
130 | 134 |
131 LayoutSize m_minimumSizeForResizing; | 135 LayoutSize m_minimumSizeForResizing; |
132 IntSize m_savedLayerScrollOffset; | 136 IntSize m_savedLayerScrollOffset; |
133 RefPtr<RenderStyle> m_computedStyle; | |
134 | 137 |
135 OwnPtr<DatasetDOMStringMap> m_dataset; | 138 OwnPtr<DatasetDOMStringMap> m_dataset; |
136 OwnPtr<ClassList> m_classList; | 139 OwnPtr<ClassList> m_classList; |
137 OwnPtr<ElementShadow> m_shadow; | 140 OwnPtr<ElementShadow> m_shadow; |
138 OwnPtr<NamedNodeMap> m_attributeMap; | 141 OwnPtr<NamedNodeMap> m_attributeMap; |
139 OwnPtr<InputMethodContext> m_inputMethodContext; | 142 OwnPtr<InputMethodContext> m_inputMethodContext; |
140 OwnPtr<ActiveAnimations> m_activeAnimations; | 143 OwnPtr<ActiveAnimations> m_activeAnimations; |
141 OwnPtr<InlineCSSStyleDeclaration> m_cssomWrapper; | 144 OwnPtr<InlineCSSStyleDeclaration> m_cssomWrapper; |
142 | 145 |
| 146 RefPtr<RenderStyle> m_computedStyle; |
| 147 RefPtr<CustomElementDefinition> m_customElementDefinition; |
| 148 |
143 RefPtr<PseudoElement> m_generatedBefore; | 149 RefPtr<PseudoElement> m_generatedBefore; |
144 RefPtr<PseudoElement> m_generatedAfter; | 150 RefPtr<PseudoElement> m_generatedAfter; |
145 RefPtr<PseudoElement> m_backdrop; | 151 RefPtr<PseudoElement> m_backdrop; |
146 | 152 |
147 explicit ElementRareData(RenderObject*); | 153 explicit ElementRareData(RenderObject*); |
148 }; | 154 }; |
149 | 155 |
150 inline IntSize defaultMinimumSizeForResizing() | 156 inline IntSize defaultMinimumSizeForResizing() |
151 { | 157 { |
152 return IntSize(LayoutUnit::max(), LayoutUnit::max()); | 158 return IntSize(LayoutUnit::max(), LayoutUnit::max()); |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
234 clearFlag(ChildrenAffectedByLastChildRules); | 240 clearFlag(ChildrenAffectedByLastChildRules); |
235 clearFlag(ChildrenAffectedByDirectAdjacentRules); | 241 clearFlag(ChildrenAffectedByDirectAdjacentRules); |
236 clearFlag(ChildrenAffectedByIndirectAdjacentRules); | 242 clearFlag(ChildrenAffectedByIndirectAdjacentRules); |
237 clearFlag(ChildrenAffectedByForwardPositionalRules); | 243 clearFlag(ChildrenAffectedByForwardPositionalRules); |
238 clearFlag(ChildrenAffectedByBackwardPositionalRules); | 244 clearFlag(ChildrenAffectedByBackwardPositionalRules); |
239 } | 245 } |
240 | 246 |
241 } // namespace | 247 } // namespace |
242 | 248 |
243 #endif // ElementRareData_h | 249 #endif // ElementRareData_h |
OLD | NEW |