webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Classes | Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
WebCore::StyleResolver Class Reference

#include <StyleResolver.h>

Classes

class  CascadedProperties
 
struct  MatchedProperties
 
struct  MatchRanges
 
struct  MatchResult
 
struct  RuleRange
 
class  State
 

Public Types

enum  CSSRuleFilter {
  UAAndUserCSSRules = 1 << 1, AuthorCSSRules = 1 << 2, EmptyCSSRules = 1 << 3, CrossOriginCSSRules = 1 << 4,
  AllButEmptyCSSRules = UAAndUserCSSRules | AuthorCSSRules | CrossOriginCSSRules, AllCSSRules = AllButEmptyCSSRules | EmptyCSSRules
}
 
typedef HashMap< CSSPropertyID, RefPtr< CSSValue > > PendingImagePropertyMap
 

Public Member Functions

 StyleResolver (Document &)
 
 ~StyleResolver ()
 
ElementStyle styleForElement (const Element &, const RenderStyle *parentStyle, const RenderStyle *parentBoxStyle=nullptr, RuleMatchingBehavior=MatchAllRules, const RenderRegion *regionForStyling=nullptr, const SelectorFilter *=nullptr)
 
void keyframeStylesForAnimation (const Element &, const RenderStyle *, KeyframeList &)
 
std::unique_ptr< RenderStyle > pseudoStyleForElement (const Element &, const PseudoStyleRequest &, const RenderStyle &parentStyle)
 
std::unique_ptr< RenderStyle > styleForPage (int pageIndex)
 
std::unique_ptr< RenderStyle > defaultStyleForElement ()
 
RenderStyle * style () const
 
const RenderStyle * parentStyle () const
 
const RenderStyle * rootElementStyle () const
 
const Element * element ()
 
Document & document ()
 
const Document & document () const
 
const Settings & settings () const
 
void appendAuthorStyleSheets (const Vector< RefPtr< CSSStyleSheet >> &)
 
DocumentRuleSets & ruleSets ()
 
const DocumentRuleSets & ruleSets () const
 
const MediaQueryEvaluator & mediaQueryEvaluator () const
 
void setOverrideDocumentElementStyle (RenderStyle *style)
 
Vector< RefPtr< StyleRule > > styleRulesForElement (const Element *, unsigned rulesToInclude=AllButEmptyCSSRules)
 
Vector< RefPtr< StyleRule > > pseudoStyleRulesForElement (const Element *, PseudoId, unsigned rulesToInclude=AllButEmptyCSSRules)
 
void applyPropertyToStyle (CSSPropertyID, CSSValue *, std::unique_ptr< RenderStyle >)
 
void applyPropertyToCurrentStyle (CSSPropertyID, CSSValue *)
 
void updateFont ()
 
void initializeFontStyle ()
 
void setFontSize (FontCascadeDescription &, float size)
 
bool useSVGZoomRules ()
 
bool useSVGZoomRulesForLength ()
 
Color colorFromPrimitiveValue (const CSSPrimitiveValue &, bool forVisitedLink=false) const
 
bool hasSelectorForId (const AtomicString &) const
 
bool hasSelectorForClass (const AtomicString &) const
 
bool hasSelectorForAttribute (const Element &, const AtomicString &) const
 
void addViewportDependentMediaQueryResult (const MediaQueryExpression &, bool result)
 
bool hasViewportDependentMediaQueries () const
 
bool hasMediaQueriesAffectedByViewportChange () const
 
void addAccessibilitySettingsDependentMediaQueryResult (const MediaQueryExpression &, bool result)
 
bool hasAccessibilitySettingsDependentMediaQueries () const
 
bool hasMediaQueriesAffectedByAccessibilitySettingsChange () const
 
void addKeyframeStyle (Ref< StyleRuleKeyframes > &&)
 
bool checkRegionStyle (const Element *regionElement)
 
bool usesFirstLineRules () const
 
bool usesFirstLetterRules () const
 
void invalidateMatchedPropertiesCache ()
 
