diff options
Diffstat (limited to 'WebCore/css/CSSStyleSelector.h')
-rw-r--r-- | WebCore/css/CSSStyleSelector.h | 43 |
1 files changed, 24 insertions, 19 deletions
diff --git a/WebCore/css/CSSStyleSelector.h b/WebCore/css/CSSStyleSelector.h index b0d977e..28d4488 100644 --- a/WebCore/css/CSSStyleSelector.h +++ b/WebCore/css/CSSStyleSelector.h @@ -1,6 +1,6 @@ /* * Copyright (C) 1999 Lars Knoll (knoll@kde.org) - * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. + * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public @@ -40,6 +40,7 @@ class CSSPrimitiveValue; class CSSProperty; class CSSFontFace; class CSSFontFaceRule; +class CSSImageValue; class CSSRuleData; class CSSRuleDataList; class CSSRuleList; @@ -58,6 +59,7 @@ class Frame; class FrameView; class KURL; class KeyframeList; +class KeyframeValue; class MediaQueryEvaluator; class Node; class Settings; @@ -113,7 +115,7 @@ public: RenderStyle* style() const { return m_style.get(); } - PassRefPtr<RenderStyle> styleForKeyframe(const RenderStyle*, const WebKitCSSKeyframeRule*, KeyframeList&); + PassRefPtr<RenderStyle> styleForKeyframe(const RenderStyle*, const WebKitCSSKeyframeRule*, KeyframeValue&); public: // These methods will give back the set of rules that matched for a given element (or a pseudo-element). @@ -194,8 +196,8 @@ public: bool isFirstPage(int pageIndex) const; String pageName(int pageIndex) const; - CSSRuleSet* m_authorStyle; - CSSRuleSet* m_userStyle; + OwnPtr<CSSRuleSet> m_authorStyle; + OwnPtr<CSSRuleSet> m_userStyle; bool m_hasUAAppearance; BorderData m_borderData; @@ -234,22 +236,20 @@ public: private: static RenderStyle* s_styleNotYetAvailable; - void init(); - void matchUARules(int& firstUARule, int& lastUARule); void updateFont(); void cacheBorderAndBackground(); - void mapFillAttachment(FillLayer*, CSSValue*); - void mapFillClip(FillLayer*, CSSValue*); - void mapFillComposite(FillLayer*, CSSValue*); - void mapFillOrigin(FillLayer*, CSSValue*); - void mapFillImage(FillLayer*, CSSValue*); - void mapFillRepeatX(FillLayer*, CSSValue*); - void mapFillRepeatY(FillLayer*, CSSValue*); - void mapFillSize(FillLayer*, CSSValue*); - void mapFillXPosition(FillLayer*, CSSValue*); - void mapFillYPosition(FillLayer*, CSSValue*); + void mapFillAttachment(CSSPropertyID, FillLayer*, CSSValue*); + void mapFillClip(CSSPropertyID, FillLayer*, CSSValue*); + void mapFillComposite(CSSPropertyID, FillLayer*, CSSValue*); + void mapFillOrigin(CSSPropertyID, FillLayer*, CSSValue*); + void mapFillImage(CSSPropertyID, FillLayer*, CSSValue*); + void mapFillRepeatX(CSSPropertyID, FillLayer*, CSSValue*); + void mapFillRepeatY(CSSPropertyID, FillLayer*, CSSValue*); + void mapFillSize(CSSPropertyID, FillLayer*, CSSValue*); + void mapFillXPosition(CSSPropertyID, FillLayer*, CSSValue*); + void mapFillYPosition(CSSPropertyID, FillLayer*, CSSValue*); void mapAnimationDelay(Animation*, CSSValue*); void mapAnimationDirection(Animation*, CSSValue*); @@ -261,7 +261,7 @@ public: void mapAnimationProperty(Animation*, CSSValue*); void mapAnimationTimingFunction(Animation*, CSSValue*); - void mapNinePieceImage(CSSValue*, NinePieceImage&); + void mapNinePieceImage(CSSPropertyID, CSSValue*, NinePieceImage&); void applyProperty(int id, CSSValue*); void applyPageSizeProperty(CSSValue*); @@ -272,7 +272,10 @@ public: void applySVGProperty(int id, CSSValue*); #endif - StyleImage* styleImage(CSSValue* value); + void loadPendingImages(); + + StyleImage* styleImage(CSSPropertyID, CSSValue* value); + StyleImage* cachedOrPendingFromValue(CSSPropertyID property, CSSImageValue* value); // We collect the set of decls that match in |m_matchedDecls|. We then walk the // set of matched decls four times, once for those properties that others depend on (like font-size), @@ -285,8 +288,10 @@ public: Vector<CSSRuleData*, 32> m_matchedRules; RefPtr<CSSRuleList> m_ruleList; + + HashSet<int> m_pendingImageProperties; // Hash of CSSPropertyIDs - MediaQueryEvaluator* m_medium; + OwnPtr<MediaQueryEvaluator> m_medium; RefPtr<RenderStyle> m_rootDefaultStyle; PseudoId m_dynamicPseudo; |