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

Side by Side Diff: sky/engine/core/css/SelectorChecker.h

Issue 848493003: Don't scope check in SelectorChecker. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 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
« no previous file with comments | « sky/engine/core/css/RuleSet.cpp ('k') | sky/engine/core/css/SelectorChecker.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 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com) 3 * (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com)
4 * Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com) 4 * Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com)
5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All rights reserved. 5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All rights reserved.
6 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> 6 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org>
7 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org> 7 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org>
8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/) 8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/)
9 * Copyright (c) 2011, Code Aurora Forum. All rights reserved. 9 * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
10 * Copyright (C) Research In Motion Limited 2011. All rights reserved. 10 * Copyright (C) Research In Motion Limited 2011. All rights reserved.
(...skipping 23 matching lines...) Expand all
34 34
35 class CSSSelector; 35 class CSSSelector;
36 class ContainerNode; 36 class ContainerNode;
37 class Element; 37 class Element;
38 38
39 class SelectorChecker { 39 class SelectorChecker {
40 WTF_MAKE_NONCOPYABLE(SelectorChecker); 40 WTF_MAKE_NONCOPYABLE(SelectorChecker);
41 public: 41 public:
42 explicit SelectorChecker(const Element&); 42 explicit SelectorChecker(const Element&);
43 43
44 // TODO(esprehn): scope should never be null. 44 bool match(const CSSSelector&);
45 bool match(const CSSSelector&, const ContainerNode* scope);
46 45
47 bool matchedAttributeSelector() const { return m_matchedAttributeSelector; } 46 bool matchedAttributeSelector() const { return m_matchedAttributeSelector; }
48 bool matchedFocusSelector() const { return m_matchedFocusSelector; } 47 bool matchedFocusSelector() const { return m_matchedFocusSelector; }
49 bool matchedHoverSelector() const { return m_matchedHoverSelector; } 48 bool matchedHoverSelector() const { return m_matchedHoverSelector; }
50 bool matchedActiveSelector() const { return m_matchedActiveSelector; } 49 bool matchedActiveSelector() const { return m_matchedActiveSelector; }
51 50
52 static bool isHostInItsShadowTree(const Element&, const ContainerNode* scope );
53
54 private: 51 private:
55 bool checkPseudoClass(const CSSSelector&, const ContainerNode* scope); 52 bool checkPseudoClass(const CSSSelector&);
56 bool checkOne(const CSSSelector&, const ContainerNode* scope); 53 bool checkOne(const CSSSelector&);
57 54
58 const Element& m_element; 55 const Element& m_element;
59 bool m_matchedAttributeSelector; 56 bool m_matchedAttributeSelector;
60 bool m_matchedFocusSelector; 57 bool m_matchedFocusSelector;
61 bool m_matchedHoverSelector; 58 bool m_matchedHoverSelector;
62 bool m_matchedActiveSelector; 59 bool m_matchedActiveSelector;
63 }; 60 };
64 61
65 inline bool SelectorChecker::isHostInItsShadowTree(const Element& element, const ContainerNode* scope)
66 {
67 return scope && scope->isInShadowTree() && scope->shadowHost() == element;
68 }
69
70 } 62 }
71 63
72 #endif // SKY_ENGINE_CORE_CSS_SELECTORCHECKER_H_ 64 #endif // SKY_ENGINE_CORE_CSS_SELECTORCHECKER_H_
OLDNEW
« no previous file with comments | « sky/engine/core/css/RuleSet.cpp ('k') | sky/engine/core/css/SelectorChecker.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698