Changeset 124330 in webkit
- Timestamp:
- Aug 1, 2012 6:29:59 AM (12 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 25 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r124326 r124330 1 2012-07-31 Yury Semikhatsky <yurys@chromium.org> 2 3 Web Inspector: add CSSStyleSheet memory instrumentation 4 https://bugs.webkit.org/show_bug.cgi?id=92748 5 6 Reviewed by Antti Koivisto. 7 8 Added MemoryInstrumentation for CSSStyleSheet, StyleSheetContents, StyleRule, 9 CSSSelectorList and StylePropertySet. The coverage is not complete as the 10 patch was growing too big. 11 12 * css/CSSSelectorList.cpp: 13 (WebCore::CSSSelectorList::CSSSelectorList): 14 (WebCore::CSSSelectorList::length): 15 (WebCore): 16 (WebCore::CSSSelectorList::reportMemoryUsage): 17 * css/CSSSelectorList.h: 18 (WebCore): 19 (CSSSelectorList): 20 * css/CSSStyleSheet.cpp: 21 (WebCore::CSSStyleSheet::reportMemoryUsage): 22 (WebCore): 23 * css/CSSStyleSheet.h: 24 (WebCore): 25 (CSSStyleSheet): 26 * css/MediaList.cpp: 27 (WebCore): 28 (WebCore::MediaQuerySet::reportMemoryUsage): 29 (WebCore::MediaList::reportMemoryUsage): 30 * css/MediaList.h: 31 (WebCore): 32 (MediaQuerySet): 33 (MediaList): 34 * css/MediaQuery.cpp: 35 (WebCore::MediaQuery::reportMemoryUsage): 36 (WebCore): 37 * css/MediaQuery.h: 38 (WebCore): 39 (MediaQuery): 40 * css/MediaQueryExp.cpp: 41 (WebCore::MediaQueryExp::reportMemoryUsage): 42 (WebCore): 43 * css/MediaQueryExp.h: 44 (WebCore): 45 (MediaQueryExp): 46 * css/StylePropertySet.cpp: 47 (WebCore::StylePropertySet::reportMemoryUsage): 48 (WebCore): 49 * css/StylePropertySet.h: 50 (WebCore): 51 (StylePropertySet): 52 * css/StyleRule.cpp: 53 (WebCore::StyleRuleBase::reportMemoryUsage): We cannot make 54 reportMemoryUsage virtual as it would add vtable to StyleRuleBase 55 and its descendants and would blow its memory footprint. This 56 is why we have a switch over StyleRule type here. 57 (WebCore): 58 (WebCore::StyleRule::reportMemoryUsage): 59 (WebCore::StyleRulePage::reportMemoryUsage): 60 (WebCore::StyleRuleFontFace::reportMemoryUsage): 61 (WebCore::StyleRuleBlock::reportMemoryUsage): 62 (WebCore::StyleRuleMedia::reportMemoryUsage): 63 (WebCore::StyleRuleRegion::reportMemoryUsage): 64 * css/StyleRule.h: 65 (WebCore): 66 (StyleRuleBase): 67 (StyleRule): 68 (StyleRuleFontFace): 69 (StyleRulePage): 70 (StyleRuleBlock): 71 (StyleRuleMedia): 72 (StyleRuleRegion): 73 * css/StyleSheetContents.cpp: 74 (WebCore::StyleSheetContents::reportMemoryUsage): 75 (WebCore): 76 * css/StyleSheetContents.h: 77 (WebCore): 78 (StyleSheetContents): 79 * dom/Document.cpp: 80 (WebCore::Document::reportMemoryUsage): 81 * dom/MemoryInstrumentation.h: 82 (WebCore::MemoryClassInfo::addInstrumentedVectorPtr): 83 (WebCore::MemoryClassInfo::addVectorPtr): 84 1 85 2012-08-01 Keishi Hattori <keishi@webkit.org> 2 86 -
trunk/Source/WebCore/css/CSSSelectorList.cpp
r115319 r124330 29 29 30 30 #include "CSSParserValues.h" 31 #include "MemoryInstrumentation.h" 31 32 #include <wtf/text/StringBuilder.h> 32 33 … … 40 41 CSSSelectorList::CSSSelectorList(const CSSSelectorList& o) 41 42 { 42 CSSSelector* current = o.m_selectorArray; 43 while (!current->isLastInSelectorList()) 44 ++current; 45 unsigned length = (current - o.m_selectorArray) + 1; 43 unsigned length = o.length(); 46 44 if (length == 1) { 47 45 // Destructor expects a single selector to be allocated by new, multiple with fastMalloc. … … 96 94 m_selectorArray[arrayIndex - 1].setLastInSelectorList(); 97 95 selectorVector.shrink(0); 96 } 97 98 unsigned CSSSelectorList::length() const 99 { 100 if (!m_selectorArray) 101 return 0; 102 CSSSelector* current = m_selectorArray; 103 while (!current->isLastInSelectorList()) 104 ++current; 105 return (current - m_selectorArray) + 1; 98 106 } 99 107 … … 136 144 } 137 145 146 void CSSSelectorList::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 147 { 148 MemoryClassInfo<CSSSelectorList> info(memoryObjectInfo, this, MemoryInstrumentation::CSS); 149 info.addRawBuffer(m_selectorArray, length() * sizeof(CSSSelector)); 150 } 151 138 152 template <typename Functor> 139 153 static bool forEachTagSelector(Functor& functor, CSSSelector* selector) -
trunk/Source/WebCore/css/CSSSelectorList.h
r115115 r124330 32 32 33 33 class CSSParserSelector; 34 class MemoryObjectInfo; 34 35 35 36 class CSSSelectorList { … … 53 54 String selectorsText() const; 54 55 56 void reportMemoryUsage(MemoryObjectInfo*) const; 57 55 58 private: 59 unsigned length() const; 56 60 void deleteSelectors(); 57 61 -
trunk/Source/WebCore/css/CSSStyleSheet.cpp
r118336 r124330 33 33 #include "HTMLNames.h" 34 34 #include "MediaList.h" 35 #include "MemoryInstrumentation.h" 35 36 #include "Node.h" 36 37 #include "SVGNames.h" … … 169 170 } 170 171 172 void CSSStyleSheet::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 173 { 174 MemoryClassInfo<CSSStyleSheet> info(memoryObjectInfo, this, MemoryInstrumentation::CSS); 175 info.addInstrumentedMember(m_contents); 176 info.addString(m_title); 177 info.addInstrumentedMember(m_mediaQueries); 178 info.addInstrumentedMember(m_ownerNode); 179 info.addInstrumentedMember(m_mediaCSSOMWrapper); 180 } 181 171 182 void CSSStyleSheet::setDisabled(bool disabled) 172 183 { -
trunk/Source/WebCore/css/CSSStyleSheet.h
r118336 r124330 40 40 class Document; 41 41 class MediaQuerySet; 42 class MemoryObjectInfo; 42 43 class SecurityOrigin; 43 44 class StyleSheetContents; … … 106 107 StyleSheetContents* contents() const { return m_contents.get(); } 107 108 109 void reportMemoryUsage(MemoryObjectInfo*) const; 110 108 111 private: 109 112 CSSStyleSheet(PassRefPtr<StyleSheetContents>, CSSImportRule* ownerRule); -
trunk/Source/WebCore/css/MediaList.cpp
r116291 r124330 27 27 #include "MediaQuery.h" 28 28 #include "MediaQueryExp.h" 29 #include "MemoryInstrumentation.h" 29 30 30 31 namespace WebCore { … … 210 211 return text; 211 212 } 213 214 void MediaQuerySet::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 215 { 216 MemoryClassInfo<MediaQuerySet> info(memoryObjectInfo, this, MemoryInstrumentation::CSS); 217 info.addInstrumentedVector(m_queries); 218 } 212 219 213 220 MediaList::MediaList(MediaQuerySet* mediaQueries, CSSStyleSheet* parentSheet) … … 283 290 } 284 291 285 } 292 void MediaList::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 293 { 294 MemoryClassInfo<MediaList> info(memoryObjectInfo, this, MemoryInstrumentation::CSS); 295 info.addInstrumentedMember(m_mediaQueries); 296 } 297 298 } -
trunk/Source/WebCore/css/MediaList.h
r116291 r124330 35 35 class MediaList; 36 36 class MediaQuery; 37 class MemoryObjectInfo; 37 38 38 39 class MediaQuerySet : public RefCounted<MediaQuerySet> { … … 66 67 67 68 PassRefPtr<MediaQuerySet> copy() const { return adoptRef(new MediaQuerySet(*this)); } 69 70 void reportMemoryUsage(MemoryObjectInfo*) const; 68 71 69 72 private: … … 107 110 void reattach(MediaQuerySet*); 108 111 112 void reportMemoryUsage(MemoryObjectInfo*) const; 113 109 114 private: 110 115 MediaList(); -
trunk/Source/WebCore/css/MediaQuery.cpp
r118659 r124330 31 31 32 32 #include "MediaQueryExp.h" 33 #include "MemoryInstrumentation.h" 33 34 #include <wtf/NonCopyingSort.h> 34 35 #include <wtf/text/StringBuilder.h> … … 134 135 } 135 136 137 void MediaQuery::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 138 { 139 MemoryClassInfo<MediaQuery> info(memoryObjectInfo, this, MemoryInstrumentation::CSS); 140 info.addString(m_mediaType); 141 info.addInstrumentedVectorPtr(m_expressions); 142 info.addString(m_serializationCache); 143 } 144 136 145 } //namespace -
trunk/Source/WebCore/css/MediaQuery.h
r118659 r124330 37 37 namespace WebCore { 38 38 class MediaQueryExp; 39 class MemoryObjectInfo; 39 40 40 41 class MediaQuery { … … 59 60 PassOwnPtr<MediaQuery> copy() const { return adoptPtr(new MediaQuery(*this)); } 60 61 62 void reportMemoryUsage(MemoryObjectInfo*) const; 63 61 64 private: 62 65 MediaQuery(const MediaQuery&); -
trunk/Source/WebCore/css/MediaQueryExp.cpp
r114676 r124330 33 33 #include "CSSPrimitiveValue.h" 34 34 #include "CSSValueList.h" 35 #include "MemoryInstrumentation.h" 35 36 #include <wtf/text/StringBuilder.h> 36 37 … … 109 110 } 110 111 112 void MediaQueryExp::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 113 { 114 MemoryClassInfo<MediaQueryExp> info(memoryObjectInfo, this, MemoryInstrumentation::CSS); 115 info.addString(m_mediaFeature); 116 info.addString(m_serializationCache); 117 } 118 111 119 } // namespace -
trunk/Source/WebCore/css/MediaQueryExp.h
r115115 r124330 38 38 namespace WebCore { 39 39 class CSSParserValueList; 40 class MemoryObjectInfo; 40 41 41 42 class MediaQueryExp { … … 73 74 PassOwnPtr<MediaQueryExp> copy() const { return adoptPtr(new MediaQueryExp(*this)); } 74 75 76 void reportMemoryUsage(MemoryObjectInfo*) const; 77 75 78 private: 76 79 MediaQueryExp(const AtomicString& mediaFeature, CSSParserValueList* values); -
trunk/Source/WebCore/css/StylePropertySet.cpp
r122600 r124330 1076 1076 } 1077 1077 1078 void StylePropertySet::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 1079 { 1080 MemoryClassInfo<StylePropertySet> info(memoryObjectInfo, this, MemoryInstrumentation::CSS); 1081 if (m_isMutable) 1082 info.addVectorPtr(m_mutablePropertyVector); 1083 else 1084 info.addRawBuffer(m_properties, m_arraySize * sizeof(CSSProperty)); 1085 } 1086 1078 1087 // See the function above if you need to update this. 1079 1088 struct SameSizeAsStylePropertySet : public RefCounted<SameSizeAsStylePropertySet> { -
trunk/Source/WebCore/css/StylePropertySet.h
r123396 r124330 26 26 #include "CSSProperty.h" 27 27 #include "CSSPropertyNames.h" 28 #include "MemoryInstrumentation.h"29 28 #include <wtf/ListHashSet.h> 30 29 #include <wtf/Vector.h> … … 36 35 class CSSStyleDeclaration; 37 36 class KURL; 37 class MemoryObjectInfo; 38 38 class PropertySetCSSStyleDeclaration; 39 39 class StyledElement; … … 112 112 113 113 static unsigned averageSizeInBytes(); 114 void reportMemoryUsage(MemoryObjectInfo*) const; 114 115 115 116 #ifndef NDEBUG … … 117 118 #endif 118 119 119 void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const120 {121 MemoryClassInfo<StylePropertySet> info(memoryObjectInfo, this, MemoryInstrumentation::CSS, m_arraySize * sizeof(CSSProperty));122 if (m_isMutable)123 info.addMember(m_mutablePropertyVector);124 }125 126 120 private: 127 121 StylePropertySet(CSSParserMode); -
trunk/Source/WebCore/css/StyleRule.cpp
r121764 r124330 29 29 #include "CSSPageRule.h" 30 30 #include "CSSStyleRule.h" 31 #include "MemoryInstrumentation.h" 31 32 #include "StyleRuleImport.h" 32 33 #include "WebKitCSSKeyframeRule.h" … … 50 51 { 51 52 return createCSSOMWrapper(0, parentRule); 53 } 54 55 void StyleRuleBase::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 56 { 57 switch (type()) { 58 case Style: 59 static_cast<const StyleRule*>(this)->reportMemoryUsage(memoryObjectInfo); 60 return; 61 case Page: 62 static_cast<const StyleRulePage*>(this)->reportMemoryUsage(memoryObjectInfo); 63 return; 64 case FontFace: 65 static_cast<const StyleRuleFontFace*>(this)->reportMemoryUsage(memoryObjectInfo); 66 return; 67 case Media: 68 static_cast<const StyleRuleMedia*>(this)->reportMemoryUsage(memoryObjectInfo); 69 return; 70 #if ENABLE(CSS_REGIONS) 71 case Region: 72 static_cast<const StyleRuleRegion*>(this)->reportMemoryUsage(memoryObjectInfo); 73 return; 74 #endif 75 case Import: 76 static_cast<const StyleRuleImport*>(this)->reportMemoryUsage(memoryObjectInfo); 77 return; 78 case Keyframes: 79 static_cast<const StyleRuleKeyframes*>(this)->reportMemoryUsage(memoryObjectInfo); 80 return; 81 case Unknown: 82 case Charset: 83 case Keyframe: 84 MemoryClassInfo<StyleRuleBase> info(memoryObjectInfo, this, MemoryInstrumentation::CSS); 85 return; 86 } 87 ASSERT_NOT_REACHED(); 52 88 } 53 89 … … 171 207 } 172 208 209 void StyleRule::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 210 { 211 MemoryClassInfo<StyleRule> info(memoryObjectInfo, this, MemoryInstrumentation::CSS); 212 info.addInstrumentedMember(m_properties); 213 info.addInstrumentedMember(m_selectorList); 214 } 215 173 216 StyleRule::StyleRule(int sourceLine) 174 217 : StyleRuleBase(Style, sourceLine) … … 227 270 } 228 271 272 void StyleRulePage::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 273 { 274 MemoryClassInfo<StyleRulePage> info(memoryObjectInfo, this, MemoryInstrumentation::CSS); 275 info.addInstrumentedMember(m_properties); 276 info.addInstrumentedMember(m_selectorList); 277 } 278 229 279 StyleRuleFontFace::StyleRuleFontFace() 230 280 : StyleRuleBase(FontFace, 0) … … 254 304 } 255 305 306 void StyleRuleFontFace::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 307 { 308 MemoryClassInfo<StyleRuleFontFace> info(memoryObjectInfo, this, MemoryInstrumentation::CSS); 309 info.addInstrumentedMember(m_properties); 310 } 311 312 256 313 StyleRuleBlock::StyleRuleBlock(Type type, Vector<RefPtr<StyleRuleBase> >& adoptRule) 257 314 : StyleRuleBase(type, 0) … … 278 335 } 279 336 337 void StyleRuleBlock::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 338 { 339 MemoryClassInfo<StyleRuleBlock> info(memoryObjectInfo, this, MemoryInstrumentation::CSS); 340 info.addInstrumentedVector(m_childRules); 341 } 342 280 343 StyleRuleMedia::StyleRuleMedia(PassRefPtr<MediaQuerySet> media, Vector<RefPtr<StyleRuleBase> >& adoptRules) 281 344 : StyleRuleBlock(Media, adoptRules) … … 291 354 } 292 355 356 void StyleRuleMedia::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 357 { 358 MemoryClassInfo<StyleRuleMedia> info(memoryObjectInfo, this, MemoryInstrumentation::CSS); 359 info.addInstrumentedMember(m_mediaQueries); 360 } 361 293 362 StyleRuleRegion::StyleRuleRegion(Vector<OwnPtr<CSSParserSelector> >* selectors, Vector<RefPtr<StyleRuleBase> >& adoptRules) 294 363 : StyleRuleBlock(Region, adoptRules) … … 303 372 } 304 373 374 void StyleRuleRegion::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 375 { 376 MemoryClassInfo<StyleRuleRegion> info(memoryObjectInfo, this, MemoryInstrumentation::CSS); 377 info.addInstrumentedMember(m_selectorList); 378 } 379 305 380 } // namespace WebCore -
trunk/Source/WebCore/css/StyleRule.h
r120943 r124330 32 32 class CSSStyleRule; 33 33 class CSSStyleSheet; 34 class MemoryObjectInfo; 34 35 class StylePropertySet; 35 36 … … 73 74 PassRefPtr<CSSRule> createCSSOMWrapper(CSSRule* parentRule) const; 74 75 76 void reportMemoryUsage(MemoryObjectInfo*) const; 77 75 78 protected: 76 79 StyleRuleBase(Type type, signed sourceLine = 0) : m_type(type), m_sourceLine(sourceLine) { } … … 105 108 106 109 static unsigned averageSizeInBytes(); 110 void reportMemoryUsage(MemoryObjectInfo*) const; 107 111 108 112 private: … … 126 130 127 131 PassRefPtr<StyleRuleFontFace> copy() const { return adoptRef(new StyleRuleFontFace(*this)); } 132 133 void reportMemoryUsage(MemoryObjectInfo*) const; 128 134 129 135 private: … … 150 156 PassRefPtr<StyleRulePage> copy() const { return adoptRef(new StyleRulePage(*this)); } 151 157 158 void reportMemoryUsage(MemoryObjectInfo*) const; 159 152 160 private: 153 161 StyleRulePage(); … … 164 172 void wrapperInsertRule(unsigned, PassRefPtr<StyleRuleBase>); 165 173 void wrapperRemoveRule(unsigned); 174 175 void reportMemoryUsage(MemoryObjectInfo*) const; 166 176 167 177 protected: … … 184 194 PassRefPtr<StyleRuleMedia> copy() const { return adoptRef(new StyleRuleMedia(*this)); } 185 195 196 void reportMemoryUsage(MemoryObjectInfo*) const; 197 186 198 private: 187 199 StyleRuleMedia(PassRefPtr<MediaQuerySet>, Vector<RefPtr<StyleRuleBase> >& adoptRules); … … 202 214 PassRefPtr<StyleRuleRegion> copy() const { return adoptRef(new StyleRuleRegion(*this)); } 203 215 216 void reportMemoryUsage(MemoryObjectInfo*) const; 217 204 218 private: 205 219 StyleRuleRegion(Vector<OwnPtr<CSSParserSelector> >*, Vector<RefPtr<StyleRuleBase> >& adoptRules); -
trunk/Source/WebCore/css/StyleRuleImport.cpp
r118376 r124330 129 129 } 130 130 131 void StyleRuleImport::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 132 { 133 MemoryClassInfo<StyleRuleImport> info(memoryObjectInfo, this, MemoryInstrumentation::CSS); 134 info.addString(m_strHref); 135 info.addInstrumentedMember(m_mediaQueries); 136 info.addInstrumentedMember(m_styleSheet); 137 } 138 131 139 } // namespace WebCore -
trunk/Source/WebCore/css/StyleRuleImport.h
r118376 r124330 31 31 class CachedCSSStyleSheet; 32 32 class MediaQuerySet; 33 class MemoryObjectInfo; 33 34 class StyleSheetContents; 34 35 … … 50 51 51 52 void requestStyleSheet(); 53 54 void reportMemoryUsage(MemoryObjectInfo*) const; 52 55 53 56 private: -
trunk/Source/WebCore/css/StyleSheetContents.cpp
r118963 r124330 27 27 #include "CachedCSSStyleSheet.h" 28 28 #include "Document.h" 29 #include "MemoryInstrumentation.h" 29 30 #include "Node.h" 30 31 #include "SecurityOrigin.h" … … 442 443 } 443 444 444 } 445 void StyleSheetContents::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 446 { 447 MemoryClassInfo<StyleSheetContents> info(memoryObjectInfo, this, MemoryInstrumentation::CSS); 448 info.addString(m_originalURL); 449 info.addString(m_encodingFromCharsetRule); 450 info.addVector(m_importRules); 451 info.addInstrumentedVector(m_childRules); 452 info.addHashMap(m_namespaces); 453 info.addVector(m_clients); 454 } 455 456 } -
trunk/Source/WebCore/css/StyleSheetContents.h
r118963 r124330 35 35 class CachedCSSStyleSheet; 36 36 class Document; 37 class MemoryObjectInfo; 37 38 class Node; 38 39 class SecurityOrigin; … … 138 139 void removedFromMemoryCache(); 139 140 141 void reportMemoryUsage(MemoryObjectInfo*) const; 142 140 143 private: 141 144 StyleSheetContents(StyleRuleImport* ownerRule, const String& originalURL, const KURL& baseURL, const CSSParserContext&); -
trunk/Source/WebCore/css/WebKitCSSKeyframeRule.cpp
r122976 r124330 27 27 #include "WebKitCSSKeyframeRule.h" 28 28 29 #include "MemoryInstrumentation.h" 29 30 #include "PropertySetCSSStyleDeclaration.h" 30 31 #include "StylePropertySet.h" … … 86 87 } 87 88 89 void StyleKeyframe::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 90 { 91 MemoryClassInfo<StyleKeyframe> info(memoryObjectInfo, this, MemoryInstrumentation::CSS); 92 info.addInstrumentedMember(m_properties); 93 info.addString(m_key); 94 } 95 88 96 WebKitCSSKeyframeRule::WebKitCSSKeyframeRule(StyleKeyframe* keyframe, WebKitCSSKeyframesRule* parent) 89 97 : CSSRule(0, CSSRule::WEBKIT_KEYFRAME_RULE) -
trunk/Source/WebCore/css/WebKitCSSKeyframeRule.h
r122976 r124330 35 35 namespace WebCore { 36 36 37 class MemoryInstrumentation; 37 38 class StyleRuleCSSStyleDeclaration; 38 39 class WebKitCSSKeyframesRule; … … 55 56 56 57 String cssText() const; 58 59 void reportMemoryUsage(MemoryObjectInfo*) const; 57 60 58 61 private: -
trunk/Source/WebCore/css/WebKitCSSKeyframesRule.cpp
r118194 r124330 30 30 #include "CSSRuleList.h" 31 31 #include "CSSStyleSheet.h" 32 #include "MemoryInstrumentation.h" 32 33 #include "StylePropertySet.h" 33 34 #include "StyleSheet.h" … … 87 88 } 88 89 90 void StyleRuleKeyframes::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 91 { 92 MemoryClassInfo<StyleRuleKeyframes> info(memoryObjectInfo, this, MemoryInstrumentation::CSS); 93 info.addInstrumentedVector(m_keyframes); 94 info.addString(m_name); 95 } 96 89 97 WebKitCSSKeyframesRule::WebKitCSSKeyframesRule(StyleRuleKeyframes* keyframesRule, CSSStyleSheet* parent) 90 98 : CSSRule(parent, CSSRule::WEBKIT_KEYFRAMES_RULE) -
trunk/Source/WebCore/css/WebKitCSSKeyframesRule.h
r116291 r124330 37 37 38 38 class CSSRuleList; 39 class MemoryObjectInfo; 39 40 class StyleKeyframe; 40 41 class WebKitCSSKeyframeRule; … … 58 59 59 60 PassRefPtr<StyleRuleKeyframes> copy() const { return adoptRef(new StyleRuleKeyframes(*this)); } 61 62 void reportMemoryUsage(MemoryObjectInfo*) const; 60 63 61 64 private: -
trunk/Source/WebCore/dom/Document.cpp
r124301 r124330 6099 6099 info.addString(m_documentURI); 6100 6100 info.addString(m_baseTarget); 6101 info.addInstrumentedMember(m_elemSheet); 6102 info.addInstrumentedMember(m_pageUserSheet); 6101 6103 if (m_pageGroupUserSheets) 6102 info.add Vector(*m_pageGroupUserSheets.get());6104 info.addInstrumentedVectorPtr(m_pageGroupUserSheets); 6103 6105 if (m_userSheets) 6104 info.add Vector(*m_userSheets.get());6106 info.addInstrumentedVectorPtr(m_userSheets); 6105 6107 info.addHashSet(m_nodeIterators); 6106 6108 info.addHashSet(m_ranges); -
trunk/Source/WebCore/dom/MemoryInstrumentation.h
r124017 r124330 174 174 template <typename HashSetType> void addInstrumentedHashSet(const HashSetType& set) { m_memoryInstrumentation->addInstrumentedCollection(set, m_objectType, true); } 175 175 template <typename VectorType> void addInstrumentedVector(const VectorType& vector) { m_memoryInstrumentation->addInstrumentedCollection(vector, m_objectType, true); } 176 template <typename VectorType> void addInstrumentedVectorPtr(const OwnPtr<VectorType>& vector) { m_memoryInstrumentation->addInstrumentedCollection(*vector, m_objectType, false); } 177 template <typename VectorType> void addInstrumentedVectorPtr(const VectorType* const& vector) { m_memoryInstrumentation->addInstrumentedCollection(*vector, m_objectType, false); } 176 178 template <typename ListHashSetType> void addListHashSet(const ListHashSetType& set) { m_memoryInstrumentation->addListHashSet(set, m_objectType, true); } 177 179 template <typename VectorType> void addVector(const VectorType& vector) { m_memoryInstrumentation->addVector(vector, m_objectType, true); } 180 template <typename VectorType> void addVectorPtr(const VectorType* const vector) { m_memoryInstrumentation->addVector(*vector, m_objectType, false); } 178 181 void addRawBuffer(const void* const& buffer, size_t size) { m_memoryInstrumentation->addRawBuffer(buffer, m_objectType, size); } 179 182
Note: See TracChangeset
for help on using the changeset viewer.