these files were moved from their old home in extensions/cookie. the CVS
records cannot be simply moved because attic files exist in the new location,
and so i will unfortunately take cvs blame for all. that's unfair to dwitte
who has made so many wonderful changes to the cookies backend code! ;-)
so, to find out the real cvs blame for these files, please look at the
following cvs remove'd files:
mozilla/extensions/cookie/nsCookieService.cpp
mozilla/extensions/cookie/nsCookieService.h
mozilla/extensions/cookie/nsCookie.cpp
mozilla/extensions/cookie/nsCookie.h
mozilla/extensions/cookie/nsICookie2.idl
mozilla/extensions/cookie/nsICookieConsent.idl
mozilla/extensions/cookie/nsICookie.idl
mozilla/extensions/cookie/nsICookieManager2.idl
mozilla/extensions/cookie/nsICookieManager.idl
mozilla/extensions/cookie/nsICookiePermission.idl
This changes the nsCookieService singleton fu to AddRef only once, rather than twice (and removes the corresponding Release in the module dtor). The double-addref was making the cookie module stick around until XPCOM starts shutting down modules, which is too late to release things we own (observer service, prefbranch, etc). So we were violating XPCOM shutdown rules without knowing it.
So, the tracemalloc leak stats on Brad should halve. :)
b=209571, r=alecf, sr=darin.
- moves core cookie code into nsCookieService.{h,cpp}, and kills nsCookies & nsCookieManager
- makes nsCookieService a singleton object that implements nsICookieManager also
- improves mem efficiency of the nsCookie object, and removes unneeded conversions
- adds an nsICookie2 interface to extend the sucky nsICookie.
- fixes a few (unrelated) trivial things while I'm in there (use ->ASCII instead of ->UTF8, and remove some erroneous stuff in nsPermissionManager.h)
cvs removal of nsCookies.{h,cpp} and nsCookieManager.{h,cpp} will follow; to find old blame info and logs for those files, look in attic.
burn the witch!
b=200632, r=alecf, sr=darin.