OLD | NEW |
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 294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
305 | 305 |
306 void RuleSet::addStyleRule(StyleRule* rule, AddRuleFlags addRuleFlags) | 306 void RuleSet::addStyleRule(StyleRule* rule, AddRuleFlags addRuleFlags) |
307 { | 307 { |
308 for (size_t selectorIndex = 0; selectorIndex != kNotFound; selectorIndex = r
ule->selectorList().indexOfNextSelectorAfter(selectorIndex)) | 308 for (size_t selectorIndex = 0; selectorIndex != kNotFound; selectorIndex = r
ule->selectorList().indexOfNextSelectorAfter(selectorIndex)) |
309 addRule(rule, selectorIndex, addRuleFlags); | 309 addRule(rule, selectorIndex, addRuleFlags); |
310 } | 310 } |
311 | 311 |
312 void RuleSet::compactPendingRules(PendingRuleMap& pendingMap, CompactRuleMap& co
mpactMap) | 312 void RuleSet::compactPendingRules(PendingRuleMap& pendingMap, CompactRuleMap& co
mpactMap) |
313 { | 313 { |
314 for (auto& item : pendingMap) { | 314 for (auto& item : pendingMap) { |
315 RawPtr<HeapLinkedStack<RuleData>> pendingRules = item.value.release(); | 315 HeapLinkedStack<RuleData>* pendingRules = item.value.release(); |
316 CompactRuleMap::ValueType* compactRules = compactMap.add(item.key, nullp
tr).storedValue; | 316 CompactRuleMap::ValueType* compactRules = compactMap.add(item.key, nullp
tr).storedValue; |
317 | 317 |
318 HeapTerminatedArrayBuilder<RuleData> builder(compactRules->value.release
()); | 318 HeapTerminatedArrayBuilder<RuleData> builder(compactRules->value.release
()); |
319 builder.grow(pendingRules->size()); | 319 builder.grow(pendingRules->size()); |
320 while (!pendingRules->isEmpty()) { | 320 while (!pendingRules->isEmpty()) { |
321 builder.append(pendingRules->peek()); | 321 builder.append(pendingRules->peek()); |
322 pendingRules->pop(); | 322 pendingRules->pop(); |
323 } | 323 } |
324 | 324 |
325 compactRules->value = builder.release(); | 325 compactRules->value = builder.release(); |
326 } | 326 } |
327 } | 327 } |
328 | 328 |
329 void RuleSet::compactRules() | 329 void RuleSet::compactRules() |
330 { | 330 { |
331 ASSERT(m_pendingRules); | 331 ASSERT(m_pendingRules); |
332 RawPtr<PendingRuleMaps> pendingRules = m_pendingRules.release(); | 332 PendingRuleMaps* pendingRules = m_pendingRules.release(); |
333 compactPendingRules(pendingRules->idRules, m_idRules); | 333 compactPendingRules(pendingRules->idRules, m_idRules); |
334 compactPendingRules(pendingRules->classRules, m_classRules); | 334 compactPendingRules(pendingRules->classRules, m_classRules); |
335 compactPendingRules(pendingRules->tagRules, m_tagRules); | 335 compactPendingRules(pendingRules->tagRules, m_tagRules); |
336 compactPendingRules(pendingRules->shadowPseudoElementRules, m_shadowPseudoEl
ementRules); | 336 compactPendingRules(pendingRules->shadowPseudoElementRules, m_shadowPseudoEl
ementRules); |
337 m_linkPseudoClassRules.shrinkToFit(); | 337 m_linkPseudoClassRules.shrinkToFit(); |
338 m_cuePseudoRules.shrinkToFit(); | 338 m_cuePseudoRules.shrinkToFit(); |
339 m_focusPseudoClassRules.shrinkToFit(); | 339 m_focusPseudoClassRules.shrinkToFit(); |
340 m_universalRules.shrinkToFit(); | 340 m_universalRules.shrinkToFit(); |
341 m_shadowHostRules.shrinkToFit(); | 341 m_shadowHostRules.shrinkToFit(); |
342 m_pageRules.shrinkToFit(); | 342 m_pageRules.shrinkToFit(); |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
395 | 395 |
396 #ifndef NDEBUG | 396 #ifndef NDEBUG |
397 void RuleSet::show() const | 397 void RuleSet::show() const |
398 { | 398 { |
399 for (const auto& rule: m_allRules) | 399 for (const auto& rule: m_allRules) |
400 rule.selector().show(); | 400 rule.selector().show(); |
401 } | 401 } |
402 #endif | 402 #endif |
403 | 403 |
404 } // namespace blink | 404 } // namespace blink |
OLD | NEW |