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, 2013 Apple Inc.
All rights reserved. | 5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc.
All rights 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 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
236 void StyleResolver::collectFeatures() | 236 void StyleResolver::collectFeatures() |
237 { | 237 { |
238 m_features.clear(); | 238 m_features.clear(); |
239 m_ruleSets.collectFeaturesTo(m_features, document()->isViewSource()); | 239 m_ruleSets.collectFeaturesTo(m_features, document()->isViewSource()); |
240 m_styleTree.collectFeaturesTo(m_features); | 240 m_styleTree.collectFeaturesTo(m_features); |
241 | 241 |
242 m_siblingRuleSet = makeRuleSet(m_features.siblingRules); | 242 m_siblingRuleSet = makeRuleSet(m_features.siblingRules); |
243 m_uncommonAttributeRuleSet = makeRuleSet(m_features.uncommonAttributeRules); | 243 m_uncommonAttributeRuleSet = makeRuleSet(m_features.uncommonAttributeRules); |
244 } | 244 } |
245 | 245 |
246 void StyleResolver::addToStyleSharingList(Element* element) | |
247 { | |
248 if (m_styleSharingList.size() >= styleSharingListSize) | |
249 m_styleSharingList.remove(--m_styleSharingList.end()); | |
250 m_styleSharingList.prepend(element); | |
251 } | |
252 | |
253 void StyleResolver::clearStyleSharingList() | |
254 { | |
255 m_styleSharingList.clear(); | |
256 } | |
257 | |
258 void StyleResolver::pushParentElement(Element* parent) | 246 void StyleResolver::pushParentElement(Element* parent) |
259 { | 247 { |
260 const ContainerNode* parentsParent = parent->parentOrShadowHostElement(); | 248 const ContainerNode* parentsParent = parent->parentOrShadowHostElement(); |
261 | 249 |
262 // We are not always invoked consistently. For example, script execution can
cause us to enter | 250 // We are not always invoked consistently. For example, script execution can
cause us to enter |
263 // style recalc in the middle of tree building. We may also be invoked from
somewhere within the tree. | 251 // style recalc in the middle of tree building. We may also be invoked from
somewhere within the tree. |
264 // Reset the stack in this case, or if we see a new root element. | 252 // Reset the stack in this case, or if we see a new root element. |
265 // Otherwise just push the new parent. | 253 // Otherwise just push the new parent. |
266 if (!parentsParent || m_selectorFilter.parentStackIsEmpty()) | 254 if (!parentsParent || m_selectorFilter.parentStackIsEmpty()) |
267 m_selectorFilter.setupParentStack(parent); | 255 m_selectorFilter.setupParentStack(parent); |
(...skipping 1280 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1548 m_matchedPropertiesSearches, m_matchedPropertiesHit, m_matchedProperties
SharedInheritedHit, m_matchedPropertiesToCache, m_matchedPropertiesEnteredIntoCa
che); | 1536 m_matchedPropertiesSearches, m_matchedPropertiesHit, m_matchedProperties
SharedInheritedHit, m_matchedPropertiesToCache, m_matchedPropertiesEnteredIntoCa
che); |
1549 | 1537 |
1550 fprintf(stderr, "Total:\n"); | 1538 fprintf(stderr, "Total:\n"); |
1551 printStyleStats(m_totalSearches, m_totalElementsEligibleForSharing, m_totalS
tylesShared, m_totalSearchFoundSiblingForSharing, m_totalSearchesMissedSharing, | 1539 printStyleStats(m_totalSearches, m_totalElementsEligibleForSharing, m_totalS
tylesShared, m_totalSearchFoundSiblingForSharing, m_totalSearchesMissedSharing, |
1552 m_totalMatchedPropertiesSearches, m_totalMatchedPropertiesHit, m_totalMa
tchedPropertiesSharedInheritedHit, m_totalMatchedPropertiesToCache, m_totalMatch
edPropertiesEnteredIntoCache); | 1540 m_totalMatchedPropertiesSearches, m_totalMatchedPropertiesHit, m_totalMa
tchedPropertiesSharedInheritedHit, m_totalMatchedPropertiesToCache, m_totalMatch
edPropertiesEnteredIntoCache); |
1553 fprintf(stderr, "-----------------------------------------------------------
---------------------\n"); | 1541 fprintf(stderr, "-----------------------------------------------------------
---------------------\n"); |
1554 } | 1542 } |
1555 #endif | 1543 #endif |
1556 | 1544 |
1557 } // namespace WebCore | 1545 } // namespace WebCore |
OLD | NEW |