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

Side by Side Diff: third_party/WebKit/Source/core/css/parser/CSSParserSelector.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 /* 1 /*
2 * Copyright (C) 2003 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 2003 Lars Knoll (knoll@kde.org)
3 * Copyright (C) 2004, 2005, 2006, 2008, 2009, 2010 Apple Inc. All rights reserv ed. 3 * Copyright (C) 2004, 2005, 2006, 2008, 2009, 2010 Apple Inc. All rights reserv ed.
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 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 void setRelation(CSSSelector::Relation value) { m_selector->setRelation(valu e); } 48 void setRelation(CSSSelector::Relation value) { m_selector->setRelation(valu e); }
49 void setForPage() { m_selector->setForPage(); } 49 void setForPage() { m_selector->setForPage(); }
50 void setRelationIsAffectedByPseudoContent() { m_selector->setRelationIsAffec tedByPseudoContent(); } 50 void setRelationIsAffectedByPseudoContent() { m_selector->setRelationIsAffec tedByPseudoContent(); }
51 bool relationIsAffectedByPseudoContent() const { return m_selector->relation IsAffectedByPseudoContent(); } 51 bool relationIsAffectedByPseudoContent() const { return m_selector->relation IsAffectedByPseudoContent(); }
52 52
53 void updatePseudoType(const AtomicString& value, bool hasArguments = false) const { m_selector->updatePseudoType(value, hasArguments); } 53 void updatePseudoType(const AtomicString& value, bool hasArguments = false) const { m_selector->updatePseudoType(value, hasArguments); }
54 54
55 void adoptSelectorVector(Vector<OwnPtr<CSSParserSelector>>& selectorVector); 55 void adoptSelectorVector(Vector<OwnPtr<CSSParserSelector>>& selectorVector);
56 void setSelectorList(PassOwnPtr<CSSSelectorList>); 56 void setSelectorList(PassOwnPtr<CSSSelectorList>);
57 57
58 bool hasHostPseudoSelector() const; 58 bool isHostPseudoSelector() const;
59 59
60 CSSSelector::Match match() const { return m_selector->match(); } 60 CSSSelector::Match match() const { return m_selector->match(); }
61 CSSSelector::PseudoType pseudoType() const { return m_selector->pseudoType() ; } 61 CSSSelector::PseudoType pseudoType() const { return m_selector->pseudoType() ; }
62 62
63 bool needsImplicitShadowCrossingCombinatorForMatching() const { return pseud oType() == CSSSelector::PseudoWebKitCustomElement || pseudoType() == CSSSelector ::PseudoCue || pseudoType() == CSSSelector::PseudoShadow; } 63 bool needsImplicitShadowCrossingCombinatorForMatching() const { return pseud oType() == CSSSelector::PseudoWebKitCustomElement || pseudoType() == CSSSelector ::PseudoCue || pseudoType() == CSSSelector::PseudoShadow; }
64 64
65 bool isSimple() const; 65 bool isSimple() const;
66 bool hasImplicitShadowCrossingCombinatorForMatching() const;
67 66
68 CSSParserSelector* tagHistory() const { return m_tagHistory.get(); } 67 CSSParserSelector* tagHistory() const { return m_tagHistory.get(); }
69 void setTagHistory(PassOwnPtr<CSSParserSelector> selector) { m_tagHistory = selector; } 68 void setTagHistory(PassOwnPtr<CSSParserSelector> selector) { m_tagHistory = selector; }
70 void clearTagHistory() { m_tagHistory.clear(); } 69 void clearTagHistory() { m_tagHistory.clear(); }
71 void insertTagHistory(CSSSelector::Relation before, PassOwnPtr<CSSParserSele ctor>, CSSSelector::Relation after);
72 void appendTagHistory(CSSSelector::Relation, PassOwnPtr<CSSParserSelector>); 70 void appendTagHistory(CSSSelector::Relation, PassOwnPtr<CSSParserSelector>);
71 PassOwnPtr<CSSParserSelector> releaseTagHistory();
73 void prependTagSelector(const QualifiedName&, bool tagIsImplicit = false); 72 void prependTagSelector(const QualifiedName&, bool tagIsImplicit = false);
74 73
75 private: 74 private:
76 OwnPtr<CSSSelector> m_selector; 75 OwnPtr<CSSSelector> m_selector;
77 OwnPtr<CSSParserSelector> m_tagHistory; 76 OwnPtr<CSSParserSelector> m_tagHistory;
78 }; 77 };
79 78
80 inline bool CSSParserSelector::hasImplicitShadowCrossingCombinatorForMatching() const
81 {
82 return m_selector->relation() == CSSSelector::ShadowPseudo;
83 }
84
85 } // namespace blink 79 } // namespace blink
86 80
87 #endif 81 #endif
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/css/RuleSetTest.cpp ('k') | third_party/WebKit/Source/core/css/parser/CSSParserSelector.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698