nsDocument::ContentStatesChanged(nsIContent* aContent1, nsIContent* aContent2, PRInt32 aStateMask) { PRInt32 i; for (i = mObservers.Count() - 1; i >= 0; --i) { nsIDocumentObserver *observer = NS_STATIC_CAST(nsIDocumentObserver *, mObservers.ElementAt(i));  observer->ContentStatesChanged(this, aContent1, aContent2, aStateMask); } }
NS_IMETHOD ContentStatesChanged(nsIDocument* aDocument, nsIContent* aContent1, nsIContent* aContent2, nsIAtom* aChangedPseudoClass) { return NS_OK; }
nsDocument::ContentStatesChanged(nsIContent* aContent1, nsIContent* aContent2,                                 PRInt32 aStateMask){  PRInt32 i;  for (i = mObservers.Count() - 1; i >= 0; --i) {    nsIDocumentObserver *observer =      NS_STATIC_CAST(nsIDocumentObserver *, mObservers.ElementAt(i));    observer->ContentStatesChanged(this, aContent1, aContent2, aStateMask);  }}