OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc.
All rights reserved. | 3 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc.
All rights reserved. |
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 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
103 unsigned m_specificity : 24; | 103 unsigned m_specificity : 24; |
104 unsigned m_containsUncommonAttributeSelector : 1; | 104 unsigned m_containsUncommonAttributeSelector : 1; |
105 unsigned m_linkMatchType : 2; // CSSSelector::LinkMatchMask | 105 unsigned m_linkMatchType : 2; // CSSSelector::LinkMatchMask |
106 unsigned m_hasDocumentSecurityOrigin : 1; | 106 unsigned m_hasDocumentSecurityOrigin : 1; |
107 unsigned m_propertyWhitelistType : 2; | 107 unsigned m_propertyWhitelistType : 2; |
108 // Use plain array instead of a Vector to minimize memory overhead. | 108 // Use plain array instead of a Vector to minimize memory overhead. |
109 unsigned m_descendantSelectorIdentifierHashes[maximumIdentifierCount]; | 109 unsigned m_descendantSelectorIdentifierHashes[maximumIdentifierCount]; |
110 }; | 110 }; |
111 | 111 |
112 struct SameSizeAsRuleData { | 112 struct SameSizeAsRuleData { |
| 113 DISALLOW_ALLOCATION(); |
113 void* a; | 114 void* a; |
114 unsigned b; | 115 unsigned b; |
115 unsigned c; | 116 unsigned c; |
116 unsigned d[4]; | 117 unsigned d[4]; |
117 }; | 118 }; |
118 | 119 |
119 static_assert(sizeof(RuleData) == sizeof(SameSizeAsRuleData), "RuleData should s
tay small"); | 120 static_assert(sizeof(RuleData) == sizeof(SameSizeAsRuleData), "RuleData should s
tay small"); |
120 | 121 |
121 class CORE_EXPORT RuleSet : public NoBaseWillBeGarbageCollectedFinalized<RuleSet
> { | 122 class CORE_EXPORT RuleSet : public NoBaseWillBeGarbageCollectedFinalized<RuleSet
> { |
122 WTF_MAKE_NONCOPYABLE(RuleSet); | 123 WTF_MAKE_NONCOPYABLE(RuleSet); |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
177 void addFontFaceRule(StyleRuleFontFace*); | 178 void addFontFaceRule(StyleRuleFontFace*); |
178 void addKeyframesRule(StyleRuleKeyframes*); | 179 void addKeyframesRule(StyleRuleKeyframes*); |
179 | 180 |
180 void addChildRules(const WillBeHeapVector<RefPtrWillBeMember<StyleRuleBase>>
&, const MediaQueryEvaluator& medium, AddRuleFlags); | 181 void addChildRules(const WillBeHeapVector<RefPtrWillBeMember<StyleRuleBase>>
&, const MediaQueryEvaluator& medium, AddRuleFlags); |
181 bool findBestRuleSetAndAdd(const CSSSelector&, RuleData&); | 182 bool findBestRuleSetAndAdd(const CSSSelector&, RuleData&); |
182 | 183 |
183 void compactRules(); | 184 void compactRules(); |
184 static void compactPendingRules(PendingRuleMap&, CompactRuleMap&); | 185 static void compactPendingRules(PendingRuleMap&, CompactRuleMap&); |
185 | 186 |
186 class PendingRuleMaps : public NoBaseWillBeGarbageCollected<PendingRuleMaps>
{ | 187 class PendingRuleMaps : public NoBaseWillBeGarbageCollected<PendingRuleMaps>
{ |
| 188 WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED(PendingRuleMaps); |
187 public: | 189 public: |
188 static PassOwnPtrWillBeRawPtr<PendingRuleMaps> create() { return adoptPt
rWillBeNoop(new PendingRuleMaps); } | 190 static PassOwnPtrWillBeRawPtr<PendingRuleMaps> create() { return adoptPt
rWillBeNoop(new PendingRuleMaps); } |
189 | 191 |
190 PendingRuleMap idRules; | 192 PendingRuleMap idRules; |
191 PendingRuleMap classRules; | 193 PendingRuleMap classRules; |
192 PendingRuleMap tagRules; | 194 PendingRuleMap tagRules; |
193 PendingRuleMap shadowPseudoElementRules; | 195 PendingRuleMap shadowPseudoElementRules; |
194 | 196 |
195 DECLARE_TRACE(); | 197 DECLARE_TRACE(); |
196 | 198 |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
231 WillBeHeapVector<RuleData> m_allRules; | 233 WillBeHeapVector<RuleData> m_allRules; |
232 #endif | 234 #endif |
233 }; | 235 }; |
234 | 236 |
235 } // namespace blink | 237 } // namespace blink |
236 | 238 |
237 WTF_ALLOW_MOVE_AND_INIT_WITH_MEM_FUNCTIONS(blink::RuleData); | 239 WTF_ALLOW_MOVE_AND_INIT_WITH_MEM_FUNCTIONS(blink::RuleData); |
238 WTF_ALLOW_MOVE_AND_INIT_WITH_MEM_FUNCTIONS(blink::MinimalRuleData); | 240 WTF_ALLOW_MOVE_AND_INIT_WITH_MEM_FUNCTIONS(blink::MinimalRuleData); |
239 | 241 |
240 #endif // RuleSet_h | 242 #endif // RuleSet_h |
OLD | NEW |