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/CSSParserTokenRange.h" | 9 #include "core/css/parser/CSSParserTokenRange.h" |
10 #include "core/css/parser/CSSParserValues.h" | 10 #include "core/css/parser/CSSParserValues.h" |
(...skipping 18 matching lines...) Expand all Loading... |
29 // These will all consume trailing comments if successful | 29 // These will all consume trailing comments if successful |
30 | 30 |
31 void consumeComplexSelectorList(CSSParserTokenRange&, CSSSelectorList&); | 31 void consumeComplexSelectorList(CSSParserTokenRange&, CSSSelectorList&); |
32 void consumeCompoundSelectorList(CSSParserTokenRange&, CSSSelectorList&); | 32 void consumeCompoundSelectorList(CSSParserTokenRange&, CSSSelectorList&); |
33 | 33 |
34 PassOwnPtr<CSSParserSelector> consumeComplexSelector(CSSParserTokenRange&); | 34 PassOwnPtr<CSSParserSelector> consumeComplexSelector(CSSParserTokenRange&); |
35 PassOwnPtr<CSSParserSelector> consumeCompoundSelector(CSSParserTokenRange&); | 35 PassOwnPtr<CSSParserSelector> consumeCompoundSelector(CSSParserTokenRange&); |
36 // This doesn't include element names, since they're handled specially | 36 // This doesn't include element names, since they're handled specially |
37 PassOwnPtr<CSSParserSelector> consumeSimpleSelector(CSSParserTokenRange&); | 37 PassOwnPtr<CSSParserSelector> consumeSimpleSelector(CSSParserTokenRange&); |
38 | 38 |
39 bool consumeName(CSSParserTokenRange&, AtomicString& name, AtomicString& nam
espacePrefix, bool& hasNamespace); | 39 bool consumeName(CSSParserTokenRange&, AtomicString& name, AtomicString& nam
espacePrefix); |
40 | 40 |
41 // These will return nullptr when the selector is invalid | 41 // These will return nullptr when the selector is invalid |
42 PassOwnPtr<CSSParserSelector> consumeId(CSSParserTokenRange&); | 42 PassOwnPtr<CSSParserSelector> consumeId(CSSParserTokenRange&); |
43 PassOwnPtr<CSSParserSelector> consumeClass(CSSParserTokenRange&); | 43 PassOwnPtr<CSSParserSelector> consumeClass(CSSParserTokenRange&); |
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 QualifiedName determineNameInNamespace(const AtomicString& prefix, const Ato
micString& localName); | 52 QualifiedName determineNameInNamespace(const AtomicString& prefix, const Ato
micString& localName); |
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); | 54 void rewriteSpecifiersWithElementNameForCustomPseudoElement(const QualifiedN
ame& tag, CSSParserSelector*, bool tagIsImplicit); |
55 void rewriteSpecifiersWithElementNameForContentPseudoElement(const Qualified
Name& 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); | 56 static PassOwnPtr<CSSParserSelector> addSimpleSelectorToCompound(PassOwnPtr<
CSSParserSelector> compoundSelector, PassOwnPtr<CSSParserSelector> simpleSelecto
r); |
57 | 57 |
58 const CSSParserContext& m_context; | 58 const CSSParserContext& m_context; |
59 RawPtrWillBeMember<StyleSheetContents> m_styleSheet; // FIXME: Should be con
st | 59 RawPtrWillBeMember<StyleSheetContents> m_styleSheet; // FIXME: Should be con
st |
60 | 60 |
61 bool m_failedParsing; | 61 bool m_failedParsing; |
62 }; | 62 }; |
63 | 63 |
64 } // namespace | 64 } // namespace |
65 | 65 |
66 #endif // CSSSelectorParser_h | 66 #endif // CSSSelectorParser_h |
OLD | NEW |