Bug 56851, regression in XPInstall dialog. r=jst, sr=vidur
git-svn-id: svn://10.0.0.236/trunk@81482 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
0a10896512
commit
9f6c7e98d5
@ -3044,13 +3044,16 @@ NS_IMETHODIMP GlobalWindowImpl::OpenInternal(JSContext *cx,
|
||||
nsCOMPtr<nsIScriptSecurityManager> secMan;
|
||||
if (uriToLoad) {
|
||||
// Get security manager, check to see if URI is allowed.
|
||||
// Don't call CheckLoadURI for dialogs - see bug 56851
|
||||
// The security of this function depends on window.openDialog being
|
||||
// inaccessible from web scripts
|
||||
nsCOMPtr<nsIURI> newUrl;
|
||||
nsCOMPtr<nsIScriptContext> scriptCX;
|
||||
nsJSUtils::nsGetStaticScriptContext(cx, (JSObject *) mScriptObject,
|
||||
getter_AddRefs(scriptCX));
|
||||
if (!scriptCX ||
|
||||
NS_FAILED(scriptCX->GetSecurityManager(getter_AddRefs(secMan))) ||
|
||||
NS_FAILED(secMan->CheckLoadURIFromScript(cx, uriToLoad)))
|
||||
((!aDialog && NS_FAILED(secMan->CheckLoadURIFromScript(cx, uriToLoad)))))
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user