void clearCachedPropertiesAffectedByViewportUnits ()
 
bool createFilterOperations (const CSSValue &inValue, FilterOperations &outOperations)
 
State & state ()
 
const State & state () const
 
RefPtr< StyleImage > styleImage (CSSValue &)
 
bool applyPropertyToRegularStyle () const
 
bool applyPropertyToVisitedLinkStyle () const
 
CascadeLevel cascadeLevel () const
 
void setCascadeLevel (CascadeLevel level)
 
CascadedProperties * cascadedPropertiesForRollback (const MatchResult &)
 
CSSToStyleMap * styleMap ()
 
InspectorCSSOMWrappers & inspectorCSSOMWrappers ()
 
const FontCascadeDescription & fontDescription ()
 
const FontCascadeDescription & parentFontDescription ()
 
void setFontDescription (const FontCascadeDescription &fontDescription)
 
void setZoom (float f)
 
void setEffectiveZoom (float f)
 
void setWritingMode (WritingMode writingMode)
 
void setTextOrientation (TextOrientation textOrientation)
 

Static Public Member Functions

static bool colorFromPrimitiveValueIsDerivedFromElement (const CSSPrimitiveValue &)
 
static void adjustStyleForAlignment (RenderStyle &, const RenderStyle &parentStyle)
 

Friends

bool operator== (const MatchedProperties &, const MatchedProperties &)
 
bool operator!= (const MatchedProperties &, const MatchedProperties &)
 
bool operator== (const MatchRanges &, const MatchRanges &)
 
bool operator!= (const MatchRanges &, const MatchRanges &)
 

Member Typedef Documentation

◆ PendingImagePropertyMap

Member Enumeration Documentation

◆ CSSRuleFilter

Enumerator
UAAndUserCSSRules 
AuthorCSSRules 
EmptyCSSRules 
CrossOriginCSSRules 
AllButEmptyCSSRules 
AllCSSRules 

Constructor & Destructor Documentation

◆ StyleResolver()

WebCore::StyleResolver::StyleResolver ( Document &  document)

◆ ~StyleResolver()

WebCore::StyleResolver::~StyleResolver ( )

Member Function Documentation

◆ addAccessibilitySettingsDependentMediaQueryResult()

void WebCore::StyleResolver::addAccessibilitySettingsDependentMediaQueryResult ( const MediaQueryExpression &  expression,
bool  result 
)

◆ addKeyframeStyle()

void WebCore::StyleResolver::addKeyframeStyle ( Ref< StyleRuleKeyframes > &&  rule)

◆ addViewportDependentMediaQueryResult()

void WebCore::StyleResolver::addViewportDependentMediaQueryResult ( const MediaQueryExpression &  expression,
bool  result 
)

◆ adjustStyleForAlignment()

void WebCore::StyleResolver::adjustStyleForAlignment ( RenderStyle &  style,
const RenderStyle &  parentStyle 
)
static

◆ appendAuthorStyleSheets()

void WebCore::StyleResolver::appendAuthorStyleSheets ( const Vector< RefPtr< CSSStyleSheet >> &  styleSheets)

◆ applyPropertyToCurrentStyle()

void WebCore::StyleResolver::applyPropertyToCurrentStyle ( CSSPropertyID  id,
CSSValue *  value 
)

◆ applyPropertyToRegularStyle()

bool WebCore::StyleResolver::applyPropertyToRegularStyle ( ) const
inline

◆ applyPropertyToStyle()

void WebCore::StyleResolver::applyPropertyToStyle ( CSSPropertyID  id,
CSSValue *  value,
std::unique_ptr< RenderStyle >  style 
)

◆ applyPropertyToVisitedLinkStyle()

bool WebCore::StyleResolver::applyPropertyToVisitedLinkStyle ( ) const
inline

◆ cascadedPropertiesForRollback()

StyleResolver::CascadedProperties * WebCore::StyleResolver::cascadedPropertiesForRollback ( const MatchResult &  matchResult)

