CSSStyleSheet是webkit中一个典型的继承链
class StyleBase : public RefCounted<StyleBase>
——StyleBase* m_parent;
class StyleList : public StyleBase
——Vector<RefPtr<StyleBase> > m_children;
class StyleSheet : public StyleList
——Node* m_parentNode;
——String m_originalURL;
——KURL m_finalURL;
——String m_strTitle;
——RefPtr<MediaList> m_media;
——bool m_disabled;
class CSSStyleSheet : public StyleSheet
——Document* m_doc;
——CSSNamespace* m_namespaces;
——String m_charset;
——bool m_loadCompleted : 1;
——bool m_strictParsing : 1;
——bool m_isUserStyleSheet : 1;
——bool m_hasSyntacticallyValidCSSHeader : 1;
从数据和接口能够看出StyleBase和StyleList是用来管理style表的
StyleSheet主要是处理通用的网络相关的数据
CSSStyleSheet则是和dom树相关的联系
css的词法解析则是CSSParser,主要是用yacc的bison,可以参考这个链接
http://blog.youkuaiyun.com/sirouni2003/archive/2006/02/01/590661.aspx
本文介绍了WebKit中CSSStyleSheet的继承结构,包括StyleBase、StyleList、StyleSheet及CSSStyleSheet等类的作用与关联,并提到了CSS解析器CSSParser使用yacc的bison实现。
1722

被折叠的 条评论
为什么被折叠?



