Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(81)

Side by Side Diff: Source/core/dom/ElementRareData.h

Issue 14834002: Set a bit on Custom Elements on creation to simplify wrapping (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 void setChildrenAffectedByLastChildRules(bool value) { m_childrenAffectedByL astChildRules = value; } 79 void setChildrenAffectedByLastChildRules(bool value) { m_childrenAffectedByL astChildRules = value; }
80 bool childrenAffectedByDirectAdjacentRules() const { return m_childrenAffect edByDirectAdjacentRules; } 80 bool childrenAffectedByDirectAdjacentRules() const { return m_childrenAffect edByDirectAdjacentRules; }
81 void setChildrenAffectedByDirectAdjacentRules(bool value) { m_childrenAffect edByDirectAdjacentRules = value; } 81 void setChildrenAffectedByDirectAdjacentRules(bool value) { m_childrenAffect edByDirectAdjacentRules = value; }
82 bool childrenAffectedByForwardPositionalRules() const { return m_childrenAff ectedByForwardPositionalRules; } 82 bool childrenAffectedByForwardPositionalRules() const { return m_childrenAff ectedByForwardPositionalRules; }
83 void setChildrenAffectedByForwardPositionalRules(bool value) { m_childrenAff ectedByForwardPositionalRules = value; } 83 void setChildrenAffectedByForwardPositionalRules(bool value) { m_childrenAff ectedByForwardPositionalRules = value; }
84 bool childrenAffectedByBackwardPositionalRules() const { return m_childrenAf fectedByBackwardPositionalRules; } 84 bool childrenAffectedByBackwardPositionalRules() const { return m_childrenAf fectedByBackwardPositionalRules; }
85 void setChildrenAffectedByBackwardPositionalRules(bool value) { m_childrenAf fectedByBackwardPositionalRules = value; } 85 void setChildrenAffectedByBackwardPositionalRules(bool value) { m_childrenAf fectedByBackwardPositionalRules = value; }
86 unsigned childIndex() const { return m_childIndex; } 86 unsigned childIndex() const { return m_childIndex; }
87 void setChildIndex(unsigned index) { m_childIndex = index; } 87 void setChildIndex(unsigned index) { m_childIndex = index; }
88 88
89 void setIsCustomElement();
90 bool isCustomElement() const { return m_isCustomElement; }
91
89 // Manually called by Node::reportMemoryUsage. 92 // Manually called by Node::reportMemoryUsage.
90 void reportMemoryUsage(MemoryObjectInfo*) const; 93 void reportMemoryUsage(MemoryObjectInfo*) const;
91 94
92 void clearShadow() { m_shadow = nullptr; } 95 void clearShadow() { m_shadow = nullptr; }
93 ElementShadow* shadow() const { return m_shadow.get(); } 96 ElementShadow* shadow() const { return m_shadow.get(); }
94 ElementShadow* ensureShadow() 97 ElementShadow* ensureShadow()
95 { 98 {
96 if (!m_shadow) 99 if (!m_shadow)
97 m_shadow = ElementShadow::create(); 100 m_shadow = ElementShadow::create();
98 return m_shadow.get(); 101 return m_shadow.get();
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 unsigned m_childrenAffectedByDrag : 1; 147 unsigned m_childrenAffectedByDrag : 1;
145 // Bits for dynamic child matching. 148 // Bits for dynamic child matching.
146 // We optimize for :first-child and :last-child. The other positional child selectors like nth-child or 149 // We optimize for :first-child and :last-child. The other positional child selectors like nth-child or
147 // *-child-of-type, we will just give up and re-evaluate whenever children c hange at all. 150 // *-child-of-type, we will just give up and re-evaluate whenever children c hange at all.
148 unsigned m_childrenAffectedByFirstChildRules : 1; 151 unsigned m_childrenAffectedByFirstChildRules : 1;
149 unsigned m_childrenAffectedByLastChildRules : 1; 152 unsigned m_childrenAffectedByLastChildRules : 1;
150 unsigned m_childrenAffectedByDirectAdjacentRules : 1; 153 unsigned m_childrenAffectedByDirectAdjacentRules : 1;
151 unsigned m_childrenAffectedByForwardPositionalRules : 1; 154 unsigned m_childrenAffectedByForwardPositionalRules : 1;
152 unsigned m_childrenAffectedByBackwardPositionalRules : 1; 155 unsigned m_childrenAffectedByBackwardPositionalRules : 1;
153 156
157 unsigned m_isCustomElement : 1;
158
154 LayoutSize m_minimumSizeForResizing; 159 LayoutSize m_minimumSizeForResizing;
155 IntSize m_savedLayerScrollOffset; 160 IntSize m_savedLayerScrollOffset;
156 RefPtr<RenderStyle> m_computedStyle; 161 RefPtr<RenderStyle> m_computedStyle;
157 162
158 OwnPtr<DatasetDOMStringMap> m_dataset; 163 OwnPtr<DatasetDOMStringMap> m_dataset;
159 OwnPtr<ClassList> m_classList; 164 OwnPtr<ClassList> m_classList;
160 OwnPtr<ElementShadow> m_shadow; 165 OwnPtr<ElementShadow> m_shadow;
161 OwnPtr<NamedNodeMap> m_attributeMap; 166 OwnPtr<NamedNodeMap> m_attributeMap;
162 167
163 RefPtr<PseudoElement> m_generatedBefore; 168 RefPtr<PseudoElement> m_generatedBefore;
(...skipping 22 matching lines...) Expand all
186 , m_hasPendingResources(false) 191 , m_hasPendingResources(false)
187 #endif 192 #endif
188 , m_childrenAffectedByHover(false) 193 , m_childrenAffectedByHover(false)
189 , m_childrenAffectedByActive(false) 194 , m_childrenAffectedByActive(false)
190 , m_childrenAffectedByDrag(false) 195 , m_childrenAffectedByDrag(false)
191 , m_childrenAffectedByFirstChildRules(false) 196 , m_childrenAffectedByFirstChildRules(false)
192 , m_childrenAffectedByLastChildRules(false) 197 , m_childrenAffectedByLastChildRules(false)
193 , m_childrenAffectedByDirectAdjacentRules(false) 198 , m_childrenAffectedByDirectAdjacentRules(false)
194 , m_childrenAffectedByForwardPositionalRules(false) 199 , m_childrenAffectedByForwardPositionalRules(false)
195 , m_childrenAffectedByBackwardPositionalRules(false) 200 , m_childrenAffectedByBackwardPositionalRules(false)
201 , m_isCustomElement(false)
196 , m_minimumSizeForResizing(defaultMinimumSizeForResizing()) 202 , m_minimumSizeForResizing(defaultMinimumSizeForResizing())
197 { 203 {
198 } 204 }
199 205
200 inline ElementRareData::~ElementRareData() 206 inline ElementRareData::~ElementRareData()
201 { 207 {
202 ASSERT(!m_shadow); 208 ASSERT(!m_shadow);
203 ASSERT(!m_generatedBefore); 209 ASSERT(!m_generatedBefore);
204 ASSERT(!m_generatedAfter); 210 ASSERT(!m_generatedAfter);
205 } 211 }
206 212
213 inline void ElementRareData::setIsCustomElement()
214 {
215 m_isCustomElement = true;
216 }
217
207 inline void ElementRareData::setPseudoElement(PseudoId pseudoId, PassRefPtr<Pseu doElement> element) 218 inline void ElementRareData::setPseudoElement(PseudoId pseudoId, PassRefPtr<Pseu doElement> element)
208 { 219 {
209 switch (pseudoId) { 220 switch (pseudoId) {
210 case BEFORE: 221 case BEFORE:
211 releasePseudoElement(m_generatedBefore.get()); 222 releasePseudoElement(m_generatedBefore.get());
212 m_generatedBefore = element; 223 m_generatedBefore = element;
213 break; 224 break;
214 case AFTER: 225 case AFTER:
215 releasePseudoElement(m_generatedAfter.get()); 226 releasePseudoElement(m_generatedAfter.get());
216 m_generatedAfter = element; 227 m_generatedAfter = element;
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
261 setChildrenAffectedByFirstChildRules(false); 272 setChildrenAffectedByFirstChildRules(false);
262 setChildrenAffectedByLastChildRules(false); 273 setChildrenAffectedByLastChildRules(false);
263 setChildrenAffectedByDirectAdjacentRules(false); 274 setChildrenAffectedByDirectAdjacentRules(false);
264 setChildrenAffectedByForwardPositionalRules(false); 275 setChildrenAffectedByForwardPositionalRules(false);
265 setChildrenAffectedByBackwardPositionalRules(false); 276 setChildrenAffectedByBackwardPositionalRules(false);
266 } 277 }
267 278
268 } // namespace 279 } // namespace
269 280
270 #endif // ElementRareData_h 281 #endif // ElementRareData_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698