◆ cascadeLevel()

CascadeLevel WebCore::StyleResolver::cascadeLevel ( ) const
inline

◆ checkRegionStyle()

bool WebCore::StyleResolver::checkRegionStyle ( const Element *  regionElement)

◆ clearCachedPropertiesAffectedByViewportUnits()

void WebCore::StyleResolver::clearCachedPropertiesAffectedByViewportUnits ( )

◆ colorFromPrimitiveValue()

Color WebCore::StyleResolver::colorFromPrimitiveValue ( const CSSPrimitiveValue &  value,
bool  forVisitedLink = false 
) const

◆ colorFromPrimitiveValueIsDerivedFromElement()

bool WebCore::StyleResolver::colorFromPrimitiveValueIsDerivedFromElement ( const CSSPrimitiveValue &  value)
static

◆ createFilterOperations()

bool WebCore::StyleResolver::createFilterOperations ( const CSSValue &  inValue,
FilterOperations &  outOperations 
)

◆ defaultStyleForElement()

std::unique_ptr< RenderStyle > WebCore::StyleResolver::defaultStyleForElement ( )

◆ document() [1/2]

Document& WebCore::StyleResolver::document ( )
inline

◆ document() [2/2]

const Document& WebCore::StyleResolver::document ( ) const
inline

◆ element()

const Element* WebCore::StyleResolver::element ( )
inline

◆ fontDescription()

const FontCascadeDescription& WebCore::StyleResolver::fontDescription ( )
inline

◆ hasAccessibilitySettingsDependentMediaQueries()

bool WebCore::StyleResolver::hasAccessibilitySettingsDependentMediaQueries ( ) const
inline

◆ hasMediaQueriesAffectedByAccessibilitySettingsChange()

bool WebCore::StyleResolver::hasMediaQueriesAffectedByAccessibilitySettingsChange ( ) const

◆ hasMediaQueriesAffectedByViewportChange()

bool WebCore::StyleResolver::hasMediaQueriesAffectedByViewportChange ( ) const

◆ hasSelectorForAttribute()

bool WebCore::StyleResolver::hasSelectorForAttribute ( const Element &  element,
const AtomicString &  attributeName 
) const
inline

◆ hasSelectorForClass()

bool WebCore::StyleResolver::hasSelectorForClass ( const AtomicString &  classValue) const
inline

◆ hasSelectorForId()

bool WebCore::StyleResolver::hasSelectorForId ( const AtomicString &  idValue) const
inline

◆ hasViewportDependentMediaQueries()

bool WebCore::StyleResolver::hasViewportDependentMediaQueries ( ) const
inline

◆ initializeFontStyle()

void WebCore::StyleResolver::initializeFontStyle ( )

◆ inspectorCSSOMWrappers()

InspectorCSSOMWrappers& WebCore::StyleResolver::inspectorCSSOMWrappers ( )
inline

◆ invalidateMatchedPropertiesCache()

void WebCore::StyleResolver::invalidateMatchedPropertiesCache ( )

◆ keyframeStylesForAnimation()

void WebCore::StyleResolver::keyframeStylesForAnimation ( const Element &  element,
const RenderStyle *  elementStyle,
KeyframeList &  list 
)

◆ mediaQueryEvaluator()

const MediaQueryEvaluator& WebCore::StyleResolver::mediaQueryEvaluator ( ) const
inline

◆ parentFontDescription()

const FontCascadeDescription& WebCore::StyleResolver::parentFontDescription ( )
inline

◆ parentStyle()

const RenderStyle* WebCore::StyleResolver::parentStyle ( ) const
inline

◆ pseudoStyleForElement()

std::unique_ptr< RenderStyle > WebCore::StyleResolver::pseudoStyleForElement ( const Element &  element,
const PseudoStyleRequest &  pseudoStyleRequest,
const RenderStyle &  parentStyle 
)

◆ pseudoStyleRulesForElement()

