diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-08-12 09:27:39 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-08-12 09:27:39 +0200 |
commit | 3749d61e1f7a59f5ec5067e560af1eb610c82015 (patch) | |
tree | 73dc228333948738bbe02976cacca8cd382bc978 /Source/WebCore/css/CSSRule.cpp | |
parent | b32b4dcd9a51ab8de6afc53d9e17f8707e1f7a5e (diff) | |
download | qtwebkit-3749d61e1f7a59f5ec5067e560af1eb610c82015.tar.gz |
Imported WebKit commit a77350243e054f3460d1137301d8b3faee3d2052 (http://svn.webkit.org/repository/webkit/trunk@125365)
New snapshot with build fixes for latest API changes in Qt and all WK1 Win MSVC fixes upstream
Diffstat (limited to 'Source/WebCore/css/CSSRule.cpp')
-rw-r--r-- | Source/WebCore/css/CSSRule.cpp | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/Source/WebCore/css/CSSRule.cpp b/Source/WebCore/css/CSSRule.cpp index c3105a05e..2915a6e4a 100644 --- a/Source/WebCore/css/CSSRule.cpp +++ b/Source/WebCore/css/CSSRule.cpp @@ -164,10 +164,59 @@ void CSSRule::reattach(StyleRuleBase* rule) ASSERT_NOT_REACHED(); } +void CSSRule::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const +{ + switch (type()) { + case UNKNOWN_RULE: + static_cast<const CSSUnknownRule*>(this)->reportDescendantMemoryUsage(memoryObjectInfo); + return; + case STYLE_RULE: + static_cast<const CSSStyleRule*>(this)->reportDescendantMemoryUsage(memoryObjectInfo); + return; + case PAGE_RULE: + static_cast<const CSSPageRule*>(this)->reportDescendantMemoryUsage(memoryObjectInfo); + return; + case CHARSET_RULE: + static_cast<const CSSCharsetRule*>(this)->reportDescendantMemoryUsage(memoryObjectInfo); + return; + case IMPORT_RULE: + static_cast<const CSSImportRule*>(this)->reportDescendantMemoryUsage(memoryObjectInfo); + return; + case MEDIA_RULE: + static_cast<const CSSMediaRule*>(this)->reportDescendantMemoryUsage(memoryObjectInfo); + return; + case FONT_FACE_RULE: + static_cast<const CSSFontFaceRule*>(this)->reportDescendantMemoryUsage(memoryObjectInfo); + return; + case WEBKIT_KEYFRAMES_RULE: + static_cast<const WebKitCSSKeyframesRule*>(this)->reportDescendantMemoryUsage(memoryObjectInfo); + return; + case WEBKIT_KEYFRAME_RULE: + static_cast<const WebKitCSSKeyframeRule*>(this)->reportDescendantMemoryUsage(memoryObjectInfo); + return; +#if ENABLE(CSS_REGIONS) + case WEBKIT_REGION_RULE: + static_cast<const WebKitCSSRegionRule*>(this)->reportDescendantMemoryUsage(memoryObjectInfo); + return; +#endif + } + ASSERT_NOT_REACHED(); + return; +} + const CSSParserContext& CSSRule::parserContext() const { CSSStyleSheet* styleSheet = parentStyleSheet(); return styleSheet ? styleSheet->contents()->parserContext() : strictCSSParserContext(); } +void CSSRule::reportBaseClassMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const +{ + MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS); + if (m_parentIsRule) + info.addInstrumentedMember(m_parentRule); + else + info.addInstrumentedMember(m_parentStyleSheet); +} + } // namespace WebCore |