зеркало из https://github.com/mozilla/gecko-dev.git
Backing out patch for bug 353851 to see if it fixes test failures.
This commit is contained in:
Родитель
88be18b937
Коммит
ddabff5a22
|
@ -930,6 +930,8 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(nsGlobalWindow)
|
||||||
|
|
||||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mContext)
|
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mContext)
|
||||||
|
|
||||||
|
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mOpener)
|
||||||
|
|
||||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mControllers)
|
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mControllers)
|
||||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mArguments)
|
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mArguments)
|
||||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mArgumentsLast)
|
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mArgumentsLast)
|
||||||
|
@ -972,6 +974,8 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
|
||||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(nsGlobalWindow)
|
NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(nsGlobalWindow)
|
||||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mContext)
|
NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mContext)
|
||||||
|
|
||||||
|
NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mOpener)
|
||||||
|
|
||||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mControllers)
|
NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mControllers)
|
||||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mArguments)
|
NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mArguments)
|
||||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mArgumentsLast)
|
NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mArgumentsLast)
|
||||||
|
@ -2069,9 +2073,7 @@ nsGlobalWindow::SetOpenerWindow(nsIDOMWindowInternal* aOpener,
|
||||||
NS_ASSERTION(aOpener || !aOriginalOpener,
|
NS_ASSERTION(aOpener || !aOriginalOpener,
|
||||||
"Shouldn't set mHadOriginalOpener if aOpener is null");
|
"Shouldn't set mHadOriginalOpener if aOpener is null");
|
||||||
|
|
||||||
mOpener = do_GetWeakReference(aOpener);
|
mOpener = aOpener;
|
||||||
NS_ASSERTION(mOpener, "Opener must support weak references!");
|
|
||||||
|
|
||||||
if (aOriginalOpener) {
|
if (aOriginalOpener) {
|
||||||
mHadOriginalOpener = PR_TRUE;
|
mHadOriginalOpener = PR_TRUE;
|
||||||
}
|
}
|
||||||
|
@ -2799,15 +2801,11 @@ nsGlobalWindow::GetOpener(nsIDOMWindowInternal** aOpener)
|
||||||
FORWARD_TO_OUTER(GetOpener, (aOpener), NS_ERROR_NOT_INITIALIZED);
|
FORWARD_TO_OUTER(GetOpener, (aOpener), NS_ERROR_NOT_INITIALIZED);
|
||||||
|
|
||||||
*aOpener = nsnull;
|
*aOpener = nsnull;
|
||||||
|
|
||||||
nsCOMPtr<nsIDOMWindowInternal> opener = do_QueryReferent(mOpener);
|
|
||||||
if (!opener) {
|
|
||||||
return NS_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
// First, check if we were called from a privileged chrome script
|
// First, check if we were called from a privileged chrome script
|
||||||
|
|
||||||
if (nsContentUtils::IsCallerTrustedForRead()) {
|
if (nsContentUtils::IsCallerTrustedForRead()) {
|
||||||
NS_ADDREF(*aOpener = opener);
|
*aOpener = mOpener;
|
||||||
|
NS_IF_ADDREF(*aOpener);
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2827,7 +2825,7 @@ nsGlobalWindow::GetOpener(nsIDOMWindowInternal** aOpener)
|
||||||
PRUint32 appType;
|
PRUint32 appType;
|
||||||
nsresult rv = openerRootDocShell->GetAppType(&appType);
|
nsresult rv = openerRootDocShell->GetAppType(&appType);
|
||||||
if (NS_SUCCEEDED(rv) && appType != nsIDocShell::APP_TYPE_MAIL) {
|
if (NS_SUCCEEDED(rv) && appType != nsIDocShell::APP_TYPE_MAIL) {
|
||||||
*aOpener = opener;
|
*aOpener = mOpener;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -663,7 +663,7 @@ protected:
|
||||||
PRPackedBool mIsChrome : 1;
|
PRPackedBool mIsChrome : 1;
|
||||||
|
|
||||||
nsCOMPtr<nsIScriptContext> mContext;
|
nsCOMPtr<nsIScriptContext> mContext;
|
||||||
nsWeakPtr mOpener;
|
nsCOMPtr<nsIDOMWindowInternal> mOpener;
|
||||||
nsCOMPtr<nsIControllers> mControllers;
|
nsCOMPtr<nsIControllers> mControllers;
|
||||||
nsCOMPtr<nsIArray> mArguments;
|
nsCOMPtr<nsIArray> mArguments;
|
||||||
nsCOMPtr<nsIArray> mArgumentsLast;
|
nsCOMPtr<nsIArray> mArgumentsLast;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче