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

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

Issue 1278983003: Adding allocator annotations to blink classes and structs. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 4 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) 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 24 matching lines...) Expand all
35 namespace blink { 35 namespace blink {
36 36
37 class CSSSelector; 37 class CSSSelector;
38 class ContainerNode; 38 class ContainerNode;
39 class Element; 39 class Element;
40 class LayoutScrollbar; 40 class LayoutScrollbar;
41 class ComputedStyle; 41 class ComputedStyle;
42 42
43 class SelectorChecker { 43 class SelectorChecker {
44 WTF_MAKE_NONCOPYABLE(SelectorChecker); 44 WTF_MAKE_NONCOPYABLE(SelectorChecker);
45 STACK_ALLOCATED();
45 public: 46 public:
46 enum VisitedMatchType { VisitedMatchDisabled, VisitedMatchEnabled }; 47 enum VisitedMatchType { VisitedMatchDisabled, VisitedMatchEnabled };
47 enum Mode { ResolvingStyle = 0, CollectingStyleRules, CollectingCSSRules, Qu eryingRules, SharingRules }; 48 enum Mode { ResolvingStyle = 0, CollectingStyleRules, CollectingCSSRules, Qu eryingRules, SharingRules };
48 49
49 explicit SelectorChecker(Mode); 50 explicit SelectorChecker(Mode);
50 51
51 struct SelectorCheckingContext { 52 struct SelectorCheckingContext {
52 STACK_ALLOCATED(); 53 STACK_ALLOCATED();
53 public: 54 public:
54 // Initial selector constructor 55 // Initial selector constructor
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 bool treatShadowHostAsNormalScope; 91 bool treatShadowHostAsNormalScope;
91 }; 92 };
92 93
93 struct MatchResult { 94 struct MatchResult {
94 MatchResult() 95 MatchResult()
95 : dynamicPseudo(NOPSEUDO) 96 : dynamicPseudo(NOPSEUDO)
96 , specificity(0) { } 97 , specificity(0) { }
97 98
98 PseudoId dynamicPseudo; 99 PseudoId dynamicPseudo;
99 unsigned specificity; 100 unsigned specificity;
101 STACK_ALLOCATED();
100 }; 102 };
101 103
102 bool match(const SelectorCheckingContext&, MatchResult&) const; 104 bool match(const SelectorCheckingContext&, MatchResult&) const;
103 bool match(const SelectorCheckingContext&) const; 105 bool match(const SelectorCheckingContext&) const;
104 106
105 static bool matchesFocusPseudoClass(const Element&); 107 static bool matchesFocusPseudoClass(const Element&);
106 108
107 private: 109 private:
108 bool checkOne(const SelectorCheckingContext&, MatchResult&) const; 110 bool checkOne(const SelectorCheckingContext&, MatchResult&) const;
109 111
110 enum Match { SelectorMatches, SelectorFailsLocally, SelectorFailsAllSiblings , SelectorFailsCompletely }; 112 enum Match { SelectorMatches, SelectorFailsLocally, SelectorFailsAllSiblings , SelectorFailsCompletely };
111 113
112 Match matchSelector(const SelectorCheckingContext&, MatchResult&) const; 114 Match matchSelector(const SelectorCheckingContext&, MatchResult&) const;
113 Match matchForSubSelector(const SelectorCheckingContext&, MatchResult&) cons t; 115 Match matchForSubSelector(const SelectorCheckingContext&, MatchResult&) cons t;
114 Match matchForRelation(const SelectorCheckingContext&, MatchResult&) const; 116 Match matchForRelation(const SelectorCheckingContext&, MatchResult&) const;
115 Match matchForShadowDistributed(const SelectorCheckingContext&, const Elemen t&, MatchResult&) const; 117 Match matchForShadowDistributed(const SelectorCheckingContext&, const Elemen t&, MatchResult&) const;
116 Match matchForPseudoShadow(const SelectorCheckingContext&, const ContainerNo de*, MatchResult&) const; 118 Match matchForPseudoShadow(const SelectorCheckingContext&, const ContainerNo de*, MatchResult&) const;
117 bool checkPseudoClass(const SelectorCheckingContext&, MatchResult&) const; 119 bool checkPseudoClass(const SelectorCheckingContext&, MatchResult&) const;
118 bool checkPseudoElement(const SelectorCheckingContext&, MatchResult&) const; 120 bool checkPseudoElement(const SelectorCheckingContext&, MatchResult&) const;
119 bool checkScrollbarPseudoClass(const SelectorCheckingContext&, MatchResult&) const; 121 bool checkScrollbarPseudoClass(const SelectorCheckingContext&, MatchResult&) const;
120 bool checkPseudoHost(const SelectorCheckingContext&, MatchResult&) const; 122 bool checkPseudoHost(const SelectorCheckingContext&, MatchResult&) const;
121 bool checkPseudoNot(const SelectorCheckingContext&, MatchResult&) const; 123 bool checkPseudoNot(const SelectorCheckingContext&, MatchResult&) const;
122 124
123 Mode m_mode; 125 Mode m_mode;
124 }; 126 };
125 127
126 } 128 }
127 129
128 #endif 130 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698