Vector< RefPtr< StyleRule > > WebCore::StyleResolver::pseudoStyleRulesForElement ( const Element *  element,
PseudoId  pseudoId,
unsigned  rulesToInclude = AllButEmptyCSSRules 
)

◆ rootElementStyle()

const RenderStyle* WebCore::StyleResolver::rootElementStyle ( ) const
inline

◆ ruleSets() [1/2]

DocumentRuleSets& WebCore::StyleResolver::ruleSets ( )
inline

◆ ruleSets() [2/2]

const DocumentRuleSets& WebCore::StyleResolver::ruleSets ( ) const
inline

◆ setCascadeLevel()

void WebCore::StyleResolver::setCascadeLevel ( CascadeLevel  level)
inline

◆ setEffectiveZoom()

void WebCore::StyleResolver::setEffectiveZoom ( float  f)
inline

◆ setFontDescription()

void WebCore::StyleResolver::setFontDescription ( const FontCascadeDescription &  fontDescription)
inline

◆ setFontSize()

void WebCore::StyleResolver::setFontSize ( FontCascadeDescription &  fontDescription,
float  size 
)

◆ setOverrideDocumentElementStyle()

void WebCore::StyleResolver::setOverrideDocumentElementStyle ( RenderStyle *  style)
inline

◆ setTextOrientation()

void WebCore::StyleResolver::setTextOrientation ( TextOrientation  textOrientation)
inline

◆ settings()

const Settings& WebCore::StyleResolver::settings ( ) const
inline

◆ setWritingMode()

void WebCore::StyleResolver::setWritingMode ( WritingMode  writingMode)
inline

◆ setZoom()

void WebCore::StyleResolver::setZoom ( float  f)
inline

◆ state() [1/2]

State& WebCore::StyleResolver::state ( )
inline

◆ state() [2/2]

const State& WebCore::StyleResolver::state ( ) const
inline

◆ style()

RenderStyle* WebCore::StyleResolver::style ( ) const
inline

◆ styleForElement()

ElementStyle WebCore::StyleResolver::styleForElement ( const Element &  element,
const RenderStyle *  parentStyle,
const RenderStyle *  parentBoxStyle = nullptr,
RuleMatchingBehavior  matchingBehavior = MatchAllRules,
const RenderRegion *  regionForStyling = nullptr,
const SelectorFilter *  selectorFilter = nullptr 
)

◆ styleForPage()

std::unique_ptr< RenderStyle > WebCore::StyleResolver::styleForPage ( int  pageIndex)

◆ styleImage()

RefPtr< StyleImage > WebCore::StyleResolver::styleImage ( CSSValue &  value)

◆ styleMap()

CSSToStyleMap* WebCore::StyleResolver::styleMap ( )
inline

◆ styleRulesForElement()

Vector< RefPtr< StyleRule > > WebCore::StyleResolver::styleRulesForElement ( const Element *  element,
unsigned  rulesToInclude = AllButEmptyCSSRules 
)

◆ updateFont()

void WebCore::StyleResolver::updateFont ( )

◆ usesFirstLetterRules()

bool WebCore::StyleResolver::usesFirstLetterRules ( ) const
inline

◆ usesFirstLineRules()

bool WebCore::StyleResolver::usesFirstLineRules ( ) const
inline

◆ useSVGZoomRules()

bool WebCore::StyleResolver::useSVGZoomRules ( )

◆ useSVGZoomRulesForLength()

bool WebCore::StyleResolver::useSVGZoomRulesForLength ( )

Friends And Related Function Documentation

◆ operator!= [1/2]

bool operator!= ( const MatchedProperties &  a,
const MatchedProperties &  b 
)
friend

◆ operator!= [2/2]

bool operator!= ( const MatchRanges &  a,
const MatchRanges &  b 
)
friend

◆ operator== [1/2]

bool operator== ( const MatchedProperties &  a,
const MatchedProperties &  b 
)
friend

◆ operator== [2/2]

bool operator== ( const MatchRanges &  a,
const MatchRanges &  b 
)
friend

The documentation for this class was generated from the following files: