mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-04 02:57:38 +00:00
a75561bd62
This is a follow-up to bug 1409249. There are a lot of places where our factory singleton constructors either don't correctly handle their returned references being released by the component manager, or do handle it, but in ways that are not obvious. This patch handles a few places where we can sometimes wind up with dangling singleton pointers, adds some explanatory comments and sanity check assertions, and replaces some uses of manual refcounting with StaticRefPtr and ClearOnShutdown. There are still some places where we may wind up with odd behavior if the first QI for a getService call fails. In those cases, we wind up destroying the first instance of a service that we create, and re-creating a new one later. MozReview-Commit-ID: ANYndvd7aZx --HG-- extra : rebase_source : acfb0611a028fef6b9387eb5d1d9e285782fbc7c |
||
---|---|---|
.. | ||
moz.build | ||
nsCPrefetchService.h | ||
nsIOfflineCacheUpdate.idl | ||
nsIPrefetchService.idl | ||
nsOfflineCacheUpdate.cpp | ||
nsOfflineCacheUpdate.h | ||
nsOfflineCacheUpdateService.cpp | ||
nsPrefetchService.cpp | ||
nsPrefetchService.h | ||
OfflineCacheUpdateChild.cpp | ||
OfflineCacheUpdateChild.h | ||
OfflineCacheUpdateGlue.cpp | ||
OfflineCacheUpdateGlue.h | ||
OfflineCacheUpdateParent.cpp | ||
OfflineCacheUpdateParent.h | ||
POfflineCacheUpdate.ipdl |