Bug 707870 - Disconnect mListenerManager in nsDOMEventTargetHelper instead of expecting inheriting classes to do it. r=smaug

This commit is contained in:
Mounir Lamouri 2011-12-08 16:31:14 +08:00
parent 7d9003960a
commit 094d224262
16 changed files with 9 additions and 61 deletions

View File

@ -88,12 +88,6 @@ FileIOObject::FileIOObject()
mTotal(0), mTransferred(0)
{}
FileIOObject::~FileIOObject()
{
if (mListenerManager)
mListenerManager->Disconnect();
}
void
FileIOObject::StartProgressEventTimer()
{

View File

@ -63,7 +63,6 @@ class FileIOObject : public nsDOMEventTargetWrapperCache,
{
public:
FileIOObject();
~FileIOObject();
NS_DECL_ISUPPORTS_INHERITED

View File

@ -97,11 +97,6 @@ nsEventSource::nsEventSource() :
nsEventSource::~nsEventSource()
{
Close();
if (mListenerManager) {
mListenerManager->Disconnect();
mListenerManager = nsnull;
}
}
//-----------------------------------------------------------------------------

View File

@ -120,10 +120,6 @@ nsInProcessTabChildGlobal::nsInProcessTabChildGlobal(nsIDocShell* aShell,
nsInProcessTabChildGlobal::~nsInProcessTabChildGlobal()
{
NS_ASSERTION(!mCx, "Couldn't release JSContext?!?");
if (mListenerManager) {
mListenerManager->Disconnect();
}
}
nsresult

View File

@ -400,10 +400,7 @@ nsWebSocket::nsWebSocket() : mKeepingAlive(false),
nsWebSocket::~nsWebSocket()
{
NS_ABORT_IF_FALSE(NS_IsMainThread(), "Not running on main thread");
if (mListenerManager) {
mListenerManager->Disconnect();
mListenerManager = nsnull;
}
Disconnect();
nsLayoutStatics::Release();
}

View File

@ -401,13 +401,6 @@ nsXHREventTarget::SetOnloadend(nsIDOMEventListener* aOnLoadend)
/////////////////////////////////////////////
nsXMLHttpRequestUpload::~nsXMLHttpRequestUpload()
{
if (mListenerManager) {
mListenerManager->Disconnect();
}
}
DOMCI_DATA(XMLHttpRequestUpload, nsXMLHttpRequestUpload)
NS_INTERFACE_MAP_BEGIN(nsXMLHttpRequestUpload)
@ -447,10 +440,6 @@ nsXMLHttpRequest::nsXMLHttpRequest()
nsXMLHttpRequest::~nsXMLHttpRequest()
{
if (mListenerManager) {
mListenerManager->Disconnect();
}
if (mState & (XML_HTTP_REQUEST_STOPPED |
XML_HTTP_REQUEST_SENT |
XML_HTTP_REQUEST_LOADING)) {

View File

@ -100,7 +100,6 @@ public:
mOwner = aOwner;
mScriptContext = aScriptContext;
}
virtual ~nsXMLHttpRequestUpload();
NS_DECL_ISUPPORTS_INHERITED
NS_FORWARD_NSIXMLHTTPREQUESTEVENTTARGET(nsXHREventTarget::)
NS_FORWARD_NSIDOMEVENTTARGET(nsXHREventTarget::)

View File

@ -90,6 +90,13 @@ NS_IMPL_CYCLE_COLLECTING_RELEASE(nsDOMEventTargetHelper)
NS_IMPL_DOMTARGET_DEFAULTS(nsDOMEventTargetHelper);
nsDOMEventTargetHelper::~nsDOMEventTargetHelper()
{
if (mListenerManager) {
mListenerManager->Disconnect();
}
}
NS_IMETHODIMP
nsDOMEventTargetHelper::RemoveEventListener(const nsAString& aType,
nsIDOMEventListener* aListener,

View File

@ -69,7 +69,7 @@ class nsDOMEventTargetHelper : public nsIDOMEventTarget
{
public:
nsDOMEventTargetHelper() {}
virtual ~nsDOMEventTargetHelper() {}
virtual ~nsDOMEventTargetHelper();
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
NS_DECL_CYCLE_COLLECTION_CLASS(nsDOMEventTargetHelper)

View File

@ -91,13 +91,6 @@ BatteryManager::BatteryManager()
{
}
BatteryManager::~BatteryManager()
{
if (mListenerManager) {
mListenerManager->Disconnect();
}
}
void
BatteryManager::Init(nsPIDOMWindow *aWindow, nsIScriptContext* aScriptContext)
{

View File

@ -66,7 +66,6 @@ public:
NS_FORWARD_NSIDOMEVENTTARGET(nsDOMEventTargetWrapperCache::)
BatteryManager();
virtual ~BatteryManager();
void Init(nsPIDOMWindow *aWindow, nsIScriptContext* aScriptContext);
void Shutdown();

View File

@ -203,10 +203,6 @@ IDBDatabase::~IDBDatabase()
mgr->UnregisterDatabase(this);
}
}
if (mListenerManager) {
mListenerManager->Disconnect();
}
}
void

View File

@ -77,10 +77,6 @@ IDBRequest::~IDBRequest()
// false.
UnrootResultVal();
}
if (mListenerManager) {
mListenerManager->Disconnect();
}
}
// static

View File

@ -181,10 +181,6 @@ IDBTransaction::~IDBTransaction()
NS_ASSERTION(!mConnection, "Should have called CommitOrRollback!");
NS_ASSERTION(!mCreating, "Should have been cleared already!");
NS_ASSERTION(mFiredCompleteOrAbort, "Should have fired event!");
if (mListenerManager) {
mListenerManager->Disconnect();
}
}
void

View File

@ -999,13 +999,6 @@ TabChildGlobal::TabChildGlobal(TabChild* aTabChild)
aTabChild->GetJSContext());
}
TabChildGlobal::~TabChildGlobal()
{
if (mListenerManager) {
mListenerManager->Disconnect();
}
}
NS_IMPL_CYCLE_COLLECTION_CLASS(TabChildGlobal)
NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED(TabChildGlobal,

View File

@ -94,7 +94,6 @@ class TabChildGlobal : public nsDOMEventTargetWrapperCache,
{
public:
TabChildGlobal(TabChild* aTabChild);
~TabChildGlobal();
NS_DECL_ISUPPORTS_INHERITED
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(TabChildGlobal, nsDOMEventTargetWrapperCache)
NS_FORWARD_SAFE_NSIFRAMEMESSAGEMANAGER(mMessageManager)