OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CSSSelectorParser_h | 5 #ifndef CSSSelectorParser_h |
6 #define CSSSelectorParser_h | 6 #define CSSSelectorParser_h |
7 | 7 |
8 #include "core/CoreExport.h" | 8 #include "core/CoreExport.h" |
9 #include "core/css/parser/CSSParserSelector.h" | 9 #include "core/css/parser/CSSParserSelector.h" |
10 #include "core/css/parser/CSSParserTokenRange.h" | 10 #include "core/css/parser/CSSParserTokenRange.h" |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
44 PassOwnPtr<CSSParserSelector> consumePseudo(CSSParserTokenRange&); | 44 PassOwnPtr<CSSParserSelector> consumePseudo(CSSParserTokenRange&); |
45 PassOwnPtr<CSSParserSelector> consumeAttribute(CSSParserTokenRange&); | 45 PassOwnPtr<CSSParserSelector> consumeAttribute(CSSParserTokenRange&); |
46 | 46 |
47 CSSSelector::Relation consumeCombinator(CSSParserTokenRange&); | 47 CSSSelector::Relation consumeCombinator(CSSParserTokenRange&); |
48 CSSSelector::Match consumeAttributeMatch(CSSParserTokenRange&); | 48 CSSSelector::Match consumeAttributeMatch(CSSParserTokenRange&); |
49 CSSSelector::AttributeMatchType consumeAttributeFlags(CSSParserTokenRange&); | 49 CSSSelector::AttributeMatchType consumeAttributeFlags(CSSParserTokenRange&); |
50 | 50 |
51 const AtomicString& defaultNamespace() const; | 51 const AtomicString& defaultNamespace() const; |
52 const AtomicString& determineNamespace(const AtomicString& prefix); | 52 const AtomicString& determineNamespace(const AtomicString& prefix); |
53 void prependTypeSelectorIfNeeded(const AtomicString& namespacePrefix, const
AtomicString& elementName, CSSParserSelector*); | 53 void prependTypeSelectorIfNeeded(const AtomicString& namespacePrefix, const
AtomicString& elementName, CSSParserSelector*); |
54 void rewriteSpecifiersWithElementNameForCustomPseudoElement(const QualifiedN
ame& tag, CSSParserSelector*, bool tagIsImplicit); | |
55 void rewriteSpecifiersWithElementNameForContentPseudoElement(const Qualified
Name& tag, CSSParserSelector*, bool tagIsImplicit); | |
56 static PassOwnPtr<CSSParserSelector> addSimpleSelectorToCompound(PassOwnPtr<
CSSParserSelector> compoundSelector, PassOwnPtr<CSSParserSelector> simpleSelecto
r); | 54 static PassOwnPtr<CSSParserSelector> addSimpleSelectorToCompound(PassOwnPtr<
CSSParserSelector> compoundSelector, PassOwnPtr<CSSParserSelector> simpleSelecto
r); |
| 55 static PassOwnPtr<CSSParserSelector> splitCompoundAtImplicitShadowCrossingCo
mbinator(PassOwnPtr<CSSParserSelector> compoundSelector); |
57 | 56 |
58 const CSSParserContext& m_context; | 57 const CSSParserContext& m_context; |
59 RawPtrWillBeMember<StyleSheetContents> m_styleSheet; // FIXME: Should be con
st | 58 RawPtrWillBeMember<StyleSheetContents> m_styleSheet; // FIXME: Should be con
st |
60 | 59 |
61 bool m_failedParsing = false; | 60 bool m_failedParsing = false; |
62 bool m_disallowPseudoElements = false; | 61 bool m_disallowPseudoElements = false; |
63 | 62 |
64 class DisallowPseudoElementsScope { | 63 class DisallowPseudoElementsScope { |
65 STACK_ALLOCATED(); | 64 STACK_ALLOCATED(); |
66 WTF_MAKE_NONCOPYABLE(DisallowPseudoElementsScope); | 65 WTF_MAKE_NONCOPYABLE(DisallowPseudoElementsScope); |
(...skipping 11 matching lines...) Expand all Loading... |
78 | 77 |
79 private: | 78 private: |
80 CSSSelectorParser* m_parser; | 79 CSSSelectorParser* m_parser; |
81 bool m_wasDisallowed; | 80 bool m_wasDisallowed; |
82 }; | 81 }; |
83 }; | 82 }; |
84 | 83 |
85 } // namespace | 84 } // namespace |
86 | 85 |
87 #endif // CSSSelectorParser_h | 86 #endif // CSSSelectorParser_h |
OLD | NEW |