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. | 5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. |
6 * All rights reserved. | 6 * All rights reserved. |
7 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> | 7 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> |
8 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org> | 8 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org> |
9 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. | 9 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. |
10 * (http://www.torchmobile.com/) | 10 * (http://www.torchmobile.com/) |
(...skipping 576 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
587 for (int j = resolversInShadowTree.size() - 1; j >= 0; --j) | 587 for (int j = resolversInShadowTree.size() - 1; j >= 0; --j) |
588 resolversInShadowTree.at(j)->collectMatchingShadowHostRules(collector, | 588 resolversInShadowTree.at(j)->collectMatchingShadowHostRules(collector, |
589 ++cascadeOrder); | 589 ++cascadeOrder); |
590 | 590 |
591 // Apply normal rules from element scope. | 591 // Apply normal rules from element scope. |
592 if (ScopedStyleResolver* resolver = scopedResolverFor(element)) | 592 if (ScopedStyleResolver* resolver = scopedResolverFor(element)) |
593 resolver->collectMatchingAuthorRules(collector, ++cascadeOrder); | 593 resolver->collectMatchingAuthorRules(collector, ++cascadeOrder); |
594 | 594 |
595 // Apply /deep/ and ::shadow rules from outer scopes, and ::content from | 595 // Apply /deep/ and ::shadow rules from outer scopes, and ::content from |
596 // inner. | 596 // inner. |
597 collectTreeBoundaryCrossingRules(element, collector); | 597 collectTreeBoundaryCrossingRulesV0CascadeOrder(element, collector); |
598 collector.sortAndTransferMatchedRules(); | 598 collector.sortAndTransferMatchedRules(); |
599 } | 599 } |
600 | 600 |
601 void StyleResolver::matchUARules(ElementRuleCollector& collector) { | 601 void StyleResolver::matchUARules(ElementRuleCollector& collector) { |
602 collector.setMatchingUARules(true); | 602 collector.setMatchingUARules(true); |
603 | 603 |
604 CSSDefaultStyleSheets& defaultStyleSheets = CSSDefaultStyleSheets::instance(); | 604 CSSDefaultStyleSheets& defaultStyleSheets = CSSDefaultStyleSheets::instance(); |
605 RuleSet* userAgentStyleSheet = m_printMediaType | 605 RuleSet* userAgentStyleSheet = m_printMediaType |
606 ? defaultStyleSheets.defaultPrintStyle() | 606 ? defaultStyleSheets.defaultPrintStyle() |
607 : defaultStyleSheets.defaultStyle(); | 607 : defaultStyleSheets.defaultStyle(); |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
677 // Now check SMIL animation override style. | 677 // Now check SMIL animation override style. |
678 if (includeSMILProperties && state.element()->isSVGElement()) | 678 if (includeSMILProperties && state.element()->isSVGElement()) |
679 collector.addElementStyleProperties( | 679 collector.addElementStyleProperties( |
680 toSVGElement(state.element())->animatedSMILStyleProperties(), | 680 toSVGElement(state.element())->animatedSMILStyleProperties(), |
681 false /* isCacheable */); | 681 false /* isCacheable */); |
682 } | 682 } |
683 | 683 |
684 collector.finishAddingAuthorRulesForTreeScope(); | 684 collector.finishAddingAuthorRulesForTreeScope(); |
685 } | 685 } |
686 | 686 |
687 void StyleResolver::collectTreeBoundaryCrossingRules( | 687 void StyleResolver::collectTreeBoundaryCrossingRulesV0CascadeOrder( |
688 const Element& element, | 688 const Element& element, |
689 ElementRuleCollector& collector) { | 689 ElementRuleCollector& collector) { |
690 if (m_treeBoundaryCrossingScopes.isEmpty()) | 690 if (m_treeBoundaryCrossingScopes.isEmpty()) |
691 return; | 691 return; |
692 | 692 |
693 // When comparing rules declared in outer treescopes, outer's rules win. | 693 // When comparing rules declared in outer treescopes, outer's rules win. |
694 CascadeOrder outerCascadeOrder = m_treeBoundaryCrossingScopes.size() * 2; | 694 CascadeOrder outerCascadeOrder = m_treeBoundaryCrossingScopes.size() * 2; |
695 // When comparing rules declared in inner treescopes, inner's rules win. | 695 // When comparing rules declared in inner treescopes, inner's rules win. |
696 CascadeOrder innerCascadeOrder = m_treeBoundaryCrossingScopes.size(); | 696 CascadeOrder innerCascadeOrder = m_treeBoundaryCrossingScopes.size(); |
697 | 697 |
(...skipping 1243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1941 visitor->trace(m_siblingRuleSet); | 1941 visitor->trace(m_siblingRuleSet); |
1942 visitor->trace(m_uncommonAttributeRuleSet); | 1942 visitor->trace(m_uncommonAttributeRuleSet); |
1943 visitor->trace(m_watchedSelectorsRules); | 1943 visitor->trace(m_watchedSelectorsRules); |
1944 visitor->trace(m_treeBoundaryCrossingScopes); | 1944 visitor->trace(m_treeBoundaryCrossingScopes); |
1945 visitor->trace(m_styleSharingLists); | 1945 visitor->trace(m_styleSharingLists); |
1946 visitor->trace(m_pendingStyleSheets); | 1946 visitor->trace(m_pendingStyleSheets); |
1947 visitor->trace(m_document); | 1947 visitor->trace(m_document); |
1948 } | 1948 } |
1949 | 1949 |
1950 } // namespace blink | 1950 } // namespace blink |
OLD | NEW |