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

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

Issue 1686483002: Oilpan: Remove most WillBe types from the code base (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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 Apple Inc. All r ights reserved. 5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All r ights 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 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 , m_containsUncommonAttributeSelector(blink::containsUncommonAttributeSelect or(selector())) 115 , m_containsUncommonAttributeSelector(blink::containsUncommonAttributeSelect or(selector()))
116 , m_linkMatchType(selector().computeLinkMatchType()) 116 , m_linkMatchType(selector().computeLinkMatchType())
117 , m_hasDocumentSecurityOrigin(addRuleFlags & RuleHasDocumentSecurityOrigin) 117 , m_hasDocumentSecurityOrigin(addRuleFlags & RuleHasDocumentSecurityOrigin)
118 , m_propertyWhitelist(determinePropertyWhitelistType(addRuleFlags, selector( ))) 118 , m_propertyWhitelist(determinePropertyWhitelistType(addRuleFlags, selector( )))
119 { 119 {
120 SelectorFilter::collectIdentifierHashes(selector(), m_descendantSelectorIden tifierHashes, maximumIdentifierCount); 120 SelectorFilter::collectIdentifierHashes(selector(), m_descendantSelectorIden tifierHashes, maximumIdentifierCount);
121 } 121 }
122 122
123 void RuleSet::addToRuleSet(const AtomicString& key, PendingRuleMap& map, const R uleData& ruleData) 123 void RuleSet::addToRuleSet(const AtomicString& key, PendingRuleMap& map, const R uleData& ruleData)
124 { 124 {
125 OwnPtrWillBeMember<WillBeHeapLinkedStack<RuleData>>& rules = map.add(key, nu llptr).storedValue->value; 125 Member<HeapLinkedStack<RuleData>>& rules = map.add(key, nullptr).storedValue ->value;
126 if (!rules) 126 if (!rules)
127 rules = adoptPtrWillBeNoop(new WillBeHeapLinkedStack<RuleData>); 127 rules = adoptPtrWillBeNoop(new HeapLinkedStack<RuleData>);
128 rules->push(ruleData); 128 rules->push(ruleData);
129 } 129 }
130 130
131 static void extractValuesforSelector(const CSSSelector* selector, AtomicString& id, AtomicString& className, AtomicString& customPseudoElementName, AtomicString & tagName) 131 static void extractValuesforSelector(const CSSSelector* selector, AtomicString& id, AtomicString& className, AtomicString& customPseudoElementName, AtomicString & tagName)
132 { 132 {
133 switch (selector->match()) { 133 switch (selector->match()) {
134 case CSSSelector::Id: 134 case CSSSelector::Id:
135 id = selector->value(); 135 id = selector->value();
136 break; 136 break;
137 case CSSSelector::Class: 137 case CSSSelector::Class:
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
244 ensurePendingRules(); // So that m_fontFaceRules.shrinkToFit() gets called. 244 ensurePendingRules(); // So that m_fontFaceRules.shrinkToFit() gets called.
245 m_fontFaceRules.append(rule); 245 m_fontFaceRules.append(rule);
246 } 246 }
247 247
248 void RuleSet::addKeyframesRule(StyleRuleKeyframes* rule) 248 void RuleSet::addKeyframesRule(StyleRuleKeyframes* rule)
249 { 249 {
250 ensurePendingRules(); // So that m_keyframesRules.shrinkToFit() gets called. 250 ensurePendingRules(); // So that m_keyframesRules.shrinkToFit() gets called.
251 m_keyframesRules.append(rule); 251 m_keyframesRules.append(rule);
252 } 252 }
253 253
254 void RuleSet::addChildRules(const WillBeHeapVector<RefPtrWillBeMember<StyleRuleB ase>>& rules, const MediaQueryEvaluator& medium, AddRuleFlags addRuleFlags) 254 void RuleSet::addChildRules(const HeapVector<Member<StyleRuleBase>>& rules, cons t MediaQueryEvaluator& medium, AddRuleFlags addRuleFlags)
255 { 255 {
256 for (unsigned i = 0; i < rules.size(); ++i) { 256 for (unsigned i = 0; i < rules.size(); ++i) {
257 StyleRuleBase* rule = rules[i].get(); 257 StyleRuleBase* rule = rules[i].get();
258 258
259 if (rule->isStyleRule()) { 259 if (rule->isStyleRule()) {
260 StyleRule* styleRule = toStyleRule(rule); 260 StyleRule* styleRule = toStyleRule(rule);
261 261
262 const CSSSelectorList& selectorList = styleRule->selectorList(); 262 const CSSSelectorList& selectorList = styleRule->selectorList();
263 for (size_t selectorIndex = 0; selectorIndex != kNotFound; selectorI ndex = selectorList.indexOfNextSelectorAfter(selectorIndex)) { 263 for (size_t selectorIndex = 0; selectorIndex != kNotFound; selectorI ndex = selectorList.indexOfNextSelectorAfter(selectorIndex)) {
264 if (selectorList.selectorUsesDeepCombinatorOrShadowPseudo(select orIndex)) { 264 if (selectorList.selectorUsesDeepCombinatorOrShadowPseudo(select orIndex)) {
(...skipping 23 matching lines...) Expand all
288 } 288 }
289 } 289 }
290 } 290 }
291 291
292 void RuleSet::addRulesFromSheet(StyleSheetContents* sheet, const MediaQueryEvalu ator& medium, AddRuleFlags addRuleFlags) 292 void RuleSet::addRulesFromSheet(StyleSheetContents* sheet, const MediaQueryEvalu ator& medium, AddRuleFlags addRuleFlags)
293 { 293 {
294 TRACE_EVENT0("blink", "RuleSet::addRulesFromSheet"); 294 TRACE_EVENT0("blink", "RuleSet::addRulesFromSheet");
295 295
296 ASSERT(sheet); 296 ASSERT(sheet);
297 297
298 const WillBeHeapVector<RefPtrWillBeMember<StyleRuleImport>>& importRules = s heet->importRules(); 298 const HeapVector<Member<StyleRuleImport>>& importRules = sheet->importRules( );
299 for (unsigned i = 0; i < importRules.size(); ++i) { 299 for (unsigned i = 0; i < importRules.size(); ++i) {
300 StyleRuleImport* importRule = importRules[i].get(); 300 StyleRuleImport* importRule = importRules[i].get();
301 if (importRule->styleSheet() && (!importRule->mediaQueries() || medium.e val(importRule->mediaQueries(), &m_viewportDependentMediaQueryResults, &m_device DependentMediaQueryResults))) 301 if (importRule->styleSheet() && (!importRule->mediaQueries() || medium.e val(importRule->mediaQueries(), &m_viewportDependentMediaQueryResults, &m_device DependentMediaQueryResults)))
302 addRulesFromSheet(importRule->styleSheet(), medium, addRuleFlags); 302 addRulesFromSheet(importRule->styleSheet(), medium, addRuleFlags);
303 } 303 }
304 304
305 addChildRules(sheet->childRules(), medium, addRuleFlags); 305 addChildRules(sheet->childRules(), medium, addRuleFlags);
306 } 306 }
307 307
308 void RuleSet::addStyleRule(StyleRule* rule, AddRuleFlags addRuleFlags) 308 void RuleSet::addStyleRule(StyleRule* rule, AddRuleFlags addRuleFlags)
309 { 309 {
310 for (size_t selectorIndex = 0; selectorIndex != kNotFound; selectorIndex = r ule->selectorList().indexOfNextSelectorAfter(selectorIndex)) 310 for (size_t selectorIndex = 0; selectorIndex != kNotFound; selectorIndex = r ule->selectorList().indexOfNextSelectorAfter(selectorIndex))
311 addRule(rule, selectorIndex, addRuleFlags); 311 addRule(rule, selectorIndex, addRuleFlags);
312 } 312 }
313 313
314 void RuleSet::compactPendingRules(PendingRuleMap& pendingMap, CompactRuleMap& co mpactMap) 314 void RuleSet::compactPendingRules(PendingRuleMap& pendingMap, CompactRuleMap& co mpactMap)
315 { 315 {
316 for (auto& item : pendingMap) { 316 for (auto& item : pendingMap) {
317 OwnPtrWillBeRawPtr<WillBeHeapLinkedStack<RuleData>> pendingRules = item. value.release(); 317 RawPtr<HeapLinkedStack<RuleData>> pendingRules = item.value.release();
318 CompactRuleMap::ValueType* compactRules = compactMap.add(item.key, nullp tr).storedValue; 318 CompactRuleMap::ValueType* compactRules = compactMap.add(item.key, nullp tr).storedValue;
319 319
320 WillBeHeapTerminatedArrayBuilder<RuleData> builder(compactRules->value.r elease()); 320 HeapTerminatedArrayBuilder<RuleData> builder(compactRules->value.release ());
321 builder.grow(pendingRules->size()); 321 builder.grow(pendingRules->size());
322 while (!pendingRules->isEmpty()) { 322 while (!pendingRules->isEmpty()) {
323 builder.append(pendingRules->peek()); 323 builder.append(pendingRules->peek());
324 pendingRules->pop(); 324 pendingRules->pop();
325 } 325 }
326 326
327 compactRules->value = builder.release(); 327 compactRules->value = builder.release();
328 } 328 }
329 } 329 }
330 330
331 void RuleSet::compactRules() 331 void RuleSet::compactRules()
332 { 332 {
333 ASSERT(m_pendingRules); 333 ASSERT(m_pendingRules);
334 OwnPtrWillBeRawPtr<PendingRuleMaps> pendingRules = m_pendingRules.release(); 334 RawPtr<PendingRuleMaps> pendingRules = m_pendingRules.release();
335 compactPendingRules(pendingRules->idRules, m_idRules); 335 compactPendingRules(pendingRules->idRules, m_idRules);
336 compactPendingRules(pendingRules->classRules, m_classRules); 336 compactPendingRules(pendingRules->classRules, m_classRules);
337 compactPendingRules(pendingRules->tagRules, m_tagRules); 337 compactPendingRules(pendingRules->tagRules, m_tagRules);
338 compactPendingRules(pendingRules->shadowPseudoElementRules, m_shadowPseudoEl ementRules); 338 compactPendingRules(pendingRules->shadowPseudoElementRules, m_shadowPseudoEl ementRules);
339 m_linkPseudoClassRules.shrinkToFit(); 339 m_linkPseudoClassRules.shrinkToFit();
340 m_cuePseudoRules.shrinkToFit(); 340 m_cuePseudoRules.shrinkToFit();
341 m_focusPseudoClassRules.shrinkToFit(); 341 m_focusPseudoClassRules.shrinkToFit();
342 m_universalRules.shrinkToFit(); 342 m_universalRules.shrinkToFit();
343 m_shadowHostRules.shrinkToFit(); 343 m_shadowHostRules.shrinkToFit();
344 m_pageRules.shrinkToFit(); 344 m_pageRules.shrinkToFit();
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
401 401
402 #ifndef NDEBUG 402 #ifndef NDEBUG
403 void RuleSet::show() const 403 void RuleSet::show() const
404 { 404 {
405 for (const auto& rule: m_allRules) 405 for (const auto& rule: m_allRules)
406 rule.selector().show(); 406 rule.selector().show();
407 } 407 }
408 #endif 408 #endif
409 409
410 } // namespace blink 410 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/css/RuleSet.h ('k') | third_party/WebKit/Source/core/css/RuleSetTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698