diff --git a/mozilla/content/html/document/src/nsHTMLDocument.cpp b/mozilla/content/html/document/src/nsHTMLDocument.cpp
index fcf9f205444..d44aaa2b2c7 100644
--- a/mozilla/content/html/document/src/nsHTMLDocument.cpp
+++ b/mozilla/content/html/document/src/nsHTMLDocument.cpp
@@ -1941,7 +1941,7 @@ nsHTMLDocument::OpenCommon(const nsACString& aContentType, PRBool aReplace)
do_QueryInterface((nsIHTMLDocument*)this);
rv = mScriptGlobalObject->SetNewDocument((nsDocument *)this, nsnull,
- PR_FALSE, PR_FALSE);
+ PR_FALSE);
if (NS_FAILED(rv)) {
return rv;
diff --git a/mozilla/content/xbl/src/nsXBLDocumentInfo.cpp b/mozilla/content/xbl/src/nsXBLDocumentInfo.cpp
index ccf377c747c..d1f40260e16 100644
--- a/mozilla/content/xbl/src/nsXBLDocumentInfo.cpp
+++ b/mozilla/content/xbl/src/nsXBLDocumentInfo.cpp
@@ -71,7 +71,6 @@ public:
virtual nsIScriptContext *GetContext();
virtual nsresult SetNewDocument(nsIDOMDocument *aDocument,
nsISupports *aState,
- PRBool aRemoveEventListeners,
PRBool aClearScope);
virtual void SetOpenerWindow(nsIDOMWindowInternal *aOpener);
virtual void SetGlobalObjectOwner(nsIScriptGlobalObjectOwner* aOwner);
@@ -279,7 +278,6 @@ nsXBLDocGlobalObject::GetContext()
nsresult
nsXBLDocGlobalObject::SetNewDocument(nsIDOMDocument *aDocument,
nsISupports *aState,
- PRBool aRemoveEventListeners,
PRBool aClearScope)
{
NS_NOTREACHED("waaah!");
diff --git a/mozilla/content/xul/document/src/nsXULPrototypeDocument.cpp b/mozilla/content/xul/document/src/nsXULPrototypeDocument.cpp
index f52f16829cb..4ac8ff9f0cf 100644
--- a/mozilla/content/xul/document/src/nsXULPrototypeDocument.cpp
+++ b/mozilla/content/xul/document/src/nsXULPrototypeDocument.cpp
@@ -90,7 +90,6 @@ public:
virtual nsIScriptContext *GetContext();
virtual nsresult SetNewDocument(nsIDOMDocument *aDocument,
nsISupports *aState,
- PRBool aRemoveEventListeners,
PRBool aClearScope);
virtual void SetOpenerWindow(nsIDOMWindowInternal *aOpener);
virtual void SetGlobalObjectOwner(nsIScriptGlobalObjectOwner* aOwner);
@@ -841,7 +840,6 @@ nsXULPDGlobalObject::GetContext()
nsresult
nsXULPDGlobalObject::SetNewDocument(nsIDOMDocument *aDocument,
nsISupports *aState,
- PRBool aRemoveEventListeners,
PRBool aClearScope)
{
NS_NOTREACHED("waaah!");
diff --git a/mozilla/dom/public/nsIScriptGlobalObject.h b/mozilla/dom/public/nsIScriptGlobalObject.h
index 041e364be44..d30b0930ab0 100644
--- a/mozilla/dom/public/nsIScriptGlobalObject.h
+++ b/mozilla/dom/public/nsIScriptGlobalObject.h
@@ -69,7 +69,6 @@ public:
virtual nsIScriptContext *GetContext() = 0;
virtual nsresult SetNewDocument(nsIDOMDocument *aDocument,
nsISupports *aState,
- PRBool aRemoveEventListeners,
PRBool aClearScope) = 0;
virtual void SetOpenerWindow(nsIDOMWindowInternal *aOpener)=0;
diff --git a/mozilla/dom/src/base/nsGlobalWindow.cpp b/mozilla/dom/src/base/nsGlobalWindow.cpp
index eb3125c744f..be104074c9a 100644
--- a/mozilla/dom/src/base/nsGlobalWindow.cpp
+++ b/mozilla/dom/src/base/nsGlobalWindow.cpp
@@ -804,17 +804,14 @@ NS_IMPL_ISUPPORTS1(WindowStateHolder, WindowStateHolder)
nsresult
nsGlobalWindow::SetNewDocument(nsIDOMDocument* aDocument,
nsISupports* aState,
- PRBool aRemoveEventListeners,
PRBool aClearScopeHint)
{
- return SetNewDocument(aDocument, aState, aRemoveEventListeners,
- aClearScopeHint, PR_FALSE);
+ return SetNewDocument(aDocument, aState, aClearScopeHint, PR_FALSE);
}
nsresult
nsGlobalWindow::SetNewDocument(nsIDOMDocument* aDocument,
nsISupports* aState,
- PRBool aRemoveEventListeners,
PRBool aClearScopeHint,
PRBool aIsInternalCall)
{
@@ -828,7 +825,6 @@ nsGlobalWindow::SetNewDocument(nsIDOMDocument* aDocument,
return GetOuterWindowInternal()->SetNewDocument(aDocument,
aState,
- aRemoveEventListeners,
aClearScopeHint, PR_TRUE);
}
@@ -910,12 +906,6 @@ nsGlobalWindow::SetNewDocument(nsIDOMDocument* aDocument,
PRBool reUseInnerWindow = WouldReuseInnerWindow(newDoc, PR_FALSE);
- // XXX We used to share event listeners between inner windows in special
- // circumstances (that were remarkably close to the conditions that we set
- // reUseInnerWindow in) but that left dangling pointers to the old (destroyed)
- // inner window (bug 303765). Setting this here should be a no-op.
- aRemoveEventListeners = !reUseInnerWindow;
-
// Remember the old document's principal.
nsIPrincipal *oldPrincipal = nsnull;
@@ -972,7 +962,7 @@ nsGlobalWindow::SetNewDocument(nsIDOMDocument* aDocument,
currentInner->mChromeEventHandler = nsnull;
}
- if (aRemoveEventListeners && currentInner->mListenerManager) {
+ if (!reUseInnerWindow && currentInner->mListenerManager) {
currentInner->mListenerManager->RemoveAllListeners(PR_FALSE);
currentInner->mListenerManager = nsnull;
}
@@ -1240,7 +1230,6 @@ nsGlobalWindow::SetNewDocument(nsIDOMDocument* aDocument,
::JS_DeleteProperty(cx, currentInner->mJSObject, "document");
} else {
rv = newInnerWindow->SetNewDocument(aDocument, nsnull,
- aRemoveEventListeners,
aClearScopeHint, PR_TRUE);
NS_ENSURE_SUCCESS(rv, rv);
diff --git a/mozilla/dom/src/base/nsGlobalWindow.h b/mozilla/dom/src/base/nsGlobalWindow.h
index 7b02f392c6b..f6418c2a894 100644
--- a/mozilla/dom/src/base/nsGlobalWindow.h
+++ b/mozilla/dom/src/base/nsGlobalWindow.h
@@ -155,7 +155,6 @@ public:
virtual nsIScriptContext *GetContext();
virtual nsresult SetNewDocument(nsIDOMDocument *aDocument,
nsISupports *aState,
- PRBool aRemoveEventListeners,
PRBool aClearScopeHint);
virtual void SetDocShell(nsIDocShell* aDocShell);
virtual void SetOpenerWindow(nsIDOMWindowInternal *aOpener);
@@ -280,7 +279,6 @@ protected:
nsresult SetNewDocument(nsIDOMDocument *aDocument,
nsISupports *aState,
- PRBool aRemoveEventListeners,
PRBool aClearScopeHint,
PRBool aIsInternalCall);
diff --git a/mozilla/layout/base/nsDocumentViewer.cpp b/mozilla/layout/base/nsDocumentViewer.cpp
index f1ce8901ca9..590b9116bae 100644
--- a/mozilla/layout/base/nsDocumentViewer.cpp
+++ b/mozilla/layout/base/nsDocumentViewer.cpp
@@ -856,7 +856,7 @@ DocumentViewerImpl::InitInternal(nsIWidget* aParentWidget,
nsCOMPtr domdoc(do_QueryInterface(mDocument));
if (domdoc) {
- global->SetNewDocument(domdoc, aState, PR_TRUE, PR_TRUE);
+ global->SetNewDocument(domdoc, aState, PR_TRUE);
}
}
}
@@ -1629,7 +1629,7 @@ DocumentViewerImpl::SetDOMDocument(nsIDOMDocument *aDocument)
// Set the script global object on the new document
nsCOMPtr global = do_GetInterface(container);
if (global) {
- global->SetNewDocument(aDocument, nsnull, PR_TRUE, PR_TRUE);
+ global->SetNewDocument(aDocument, nsnull, PR_TRUE);
}
}