Bug 1444230 - Add binding document size to memory report. r?njn draft
authorXidorn Quan <me@upsuper.org>
Thu, 22 Feb 2018 09:32:02 +1100
changeset 765061 ec3fd5c39ecf86ad37fa43f736198527534a6394
parent 765060 71048cd42605438d7c3226323097e6429d40aed7
push id101952
push userxquan@mozilla.com
push dateThu, 08 Mar 2018 22:38:30 +0000
reviewersnjn
bugs1444230
milestone60.0a1
Bug 1444230 - Add binding document size to memory report. r?njn MozReview-Commit-ID: AiY64LDoZmD
dom/xbl/nsXBLDocumentInfo.cpp
--- a/dom/xbl/nsXBLDocumentInfo.cpp
+++ b/dom/xbl/nsXBLDocumentInfo.cpp
@@ -323,16 +323,22 @@ AssertInCompilationScope()
   MOZ_ASSERT(xpc::CompilationScope() == JS::CurrentGlobalOrNull(cx));
 }
 #endif
 
 size_t
 nsXBLDocumentInfo::SizeOfIncludingThis(MallocSizeOf aMallocSizeOf) const
 {
   size_t n = aMallocSizeOf(this);
+  if (mDocument) {
+    SizeOfState state(aMallocSizeOf);
+    nsWindowSizes windowSizes(state);
+    mDocument->DocAddSizeOfIncludingThis(windowSizes);
+    n += windowSizes.getTotalSize();
+  }
   if (mBindingTable) {
     n += mBindingTable->ShallowSizeOfIncludingThis(aMallocSizeOf);
     for (auto iter = mBindingTable->Iter(); !iter.Done(); iter.Next()) {
       nsXBLPrototypeBinding* binding = iter.UserData();
       n += binding->SizeOfIncludingThis(aMallocSizeOf);
     }
   }
   return n;