Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(840)

Side by Side Diff: Source/core/css/parser/CSSSelectorParser.h

Issue 1305973007: Clean up empty namespace handling and fix empty namespaces in compound selectors (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@defaultns
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « Source/core/css/StyleSheetContents.cpp ('k') | Source/core/css/parser/CSSSelectorParser.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
OLDNEW
« no previous file with comments | « Source/core/css/StyleSheetContents.cpp ('k') | Source/core/css/parser/CSSSelectorParser.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698