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

Side by Side Diff: Source/core/css/SelectorCheckerFastPath.h

Issue 53683007: Have SelectorQuery API take rootNode by reference (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 7 years, 1 month 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/SelectorChecker.cpp ('k') | Source/core/css/SelectorCheckerFastPath.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 18 matching lines...) Expand all
29 #ifndef SelectorCheckerFastPath_h 29 #ifndef SelectorCheckerFastPath_h
30 #define SelectorCheckerFastPath_h 30 #define SelectorCheckerFastPath_h
31 31
32 #include "core/css/CSSSelector.h" 32 #include "core/css/CSSSelector.h"
33 #include "core/css/SelectorChecker.h" 33 #include "core/css/SelectorChecker.h"
34 34
35 namespace WebCore { 35 namespace WebCore {
36 36
37 class SelectorCheckerFastPath { 37 class SelectorCheckerFastPath {
38 public: 38 public:
39 SelectorCheckerFastPath(const CSSSelector*, const Element*); 39 SelectorCheckerFastPath(const CSSSelector*, const Element&);
40 40
41 bool matches() const; 41 bool matches() const;
42 bool matchesRightmostSelector(SelectorChecker::VisitedMatchType) const; 42 bool matchesRightmostSelector(SelectorChecker::VisitedMatchType) const;
43 bool matchesRightmostAttributeSelector() const; 43 bool matchesRightmostAttributeSelector() const;
44 44
45 static bool canUse(const CSSSelector*); 45 static bool canUse(const CSSSelector*);
46 46
47 private: 47 private:
48 bool commonPseudoClassSelectorMatches(SelectorChecker::VisitedMatchType) con st; 48 bool commonPseudoClassSelectorMatches(SelectorChecker::VisitedMatchType) con st;
49 49
50 const CSSSelector* m_selector; 50 const CSSSelector* m_selector;
51 const Element* m_element; 51 const Element& m_element;
52 }; 52 };
53 53
54 inline bool SelectorCheckerFastPath::matchesRightmostAttributeSelector() const 54 inline bool SelectorCheckerFastPath::matchesRightmostAttributeSelector() const
55 { 55 {
56 if (m_selector->m_match == CSSSelector::Exact || m_selector->m_match == CSSS elector::Set) 56 if (m_selector->m_match == CSSSelector::Exact || m_selector->m_match == CSSS elector::Set)
57 return SelectorChecker::checkExactAttribute(m_element, m_selector->attri bute(), m_selector->value().impl()); 57 return SelectorChecker::checkExactAttribute(m_element, m_selector->attri bute(), m_selector->value().impl());
58 ASSERT(!m_selector->isAttributeSelector()); 58 ASSERT(!m_selector->isAttributeSelector());
59 return true; 59 return true;
60 } 60 }
61 61
62 } 62 }
63 63
64 #endif 64 #endif
OLDNEW
« no previous file with comments | « Source/core/css/SelectorChecker.cpp ('k') | Source/core/css/SelectorCheckerFastPath.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698