if(mMediumCascadeTable){ PRUint32 count; count = mMediumCascadeTable->Count(); localSize = sizeof(PLHashTable); if(count > 0){ aSize += sizeof(PLHashEntry) * count;  nsCOMPtr<nsIAtom> tag2 = getter_AddRefs(NS_NewAtom("RuleCascade")); CascadeSizeEnumData data(aSizeOfHandler, uniqueItems, tag2); mMediumCascadeTable->Enumerate(CascadeSizeEnumFunc, &data); }
if(mFirstChild){ PRUint32 childSize=0; mFirstChild->SizeOf(aSizeOfHandler, childSize);
void CSSRuleProcessor::SizeOf(nsISizeOfHandler *aSizeOfHandler, PRUint32 &aSize){  NS_ASSERTION(aSizeOfHandler != nsnull, "SizeOf handler cannot be null");  // first get the unique items collection  UNIQUE_STYLE_ITEMS(uniqueItems);  if(! uniqueItems->AddItem((void*)this)){    return;  }  PRUint32 localSize=0;  // create a tag for this instance  nsCOMPtr<nsIAtom> tag;  tag = getter_AddRefs(NS_NewAtom("CSSRuleProcessor"));  // get the size of an empty instance and add to the sizeof handler  aSize = sizeof(CSSRuleProcessor);  // collect sizes for the data  // - mSheets  // - mMediumCascadeTable    // sheets first  if(mSheets && uniqueItems->AddItem(mSheets)){    PRUint32 sheetCount, curSheet, localSize2;    mSheets->Count(&sheetCount);    for(curSheet=0; curSheet < sheetCount; curSheet++){      nsICSSStyleSheet *pSheet = (nsICSSStyleSheet *)mSheets->ElementAt(curSheet);      if(pSheet && uniqueItems->AddItem((void*)pSheet)){        pSheet->SizeOf(aSizeOfHandler, localSize2);        // XXX aSize += localSize2;      }    }  }  // and for the medium cascade table we account for the hash table overhead,  // and then compute the sizeof each rule-cascade in the table  if(mMediumCascadeTable){    PRUint32 count;    count = mMediumCascadeTable->Count();    localSize = sizeof(PLHashTable);    if(count > 0){      aSize += sizeof(PLHashEntry) * count;      // now go ghrough each RuleCascade in the table      nsCOMPtr<nsIAtom> tag2 = getter_AddRefs(NS_NewAtom("RuleCascade"));      CascadeSizeEnumData data(aSizeOfHandler, uniqueItems, tag2);      mMediumCascadeTable->Enumerate(CascadeSizeEnumFunc, &data);    }  }    // now add the size of the RuleProcessor  aSizeOfHandler->AddSize(tag,aSize);}