зеркало из https://github.com/mozilla/pjs.git
Fixing orange from bug 402983. Make file:///foo and file:////foo#bar compare as equal URLs. r+sr=bzbarsky@mit.edu
This commit is contained in:
Родитель
9d60cec0c4
Коммит
f2a32b3bb6
|
@ -319,10 +319,24 @@ nsScriptSecurityManager::SecurityCompareURIs(nsIURI* aSourceURI,
|
|||
if (!sStrictFileOriginPolicy)
|
||||
return PR_TRUE;
|
||||
|
||||
// Otherwise they had better match
|
||||
PRBool filesAreEqual = PR_FALSE;
|
||||
nsresult rv = sourceBaseURI->Equals(targetBaseURI, &filesAreEqual);
|
||||
return NS_SUCCEEDED(rv) && filesAreEqual;
|
||||
nsCOMPtr<nsIFileURL> sourceFileURL(do_QueryInterface(sourceBaseURI));
|
||||
nsCOMPtr<nsIFileURL> targetFileURL(do_QueryInterface(targetBaseURI));
|
||||
|
||||
if (!sourceFileURL || !targetFileURL)
|
||||
return PR_FALSE;
|
||||
|
||||
nsCOMPtr<nsIFile> sourceFile, targetFile;
|
||||
|
||||
sourceFileURL->GetFile(getter_AddRefs(sourceFile));
|
||||
targetFileURL->GetFile(getter_AddRefs(targetFile));
|
||||
|
||||
if (!sourceFile || !targetFile)
|
||||
return PR_FALSE;
|
||||
|
||||
// Otherwise they had better match
|
||||
PRBool filesAreEqual = PR_FALSE;
|
||||
nsresult rv = sourceFile->Equals(targetFile, &filesAreEqual);
|
||||
return NS_SUCCEEDED(rv) && filesAreEqual;
|
||||
}
|
||||
|
||||
// Special handling for mailnews schemes
|
||||
|
|
Загрузка…
Ссылка в новой задаче