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 578 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
589 void StyleResolver::loadPendingResources(StyleResolverState& state) | 589 void StyleResolver::loadPendingResources(StyleResolverState& state) |
590 { | 590 { |
591 m_styleResourceLoader.loadPendingResources(state.style(), state.elementStyle
Resources()); | 591 m_styleResourceLoader.loadPendingResources(state.style(), state.elementStyle
Resources()); |
592 document().styleEngine()->fontSelector()->fontLoader()->loadPendingFonts(); | 592 document().styleEngine()->fontSelector()->fontLoader()->loadPendingFonts(); |
593 } | 593 } |
594 | 594 |
595 PassRefPtr<RenderStyle> StyleResolver::styleForElement(Element* element, RenderS
tyle* defaultParent, StyleSharingBehavior sharingBehavior, | 595 PassRefPtr<RenderStyle> StyleResolver::styleForElement(Element* element, RenderS
tyle* defaultParent, StyleSharingBehavior sharingBehavior, |
596 RuleMatchingBehavior matchingBehavior) | 596 RuleMatchingBehavior matchingBehavior) |
597 { | 597 { |
598 ASSERT(document().frame()); | 598 ASSERT(document().frame()); |
599 ASSERT(documentSettings()); | 599 ASSERT(document().settings()); |
600 ASSERT(!hasPendingAuthorStyleSheets()); | 600 ASSERT(!hasPendingAuthorStyleSheets()); |
601 ASSERT(!m_needCollectFeatures); | 601 ASSERT(!m_needCollectFeatures); |
602 | 602 |
603 // Once an element has a renderer, we don't try to destroy it, since otherwi
se the renderer | 603 // Once an element has a renderer, we don't try to destroy it, since otherwi
se the renderer |
604 // will vanish if a style recalc happens during loading. | 604 // will vanish if a style recalc happens during loading. |
605 if (sharingBehavior == AllowStyleSharing && !document().isRenderingReady() &
& !element->renderer()) { | 605 if (sharingBehavior == AllowStyleSharing && !document().isRenderingReady() &
& !element->renderer()) { |
606 if (!s_styleNotYetAvailable) { | 606 if (!s_styleNotYetAvailable) { |
607 s_styleNotYetAvailable = RenderStyle::create().leakRef(); | 607 s_styleNotYetAvailable = RenderStyle::create().leakRef(); |
608 s_styleNotYetAvailable->setDisplay(NONE); | 608 s_styleNotYetAvailable->setDisplay(NONE); |
609 s_styleNotYetAvailable->font().update(document().styleEngine()->font
Selector()); | 609 s_styleNotYetAvailable->font().update(document().styleEngine()->font
Selector()); |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
688 if (state.style()->hasViewportUnits()) | 688 if (state.style()->hasViewportUnits()) |
689 document().setHasViewportUnits(); | 689 document().setHasViewportUnits(); |
690 | 690 |
691 // Now return the style. | 691 // Now return the style. |
692 return state.takeStyle(); | 692 return state.takeStyle(); |
693 } | 693 } |
694 | 694 |
695 PassRefPtr<RenderStyle> StyleResolver::styleForKeyframe(Element* element, const
RenderStyle& elementStyle, RenderStyle* parentStyle, const StyleKeyframe* keyfra
me, const AtomicString& animationName) | 695 PassRefPtr<RenderStyle> StyleResolver::styleForKeyframe(Element* element, const
RenderStyle& elementStyle, RenderStyle* parentStyle, const StyleKeyframe* keyfra
me, const AtomicString& animationName) |
696 { | 696 { |
697 ASSERT(document().frame()); | 697 ASSERT(document().frame()); |
698 ASSERT(documentSettings()); | 698 ASSERT(document().settings()); |
699 ASSERT(!hasPendingAuthorStyleSheets()); | 699 ASSERT(!hasPendingAuthorStyleSheets()); |
700 | 700 |
701 if (element == document().documentElement()) | 701 if (element == document().documentElement()) |
702 resetDirectionAndWritingModeOnDocument(document()); | 702 resetDirectionAndWritingModeOnDocument(document()); |
703 StyleResolverState state(document(), element, parentStyle); | 703 StyleResolverState state(document(), element, parentStyle); |
704 | 704 |
705 MatchResult result; | 705 MatchResult result; |
706 result.addMatchedProperties(&keyframe->properties()); | 706 result.addMatchedProperties(&keyframe->properties()); |
707 | 707 |
708 ASSERT(!state.style()); | 708 ASSERT(!state.style()); |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
799 | 799 |
800 setAnimationUpdateIfNeeded(state, *pseudo); | 800 setAnimationUpdateIfNeeded(state, *pseudo); |
801 if (ActiveAnimations* activeAnimations = pseudo->activeAnimations()) | 801 if (ActiveAnimations* activeAnimations = pseudo->activeAnimations()) |
802 activeAnimations->cssAnimations().maybeApplyPendingUpdate(pseudo.get()); | 802 activeAnimations->cssAnimations().maybeApplyPendingUpdate(pseudo.get()); |
803 return pseudo.release(); | 803 return pseudo.release(); |
804 } | 804 } |
805 | 805 |
806 bool StyleResolver::pseudoStyleForElementInternal(Element& element, const Pseudo
StyleRequest& pseudoStyleRequest, RenderStyle* parentStyle, StyleResolverState&
state) | 806 bool StyleResolver::pseudoStyleForElementInternal(Element& element, const Pseudo
StyleRequest& pseudoStyleRequest, RenderStyle* parentStyle, StyleResolverState&
state) |
807 { | 807 { |
808 ASSERT(document().frame()); | 808 ASSERT(document().frame()); |
809 ASSERT(documentSettings()); | 809 ASSERT(document().settings()); |
810 ASSERT(pseudoStyleRequest.pseudoId != FIRST_LINE_INHERITED); | 810 ASSERT(pseudoStyleRequest.pseudoId != FIRST_LINE_INHERITED); |
811 | 811 |
812 StyleResolverParentScope::ensureParentStackIsPushed(); | 812 StyleResolverParentScope::ensureParentStackIsPushed(); |
813 | 813 |
814 if (pseudoStyleRequest.allowsInheritance(state.parentStyle())) { | 814 if (pseudoStyleRequest.allowsInheritance(state.parentStyle())) { |
815 state.setStyle(RenderStyle::create()); | 815 state.setStyle(RenderStyle::create()); |
816 state.style()->inheritFrom(state.parentStyle()); | 816 state.style()->inheritFrom(state.parentStyle()); |
817 } else { | 817 } else { |
818 state.setStyle(defaultStyleForElement()); | 818 state.setStyle(defaultStyleForElement()); |
819 state.setParentStyle(RenderStyle::clone(state.style())); | 819 state.setParentStyle(RenderStyle::clone(state.style())); |
(...skipping 775 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1595 visitor->trace(m_viewportStyleResolver); | 1595 visitor->trace(m_viewportStyleResolver); |
1596 visitor->trace(m_features); | 1596 visitor->trace(m_features); |
1597 visitor->trace(m_siblingRuleSet); | 1597 visitor->trace(m_siblingRuleSet); |
1598 visitor->trace(m_uncommonAttributeRuleSet); | 1598 visitor->trace(m_uncommonAttributeRuleSet); |
1599 visitor->trace(m_watchedSelectorsRules); | 1599 visitor->trace(m_watchedSelectorsRules); |
1600 visitor->trace(m_treeBoundaryCrossingRules); | 1600 visitor->trace(m_treeBoundaryCrossingRules); |
1601 visitor->trace(m_pendingStyleSheets); | 1601 visitor->trace(m_pendingStyleSheets); |
1602 } | 1602 } |
1603 | 1603 |
1604 } // namespace WebCore | 1604 } // namespace WebCore |
OLD | NEW |