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

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

Issue 1565263003: Implement CSS parser part for ::slotted pseudo element (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase, fix layout test. 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) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved. 3 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved.
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 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 const WillBeHeapVector<RuleData>* cuePseudoRules() const { ASSERT(!m_pending Rules); return &m_cuePseudoRules; } 139 const WillBeHeapVector<RuleData>* cuePseudoRules() const { ASSERT(!m_pending Rules); return &m_cuePseudoRules; }
140 const WillBeHeapVector<RuleData>* focusPseudoClassRules() const { ASSERT(!m_ pendingRules); return &m_focusPseudoClassRules; } 140 const WillBeHeapVector<RuleData>* focusPseudoClassRules() const { ASSERT(!m_ pendingRules); return &m_focusPseudoClassRules; }
141 const WillBeHeapVector<RuleData>* universalRules() const { ASSERT(!m_pending Rules); return &m_universalRules; } 141 const WillBeHeapVector<RuleData>* universalRules() const { ASSERT(!m_pending Rules); return &m_universalRules; }
142 const WillBeHeapVector<RuleData>* shadowHostRules() const { ASSERT(!m_pendin gRules); return &m_shadowHostRules; } 142 const WillBeHeapVector<RuleData>* shadowHostRules() const { ASSERT(!m_pendin gRules); return &m_shadowHostRules; }
143 const WillBeHeapVector<RawPtrWillBeMember<StyleRulePage>>& pageRules() const { ASSERT(!m_pendingRules); return m_pageRules; } 143 const WillBeHeapVector<RawPtrWillBeMember<StyleRulePage>>& pageRules() const { ASSERT(!m_pendingRules); return m_pageRules; }
144 const WillBeHeapVector<RawPtrWillBeMember<StyleRuleViewport>>& viewportRules () const { ASSERT(!m_pendingRules); return m_viewportRules; } 144 const WillBeHeapVector<RawPtrWillBeMember<StyleRuleViewport>>& viewportRules () const { ASSERT(!m_pendingRules); return m_viewportRules; }
145 const WillBeHeapVector<RawPtrWillBeMember<StyleRuleFontFace>>& fontFaceRules () const { return m_fontFaceRules; } 145 const WillBeHeapVector<RawPtrWillBeMember<StyleRuleFontFace>>& fontFaceRules () const { return m_fontFaceRules; }
146 const WillBeHeapVector<RawPtrWillBeMember<StyleRuleKeyframes>>& keyframesRul es() const { return m_keyframesRules; } 146 const WillBeHeapVector<RawPtrWillBeMember<StyleRuleKeyframes>>& keyframesRul es() const { return m_keyframesRules; }
147 const WillBeHeapVector<MinimalRuleData>& deepCombinatorOrShadowPseudoRules() const { return m_deepCombinatorOrShadowPseudoRules; } 147 const WillBeHeapVector<MinimalRuleData>& deepCombinatorOrShadowPseudoRules() const { return m_deepCombinatorOrShadowPseudoRules; }
148 const WillBeHeapVector<MinimalRuleData>& shadowDistributedRules() const { re turn m_shadowDistributedRules; } 148 const WillBeHeapVector<MinimalRuleData>& shadowDistributedRules() const { re turn m_shadowDistributedRules; }
149 const WillBeHeapVector<MinimalRuleData>& shadowSlottedRules() const { return m_shadowSlottedRules; }
149 const MediaQueryResultList& viewportDependentMediaQueryResults() const { ret urn m_viewportDependentMediaQueryResults; } 150 const MediaQueryResultList& viewportDependentMediaQueryResults() const { ret urn m_viewportDependentMediaQueryResults; }
150 const MediaQueryResultList& deviceDependentMediaQueryResults() const { retur n m_deviceDependentMediaQueryResults; } 151 const MediaQueryResultList& deviceDependentMediaQueryResults() const { retur n m_deviceDependentMediaQueryResults; }
151 152
152 unsigned ruleCount() const { return m_ruleCount; } 153 unsigned ruleCount() const { return m_ruleCount; }
153 154
154 void compactRulesIfNeeded() 155 void compactRulesIfNeeded()
155 { 156 {
156 if (!m_pendingRules) 157 if (!m_pendingRules)
157 return; 158 return;
158 compactRules(); 159 compactRules();
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
215 WillBeHeapVector<RuleData> m_cuePseudoRules; 216 WillBeHeapVector<RuleData> m_cuePseudoRules;
216 WillBeHeapVector<RuleData> m_focusPseudoClassRules; 217 WillBeHeapVector<RuleData> m_focusPseudoClassRules;
217 WillBeHeapVector<RuleData> m_universalRules; 218 WillBeHeapVector<RuleData> m_universalRules;
218 WillBeHeapVector<RuleData> m_shadowHostRules; 219 WillBeHeapVector<RuleData> m_shadowHostRules;
219 RuleFeatureSet m_features; 220 RuleFeatureSet m_features;
220 WillBeHeapVector<RawPtrWillBeMember<StyleRulePage>> m_pageRules; 221 WillBeHeapVector<RawPtrWillBeMember<StyleRulePage>> m_pageRules;
221 WillBeHeapVector<RawPtrWillBeMember<StyleRuleViewport>> m_viewportRules; 222 WillBeHeapVector<RawPtrWillBeMember<StyleRuleViewport>> m_viewportRules;
222 WillBeHeapVector<RawPtrWillBeMember<StyleRuleFontFace>> m_fontFaceRules; 223 WillBeHeapVector<RawPtrWillBeMember<StyleRuleFontFace>> m_fontFaceRules;
223 WillBeHeapVector<RawPtrWillBeMember<StyleRuleKeyframes>> m_keyframesRules; 224 WillBeHeapVector<RawPtrWillBeMember<StyleRuleKeyframes>> m_keyframesRules;
224 WillBeHeapVector<MinimalRuleData> m_deepCombinatorOrShadowPseudoRules; 225 WillBeHeapVector<MinimalRuleData> m_deepCombinatorOrShadowPseudoRules;
225 // TODO(kochi): "shadowDistributed" means the selector has ::content pseudo element.
226 // Once ::slotted is introduced, come up with more readable name.
227 WillBeHeapVector<MinimalRuleData> m_shadowDistributedRules; 226 WillBeHeapVector<MinimalRuleData> m_shadowDistributedRules;
227 WillBeHeapVector<MinimalRuleData> m_shadowSlottedRules;
228 228
229 MediaQueryResultList m_viewportDependentMediaQueryResults; 229 MediaQueryResultList m_viewportDependentMediaQueryResults;
230 MediaQueryResultList m_deviceDependentMediaQueryResults; 230 MediaQueryResultList m_deviceDependentMediaQueryResults;
231 231
232 unsigned m_ruleCount; 232 unsigned m_ruleCount;
233 OwnPtrWillBeMember<PendingRuleMaps> m_pendingRules; 233 OwnPtrWillBeMember<PendingRuleMaps> m_pendingRules;
234 234
235 #ifndef NDEBUG 235 #ifndef NDEBUG
236 WillBeHeapVector<RuleData> m_allRules; 236 WillBeHeapVector<RuleData> m_allRules;
237 #endif 237 #endif
238 }; 238 };
239 239
240 } // namespace blink 240 } // namespace blink
241 241
242 WTF_ALLOW_MOVE_AND_INIT_WITH_MEM_FUNCTIONS(blink::RuleData); 242 WTF_ALLOW_MOVE_AND_INIT_WITH_MEM_FUNCTIONS(blink::RuleData);
243 WTF_ALLOW_MOVE_AND_INIT_WITH_MEM_FUNCTIONS(blink::MinimalRuleData); 243 WTF_ALLOW_MOVE_AND_INIT_WITH_MEM_FUNCTIONS(blink::MinimalRuleData);
244 244
245 #endif // RuleSet_h 245 #endif // RuleSet_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/css/CSSSelectorList.cpp ('k') | third_party/WebKit/Source/core/css/RuleSet.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698