struct URL {   URL(nsIURI* aURI, const PRUnichar* aString) : mURI(aURI), mString(nsCRT::strdup(aString)), mRefCnt(0) { MOZ_COUNT_CTOR(nsCSSValue::URL); }
struct nsCSSValue::Image : public nsCSSValue::URL {    Image(nsIURI* aURI, const PRUnichar* aString, nsIDocument* aDocument); ~Image();    nsCOMPtr<imgIRequest> mRequest;   void AddRef() { ++mRefCnt; } void Release() { if (--mRefCnt == 0) delete this; } };
  MOZ_DECL_CTOR_COUNTER(nsCSSValue::URL)  struct URL {    // Caller must delete this object immediately if the allocation of    // |mString| fails.    URL(nsIURI* aURI, const PRUnichar* aString)      : mURI(aURI),        mString(nsCRT::strdup(aString)),        mRefCnt(0)    {      MOZ_COUNT_CTOR(nsCSSValue::URL);    }