| 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 28 matching lines...) Expand all Loading... |
| 87 void collectInvalidationSetsForAttribute(InvalidationLists&, Element&, const
QualifiedName& attributeName) const; | 87 void collectInvalidationSetsForAttribute(InvalidationLists&, Element&, const
QualifiedName& attributeName) const; |
| 88 void collectInvalidationSetsForPseudoClass(InvalidationLists&, Element&, CSS
Selector::PseudoType) const; | 88 void collectInvalidationSetsForPseudoClass(InvalidationLists&, Element&, CSS
Selector::PseudoType) const; |
| 89 | 89 |
| 90 bool hasIdsInSelectors() const | 90 bool hasIdsInSelectors() const |
| 91 { | 91 { |
| 92 return m_idInvalidationSets.size() > 0; | 92 return m_idInvalidationSets.size() > 0; |
| 93 } | 93 } |
| 94 | 94 |
| 95 DECLARE_TRACE(); | 95 DECLARE_TRACE(); |
| 96 | 96 |
| 97 WillBeHeapVector<RuleFeature> siblingRules; | 97 HeapVector<RuleFeature> siblingRules; |
| 98 WillBeHeapVector<RuleFeature> uncommonAttributeRules; | 98 HeapVector<RuleFeature> uncommonAttributeRules; |
| 99 | 99 |
| 100 protected: | 100 protected: |
| 101 InvalidationSet* invalidationSetForSelector(const CSSSelector&, Invalidation
Type); | 101 InvalidationSet* invalidationSetForSelector(const CSSSelector&, Invalidation
Type); |
| 102 | 102 |
| 103 private: | 103 private: |
| 104 // Each map entry is either a DescendantInvalidationSet or SiblingInvalidati
onSet. | 104 // Each map entry is either a DescendantInvalidationSet or SiblingInvalidati
onSet. |
| 105 // When both are needed, we store the SiblingInvalidationSet, and use it to
hold the DescendantInvalidationSet. | 105 // When both are needed, we store the SiblingInvalidationSet, and use it to
hold the DescendantInvalidationSet. |
| 106 using InvalidationSetMap = HashMap<AtomicString, RefPtr<InvalidationSet>>; | 106 using InvalidationSetMap = HashMap<AtomicString, RefPtr<InvalidationSet>>; |
| 107 using PseudoTypeInvalidationSetMap = HashMap<CSSSelector::PseudoType, RefPtr
<InvalidationSet>, WTF::IntHash<unsigned>, WTF::UnsignedWithZeroKeyHashTraits<un
signed>>; | 107 using PseudoTypeInvalidationSetMap = HashMap<CSSSelector::PseudoType, RefPtr
<InvalidationSet>, WTF::IntHash<unsigned>, WTF::UnsignedWithZeroKeyHashTraits<un
signed>>; |
| 108 | 108 |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 169 PseudoTypeInvalidationSetMap m_pseudoInvalidationSets; | 169 PseudoTypeInvalidationSetMap m_pseudoInvalidationSets; |
| 170 | 170 |
| 171 friend class RuleFeatureSetTest; | 171 friend class RuleFeatureSetTest; |
| 172 }; | 172 }; |
| 173 | 173 |
| 174 } // namespace blink | 174 } // namespace blink |
| 175 | 175 |
| 176 WTF_ALLOW_MOVE_AND_INIT_WITH_MEM_FUNCTIONS(blink::RuleFeature); | 176 WTF_ALLOW_MOVE_AND_INIT_WITH_MEM_FUNCTIONS(blink::RuleFeature); |
| 177 | 177 |
| 178 #endif // RuleFeature_h | 178 #endif // RuleFeature_h |
| OLD | NEW |