From 3749d61e1f7a59f5ec5067e560af1eb610c82015 Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Sun, 12 Aug 2012 09:27:39 +0200 Subject: 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 --- Source/WebCore/css/CSSRule.cpp | 49 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) (limited to 'Source/WebCore/css/CSSRule.cpp') 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(this)->reportDescendantMemoryUsage(memoryObjectInfo); + return; + case STYLE_RULE: + static_cast(this)->reportDescendantMemoryUsage(memoryObjectInfo); + return; + case PAGE_RULE: + static_cast(this)->reportDescendantMemoryUsage(memoryObjectInfo); + return; + case CHARSET_RULE: + static_cast(this)->reportDescendantMemoryUsage(memoryObjectInfo); + return; + case IMPORT_RULE: + static_cast(this)->reportDescendantMemoryUsage(memoryObjectInfo); + return; + case MEDIA_RULE: + static_cast(this)->reportDescendantMemoryUsage(memoryObjectInfo); + return; + case FONT_FACE_RULE: + static_cast(this)->reportDescendantMemoryUsage(memoryObjectInfo); + return; + case WEBKIT_KEYFRAMES_RULE: + static_cast(this)->reportDescendantMemoryUsage(memoryObjectInfo); + return; + case WEBKIT_KEYFRAME_RULE: + static_cast(this)->reportDescendantMemoryUsage(memoryObjectInfo); + return; +#if ENABLE(CSS_REGIONS) + case WEBKIT_REGION_RULE: + static_cast(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 -- cgit v1.2.1