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

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

Issue 1574323003: Split compound selector after consume finished. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@upload-base
Patch Set: Removed obsolete serialization hack and fixed unit tests. Created 4 years, 11 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
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/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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698