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

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

Issue 1587643004: Restrict use of pseudo elements within compound. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@valid-selectors
Patch Set: Workaround for invalid selectors in UA style. 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 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
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 isHostPseudoSelector() 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 const CSSSelectorList* selectorList() const { return m_selector->selectorLis t(); }
62 63
63 bool needsImplicitShadowCrossingCombinatorForMatching() const { return pseud oType() == CSSSelector::PseudoWebKitCustomElement || pseudoType() == CSSSelector ::PseudoCue || pseudoType() == CSSSelector::PseudoShadow; } 64 bool needsImplicitShadowCrossingCombinatorForMatching() const { return pseud oType() == CSSSelector::PseudoWebKitCustomElement || pseudoType() == CSSSelector ::PseudoCue || pseudoType() == CSSSelector::PseudoShadow; }
64 65
65 bool isSimple() const; 66 bool isSimple() const;
66 67
67 CSSParserSelector* tagHistory() const { return m_tagHistory.get(); } 68 CSSParserSelector* tagHistory() const { return m_tagHistory.get(); }
68 void setTagHistory(PassOwnPtr<CSSParserSelector> selector) { m_tagHistory = selector; } 69 void setTagHistory(PassOwnPtr<CSSParserSelector> selector) { m_tagHistory = selector; }
69 void clearTagHistory() { m_tagHistory.clear(); } 70 void clearTagHistory() { m_tagHistory.clear(); }
70 void appendTagHistory(CSSSelector::Relation, PassOwnPtr<CSSParserSelector>); 71 void appendTagHistory(CSSSelector::Relation, PassOwnPtr<CSSParserSelector>);
71 PassOwnPtr<CSSParserSelector> releaseTagHistory(); 72 PassOwnPtr<CSSParserSelector> releaseTagHistory();
72 void prependTagSelector(const QualifiedName&, bool tagIsImplicit = false); 73 void prependTagSelector(const QualifiedName&, bool tagIsImplicit = false);
73 74
74 private: 75 private:
75 OwnPtr<CSSSelector> m_selector; 76 OwnPtr<CSSSelector> m_selector;
76 OwnPtr<CSSParserSelector> m_tagHistory; 77 OwnPtr<CSSParserSelector> m_tagHistory;
77 }; 78 };
78 79
79 } // namespace blink 80 } // namespace blink
80 81
81 #endif 82 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698