| 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 296 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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 RawPtr<HeapLinkedStack<RuleData>> pendingRules = item.value.release(); | 317 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 HeapTerminatedArrayBuilder<RuleData> builder(compactRules->value.release
()); | 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 RawPtr<PendingRuleMaps> pendingRules = m_pendingRules.release(); | 334 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 Loading... |
| 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 |
| OLD | NEW |