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); } }