Changeset 125265 in webkit
- Timestamp:
- Aug 10, 2012 2:43:07 AM (12 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 16 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/CMakeLists.txt
r125251 r125265 1606 1606 loader/SubframeLoader.cpp 1607 1607 loader/SubresourceLoader.cpp 1608 loader/SubstituteData.cpp 1608 1609 loader/TextResourceDecoder.cpp 1609 1610 loader/TextTrackLoader.cpp -
trunk/Source/WebCore/ChangeLog
r125263 r125265 1 2012-08-10 Yury Semikhatsky <yurys@chromium.org> 2 3 Web Inspector: further ResourceLoader memory instrumentation 4 https://bugs.webkit.org/show_bug.cgi?id=93692 5 6 Reviewed by Vsevolod Vlasov. 7 8 Added missing parts to ResourceLoader and its descendants memory instrumentation. 9 Added special logic for KURL and report the urls where we have them in instrumented classes. 10 11 * CMakeLists.txt: 12 * GNUmakefile.list.am: 13 * Target.pri: 14 * WebCore.gypi: 15 * WebCore.vcproj/WebCore.vcproj: 16 * WebCore.xcodeproj/project.pbxproj: 17 * css/StyleSheetContents.cpp: 18 (WebCore::StyleSheetContents::reportMemoryUsage): 19 * dom/Document.cpp: 20 (WebCore::Document::reportMemoryUsage): 21 * dom/MemoryInstrumentation.cpp: 22 (WebCore::MemoryInstrumentation::addObject): 23 (WebCore): 24 * dom/MemoryInstrumentation.h: 25 (WebCore): 26 (MemoryInstrumentation): 27 (WebCore::MemoryClassInfo::addMember): 28 * loader/MainResourceLoader.cpp: 29 (WebCore::MainResourceLoader::reportMemoryUsage): 30 (WebCore): 31 * loader/MainResourceLoader.h: 32 (MainResourceLoader): 33 * loader/SubresourceLoader.cpp: 34 (WebCore::SubresourceLoader::reportMemoryUsage): 35 (WebCore): 36 * loader/SubresourceLoader.h: 37 (SubresourceLoader): 38 * loader/SubstituteData.cpp: Copied from Source/WebCore/dom/MemoryInstrumentation.cpp. 39 (WebCore): 40 (WebCore::SubstituteData::reportMemoryUsage): 41 * loader/SubstituteData.h: 42 (WebCore): 43 (SubstituteData): 44 1 45 2012-08-10 Yoshifumi Inoue <yosin@chromium.org> 2 46 -
trunk/Source/WebCore/GNUmakefile.list.am
r125203 r125265 2988 2988 Source/WebCore/loader/SubresourceLoader.cpp \ 2989 2989 Source/WebCore/loader/SubresourceLoader.h \ 2990 Source/WebCore/loader/SubstituteData.cpp \ 2990 2991 Source/WebCore/loader/SubstituteData.h \ 2991 2992 Source/WebCore/loader/SubstituteResource.h \ -
trunk/Source/WebCore/Target.pri
r125203 r125265 836 836 loader/SubframeLoader.cpp \ 837 837 loader/SubresourceLoader.cpp \ 838 loader/SubstituteData.cpp \ 838 839 loader/TextResourceDecoder.cpp \ 839 840 loader/ThreadableLoader.cpp \ … … 1931 1932 loader/ResourceLoader.h \ 1932 1933 loader/SubresourceLoader.h \ 1934 loader/SubstituteData.h \ 1933 1935 loader/TextResourceDecoder.h \ 1934 1936 loader/TextTrackLoader.h \ -
trunk/Source/WebCore/WebCore.gypi
r125263 r125265 189 189 'loader/SubframeLoader.h', 190 190 'loader/SubresourceLoader.h', 191 'loader/SubstituteData.cpp', 191 192 'loader/SubstituteData.h', 192 193 'loader/SubstituteResource.h', -
trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj
r125203 r125265 27632 27632 </File> 27633 27633 <File 27634 RelativePath="..\loader\SubstituteData.cpp" 27635 > 27636 </File> 27637 <File 27634 27638 RelativePath="..\loader\SubstituteData.h" 27635 27639 > -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r125203 r125265 6145 6145 F33F053D120B0DA500E5743A /* InspectorDebuggerAgent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F33F053B120B0DA500E5743A /* InspectorDebuggerAgent.cpp */; }; 6146 6146 F33F053E120B0DA500E5743A /* InspectorDebuggerAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = F33F053C120B0DA500E5743A /* InspectorDebuggerAgent.h */; }; 6147 F343A70A15D3F56E0032D016 /* SubstituteData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F343A70915D3F56E0032D016 /* SubstituteData.cpp */; }; 6147 6148 F344C7141125B82C00F26EEE /* InspectorFrontendClient.h in Headers */ = {isa = PBXBuildFile; fileRef = F344C7121125B82C00F26EEE /* InspectorFrontendClient.h */; settings = {ATTRIBUTES = (Private, ); }; }; 6148 6149 F344C75311294D9D00F26EEE /* InspectorFrontendClientLocal.h in Headers */ = {isa = PBXBuildFile; fileRef = F344C75211294D9D00F26EEE /* InspectorFrontendClientLocal.h */; settings = {ATTRIBUTES = (Private, ); }; }; … … 13488 13489 F33F053B120B0DA500E5743A /* InspectorDebuggerAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorDebuggerAgent.cpp; sourceTree = "<group>"; }; 13489 13490 F33F053C120B0DA500E5743A /* InspectorDebuggerAgent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorDebuggerAgent.h; sourceTree = "<group>"; }; 13491 F343A70915D3F56E0032D016 /* SubstituteData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SubstituteData.cpp; sourceTree = "<group>"; }; 13490 13492 F344C7121125B82C00F26EEE /* InspectorFrontendClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorFrontendClient.h; sourceTree = "<group>"; }; 13491 13493 F344C75211294D9D00F26EEE /* InspectorFrontendClientLocal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorFrontendClientLocal.h; sourceTree = "<group>"; }; … … 20564 20566 93E227DF0AF589AD00D48324 /* SubresourceLoader.cpp */, 20565 20567 656D37300ADBA5DE00A4554D /* SubresourceLoader.h */, 20568 F343A70915D3F56E0032D016 /* SubstituteData.cpp */, 20566 20569 659A7D120B6DB4D9001155B3 /* SubstituteData.h */, 20567 20570 1A8F6B010DB53006001DB794 /* SubstituteResource.h */, … … 28063 28066 93E227E40AF589AD00D48324 /* SubresourceLoader.cpp in Sources */, 28064 28067 7E37EF2E1339208800B29250 /* SubresourceLoaderCF.cpp in Sources */, 28068 F343A70A15D3F56E0032D016 /* SubstituteData.cpp in Sources */, 28065 28069 93B2D8180F9920EE006AE6B2 /* SuddenTermination.mm in Sources */, 28066 28070 087558C513B4A57D00F49307 /* SurrogatePairAwareTextIterator.cpp in Sources */, -
trunk/Source/WebCore/css/StyleSheetContents.cpp
r124884 r125265 487 487 MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS); 488 488 info.addMember(m_originalURL); 489 info.addMember(m_finalURL); 489 490 info.addMember(m_encodingFromCharsetRule); 490 491 info.addVector(m_importRules); -
trunk/Source/WebCore/dom/Document.cpp
r125222 r125265 6095 6095 ContainerNode::reportMemoryUsage(memoryObjectInfo); 6096 6096 info.addVector(m_customFonts); 6097 info.addMember(m_url); 6098 info.addMember(m_baseURL); 6099 info.addMember(m_baseURLOverride); 6100 info.addMember(m_baseElementURL); 6101 info.addMember(m_cookieURL); 6102 info.addMember(m_firstPartyForCookies); 6097 6103 info.addMember(m_documentURI); 6098 6104 info.addMember(m_baseTarget); -
trunk/Source/WebCore/dom/MemoryInstrumentation.cpp
r124768 r125265 32 32 #include "MemoryInstrumentation.h" 33 33 34 #include "KURL.h" 34 35 #include <wtf/text/StringImpl.h> 35 36 #include <wtf/text/WTFString.h> … … 49 50 } 50 51 52 void MemoryInstrumentation::addObject(const KURL& url, ObjectType objectType) 53 { 54 if (visited(&url)) 55 return; 56 addObject(url.string(), objectType); 57 if (url.innerURL()) 58 addObject(url.innerURL(), objectType); 59 } 60 51 61 } // namespace WebCore -
trunk/Source/WebCore/dom/MemoryInstrumentation.h
r124884 r125265 42 42 43 43 template <typename T> class DataRef; 44 class KURL; 44 45 class MemoryObjectInfo; 45 46 … … 104 105 void addObject(const String&, ObjectType); 105 106 void addObject(const StringImpl*, ObjectType); 107 void addObject(const KURL&, ObjectType); 106 108 template <typename T> void addInstrumentedObject(const T& t, ObjectType ownerObjectType) { OwningTraits<T>::addInstrumentedObject(this, t, ownerObjectType); } 107 109 template <typename HashMapType> void addHashMap(const HashMapType&, ObjectType, bool contentOnly = false); … … 208 210 void addMember(const AtomicString& string) { m_memoryInstrumentation->addObject((const String&)string, m_objectType); } 209 211 void addMember(const StringImpl* string) { m_memoryInstrumentation->addObject(string, m_objectType); } 212 void addMember(const KURL& url) { m_memoryInstrumentation->addObject(url, m_objectType); } 210 213 211 214 private: -
trunk/Source/WebCore/loader/MainResourceLoader.cpp
r123088 r125265 545 545 } 546 546 547 void MainResourceLoader::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 548 { 549 MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::Loader); 550 ResourceLoader::reportMemoryUsage(memoryObjectInfo); 551 info.addMember(m_initialRequest); 552 info.addInstrumentedMember(m_substituteData); 553 info.addMember(m_dataLoadTimer); 554 } 555 547 556 void MainResourceLoader::handleEmptyLoad(const KURL& url, bool forURLScheme) 548 557 { -
trunk/Source/WebCore/loader/MainResourceLoader.h
r123438 r125265 74 74 bool isLoadingMultipartContent() const { return m_loadingMultipartContent; } 75 75 76 virtual void reportMemoryUsage(MemoryObjectInfo*) const OVERRIDE; 77 76 78 private: 77 79 explicit MainResourceLoader(Frame*); -
trunk/Source/WebCore/loader/SubresourceLoader.cpp
r119918 r125265 37 37 #include "Logging.h" 38 38 #include "MemoryCache.h" 39 #include "MemoryInstrumentation.h" 39 40 #include "SecurityOrigin.h" 40 41 #include "SecurityPolicy.h" … … 128 129 129 130 ResourceLoader::cancel(); 131 } 132 133 void SubresourceLoader::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 134 { 135 MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::Loader); 136 ResourceLoader::reportMemoryUsage(memoryObjectInfo); 137 info.addInstrumentedMember(m_resource); 138 info.addInstrumentedMember(m_document); 139 info.addMember(m_requestCountTracker); 130 140 } 131 141 -
trunk/Source/WebCore/loader/SubresourceLoader.h
r119759 r125265 47 47 48 48 void cancelIfNotFinishing(); 49 50 virtual void reportMemoryUsage(MemoryObjectInfo*) const OVERRIDE; 49 51 50 52 private: -
trunk/Source/WebCore/loader/SubstituteData.cpp
r125264 r125265 30 30 31 31 #include "config.h" 32 #include "SubstituteData.h" 33 32 34 #include "MemoryInstrumentation.h" 33 34 #include <wtf/text/StringImpl.h>35 #include <wtf/text/WTFString.h>36 35 37 36 namespace WebCore { 38 37 39 void MemoryInstrumentation::addObject(const String& string, ObjectType objectType)38 void SubstituteData::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const 40 39 { 41 addObject(string.impl(), objectType); 40 MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::Loader); 41 info.addInstrumentedMember(m_content); 42 info.addMember(m_mimeType); 43 info.addMember(m_textEncoding); 44 info.addMember(m_failingURL); 45 info.addMember(m_responseURL); 42 46 } 43 47 44 void MemoryInstrumentation::addObject(const StringImpl* stringImpl, ObjectType objectType)45 {46 if (!stringImpl || visited(stringImpl))47 return;48 countObjectSize(objectType, stringImpl->sizeInBytes());49 48 } 50 51 } // namespace WebCore -
trunk/Source/WebCore/loader/SubstituteData.h
r35900 r125265 35 35 namespace WebCore { 36 36 37 class MemoryObjectInfo; 38 37 39 class SubstituteData { 38 40 public: … … 55 57 const KURL& failingURL() const { return m_failingURL; } 56 58 const KURL& responseURL() const { return m_responseURL; } 59 60 void reportMemoryUsage(MemoryObjectInfo*) const; 57 61 58 62 private:
Note: See TracChangeset
for help on using the changeset viewer.