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

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

Issue 82863002: Remove ::part. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
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 | Annotate | Revision Log
« no previous file with comments | « Source/core/css/CSSParserValues.h ('k') | Source/core/css/CSSSelector.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-2003 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999-2003 Lars Knoll (knoll@kde.org)
3 * 1999 Waldo Bastian (bastian@kde.org) 3 * 1999 Waldo Bastian (bastian@kde.org)
4 * Copyright (C) 2004, 2006, 2007, 2008, 2009, 2010, 2013 Apple Inc. All rights reserved. 4 * Copyright (C) 2004, 2006, 2007, 2008, 2009, 2010, 2013 Apple Inc. All rights reserved.
5 * 5 *
6 * This library is free software; you can redistribute it and/or 6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public 7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either 8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version. 9 * version 2 of the License, or (at your option) any later version.
10 * 10 *
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 PseudoFullScreenAncestor, 156 PseudoFullScreenAncestor,
157 PseudoInRange, 157 PseudoInRange,
158 PseudoOutOfRange, 158 PseudoOutOfRange,
159 PseudoUserAgentCustomElement, 159 PseudoUserAgentCustomElement,
160 PseudoWebKitCustomElement, 160 PseudoWebKitCustomElement,
161 PseudoCue, 161 PseudoCue,
162 PseudoFutureCue, 162 PseudoFutureCue,
163 PseudoPastCue, 163 PseudoPastCue,
164 PseudoSeamlessDocument, 164 PseudoSeamlessDocument,
165 PseudoDistributed, 165 PseudoDistributed,
166 PseudoPart,
167 PseudoUnresolved, 166 PseudoUnresolved,
168 PseudoContent, 167 PseudoContent,
169 PseudoHost 168 PseudoHost
170 }; 169 };
171 170
172 enum MarginBoxType { 171 enum MarginBoxType {
173 TopLeftCornerMarginBox, 172 TopLeftCornerMarginBox,
174 TopLeftMarginBox, 173 TopLeftMarginBox,
175 TopCenterMarginBox, 174 TopCenterMarginBox,
176 TopRightMarginBox, 175 TopRightMarginBox,
(...skipping 23 matching lines...) Expand all
200 199
201 // Selectors are kept in an array by CSSSelectorList. The next component of the selector is 200 // Selectors are kept in an array by CSSSelectorList. The next component of the selector is
202 // the next item in the array. 201 // the next item in the array.
203 const CSSSelector* tagHistory() const { return m_isLastInTagHistory ? 0 : const_cast<CSSSelector*>(this + 1); } 202 const CSSSelector* tagHistory() const { return m_isLastInTagHistory ? 0 : const_cast<CSSSelector*>(this + 1); }
204 203
205 const QualifiedName& tagQName() const; 204 const QualifiedName& tagQName() const;
206 const AtomicString& value() const; 205 const AtomicString& value() const;
207 const QualifiedName& attribute() const; 206 const QualifiedName& attribute() const;
208 const AtomicString& argument() const { return m_hasRareData ? m_data.m_r areData->m_argument : nullAtom; } 207 const AtomicString& argument() const { return m_hasRareData ? m_data.m_r areData->m_argument : nullAtom; }
209 const CSSSelectorList* selectorList() const { return m_hasRareData ? m_d ata.m_rareData->m_selectorList.get() : 0; } 208 const CSSSelectorList* selectorList() const { return m_hasRareData ? m_d ata.m_rareData->m_selectorList.get() : 0; }
210 bool isMatchUserAgentOnly() const { return m_hasRareData ? m_data.m_rare Data->m_matchUserAgentOnly : false; }
211 209
212 void setValue(const AtomicString&); 210 void setValue(const AtomicString&);
213 void setAttribute(const QualifiedName&); 211 void setAttribute(const QualifiedName&);
214 void setArgument(const AtomicString&); 212 void setArgument(const AtomicString&);
215 void setSelectorList(PassOwnPtr<CSSSelectorList>); 213 void setSelectorList(PassOwnPtr<CSSSelectorList>);
216 void setMatchUserAgentOnly(); 214 void setMatchUserAgentOnly();
217 215
218 bool parseNth() const; 216 bool parseNth() const;
219 bool matchNth(int count) const; 217 bool matchNth(int count) const;
220 218
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
268 static PassRefPtr<RareData> create(PassRefPtr<StringImpl> value) { r eturn adoptRef(new RareData(value)); } 266 static PassRefPtr<RareData> create(PassRefPtr<StringImpl> value) { r eturn adoptRef(new RareData(value)); }
269 ~RareData(); 267 ~RareData();
270 268
271 bool parseNth(); 269 bool parseNth();
272 bool matchNth(int count); 270 bool matchNth(int count);
273 271
274 StringImpl* m_value; // Plain pointer to keep things uniform with th e union. 272 StringImpl* m_value; // Plain pointer to keep things uniform with th e union.
275 int m_a; // Used for :nth-* 273 int m_a; // Used for :nth-*
276 int m_b; // Used for :nth-* 274 int m_b; // Used for :nth-*
277 QualifiedName m_attribute; // used for attribute selector 275 QualifiedName m_attribute; // used for attribute selector
278 AtomicString m_argument; // Used for :contains, :lang, :nth-* and :: part 276 AtomicString m_argument; // Used for :contains, :lang, :nth-*
279 OwnPtr<CSSSelectorList> m_selectorList; // Used for :-webkit-any and :not 277 OwnPtr<CSSSelectorList> m_selectorList; // Used for :-webkit-any and :not
280 unsigned m_matchUserAgentOnly : 1; // Used to make ::part with "-web kit"-prefixed part name match only elements in UA shadow roots.
281 278
282 private: 279 private:
283 RareData(PassRefPtr<StringImpl> value); 280 RareData(PassRefPtr<StringImpl> value);
284 }; 281 };
285 void createRareData(); 282 void createRareData();
286 283
287 union DataUnion { 284 union DataUnion {
288 DataUnion() : m_value(0) { } 285 DataUnion() : m_value(0) { }
289 StringImpl* m_value; 286 StringImpl* m_value;
290 QualifiedName::QualifiedNameImpl* m_tagQName; 287 QualifiedName::QualifiedNameImpl* m_tagQName;
(...skipping 15 matching lines...) Expand all
306 return m_match == PseudoElement; 303 return m_match == PseudoElement;
307 } 304 }
308 305
309 inline bool CSSSelector::isUnknownPseudoElement() const 306 inline bool CSSSelector::isUnknownPseudoElement() const
310 { 307 {
311 return m_match == PseudoElement && m_pseudoType == PseudoUnknown; 308 return m_match == PseudoElement && m_pseudoType == PseudoUnknown;
312 } 309 }
313 310
314 inline bool CSSSelector::isCustomPseudoElement() const 311 inline bool CSSSelector::isCustomPseudoElement() const
315 { 312 {
316 return m_match == PseudoElement && (m_pseudoType == PseudoUserAgentCustomEle ment || m_pseudoType == PseudoWebKitCustomElement || m_pseudoType == PseudoPart) ; 313 return m_match == PseudoElement && (m_pseudoType == PseudoUserAgentCustomEle ment || m_pseudoType == PseudoWebKitCustomElement);
317 } 314 }
318 315
319 inline bool CSSSelector::isHostPseudoClass() const 316 inline bool CSSSelector::isHostPseudoClass() const
320 { 317 {
321 return m_match == PseudoClass && m_pseudoType == PseudoHost; 318 return m_match == PseudoClass && m_pseudoType == PseudoHost;
322 } 319 }
323 320
324 inline bool CSSSelector::isSiblingSelector() const 321 inline bool CSSSelector::isSiblingSelector() const
325 { 322 {
326 PseudoType type = pseudoType(); 323 PseudoType type = pseudoType();
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
453 ASSERT(m_match != Tag); 450 ASSERT(m_match != Tag);
454 // AtomicString is really just a StringImpl* so the cast below is safe. 451 // AtomicString is really just a StringImpl* so the cast below is safe.
455 // FIXME: Perhaps call sites could be changed to accept StringImpl? 452 // FIXME: Perhaps call sites could be changed to accept StringImpl?
456 return *reinterpret_cast<const AtomicString*>(m_hasRareData ? &m_data.m_rare Data->m_value : &m_data.m_value); 453 return *reinterpret_cast<const AtomicString*>(m_hasRareData ? &m_data.m_rare Data->m_value : &m_data.m_value);
457 } 454 }
458 455
459 456
460 } // namespace WebCore 457 } // namespace WebCore
461 458
462 #endif // CSSSelector_h 459 #endif // CSSSelector_h
OLDNEW
« no previous file with comments | « Source/core/css/CSSParserValues.h ('k') | Source/core/css/CSSSelector.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698