| 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 27 matching lines...) Expand all Loading... |
| 38 class SpaceSplitString; | 38 class SpaceSplitString; |
| 39 class StyleRule; | 39 class StyleRule; |
| 40 | 40 |
| 41 struct RuleFeature { | 41 struct RuleFeature { |
| 42 DISALLOW_NEW_EXCEPT_PLACEMENT_NEW(); | 42 DISALLOW_NEW_EXCEPT_PLACEMENT_NEW(); |
| 43 public: | 43 public: |
| 44 RuleFeature(StyleRule*, unsigned selectorIndex, bool hasDocumentSecurityOrig
in); | 44 RuleFeature(StyleRule*, unsigned selectorIndex, bool hasDocumentSecurityOrig
in); |
| 45 | 45 |
| 46 DECLARE_TRACE(); | 46 DECLARE_TRACE(); |
| 47 | 47 |
| 48 RawPtrWillBeMember<StyleRule> rule; | 48 Member<StyleRule> rule; |
| 49 unsigned selectorIndex; | 49 unsigned selectorIndex; |
| 50 bool hasDocumentSecurityOrigin; | 50 bool hasDocumentSecurityOrigin; |
| 51 }; | 51 }; |
| 52 | 52 |
| 53 class CORE_EXPORT RuleFeatureSet { | 53 class CORE_EXPORT RuleFeatureSet { |
| 54 DISALLOW_NEW(); | 54 DISALLOW_NEW(); |
| 55 public: | 55 public: |
| 56 RuleFeatureSet(); | 56 RuleFeatureSet(); |
| 57 ~RuleFeatureSet(); | 57 ~RuleFeatureSet(); |
| 58 | 58 |
| (...skipping 30 matching lines...) Expand all Loading... |
| 89 void collectInvalidationSetsForAttribute(InvalidationLists&, Element&, const
QualifiedName& attributeName) const; | 89 void collectInvalidationSetsForAttribute(InvalidationLists&, Element&, const
QualifiedName& attributeName) const; |
| 90 void collectInvalidationSetsForPseudoClass(InvalidationLists&, Element&, CSS
Selector::PseudoType) const; | 90 void collectInvalidationSetsForPseudoClass(InvalidationLists&, Element&, CSS
Selector::PseudoType) const; |
| 91 | 91 |
| 92 bool hasIdsInSelectors() const | 92 bool hasIdsInSelectors() const |
| 93 { | 93 { |
| 94 return m_idInvalidationSets.size() > 0; | 94 return m_idInvalidationSets.size() > 0; |
| 95 } | 95 } |
| 96 | 96 |
| 97 DECLARE_TRACE(); | 97 DECLARE_TRACE(); |
| 98 | 98 |
| 99 WillBeHeapVector<RuleFeature> siblingRules; | 99 HeapVector<RuleFeature> siblingRules; |
| 100 WillBeHeapVector<RuleFeature> uncommonAttributeRules; | 100 HeapVector<RuleFeature> uncommonAttributeRules; |
| 101 | 101 |
| 102 protected: | 102 protected: |
| 103 InvalidationSet* invalidationSetForSelector(const CSSSelector&, Invalidation
Type); | 103 InvalidationSet* invalidationSetForSelector(const CSSSelector&, Invalidation
Type); |
| 104 | 104 |
| 105 private: | 105 private: |
| 106 // Each map entry is either a DescendantInvalidationSet or SiblingInvalidati
onSet. | 106 // Each map entry is either a DescendantInvalidationSet or SiblingInvalidati
onSet. |
| 107 // When both are needed, we store the SiblingInvalidationSet, and use it to
hold the DescendantInvalidationSet. | 107 // When both are needed, we store the SiblingInvalidationSet, and use it to
hold the DescendantInvalidationSet. |
| 108 using InvalidationSetMap = HashMap<AtomicString, RefPtr<InvalidationSet>>; | 108 using InvalidationSetMap = HashMap<AtomicString, RefPtr<InvalidationSet>>; |
| 109 using PseudoTypeInvalidationSetMap = HashMap<CSSSelector::PseudoType, RefPtr
<InvalidationSet>, WTF::IntHash<unsigned>, WTF::UnsignedWithZeroKeyHashTraits<un
signed>>; | 109 using PseudoTypeInvalidationSetMap = HashMap<CSSSelector::PseudoType, RefPtr
<InvalidationSet>, WTF::IntHash<unsigned>, WTF::UnsignedWithZeroKeyHashTraits<un
signed>>; |
| 110 | 110 |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 167 PseudoTypeInvalidationSetMap m_pseudoInvalidationSets; | 167 PseudoTypeInvalidationSetMap m_pseudoInvalidationSets; |
| 168 | 168 |
| 169 friend class RuleFeatureSetTest; | 169 friend class RuleFeatureSetTest; |
| 170 }; | 170 }; |
| 171 | 171 |
| 172 } // namespace blink | 172 } // namespace blink |
| 173 | 173 |
| 174 WTF_ALLOW_MOVE_AND_INIT_WITH_MEM_FUNCTIONS(blink::RuleFeature); | 174 WTF_ALLOW_MOVE_AND_INIT_WITH_MEM_FUNCTIONS(blink::RuleFeature); |
| 175 | 175 |
| 176 #endif // RuleFeature_h | 176 #endif // RuleFeature_h |
| OLD | NEW |