Bug 646184 - Crash [@ nsGlobalWindow::GetLocalStorage] getting localStorage from removed frame; r=bz

This commit is contained in:
Ms2ger 2011-03-30 08:58:21 +02:00
Родитель 1d18a25e36
Коммит c0555391e5
3 изменённых файлов: 24 добавлений и 2 удалений

Просмотреть файл

@ -0,0 +1,17 @@
<!DOCTYPE html>
<html>
<head>
<script>
function boom()
{
var f = document.getElementById("f");
var w = f.contentWindow;
f.parentNode.removeChild(f);
w.localStorage;
}
</script>
</head>
<body onload="boom();"><iframe id="f" src="data:text/html,1"></iframe></body>
</html>

Просмотреть файл

@ -88,3 +88,4 @@ load 604262-1.html
load 628599-1.html
load 637214-1.svg
load 637214-2.svg
load 646184.html

Просмотреть файл

@ -7951,7 +7951,9 @@ nsGlobalWindow::GetSessionStorage(nsIDOMStorage ** aSessionStorage)
*aSessionStorage = nsnull;
nsString documentURI;
mDocument->GetDocumentURI(documentURI);
if (mDocument) {
mDocument->GetDocumentURI(documentURI);
}
nsresult rv = docShell->GetSessionStorageForPrincipal(principal,
documentURI,
@ -8035,7 +8037,9 @@ nsGlobalWindow::GetLocalStorage(nsIDOMStorage ** aLocalStorage)
NS_ENSURE_SUCCESS(rv, rv);
nsString documentURI;
mDocument->GetDocumentURI(documentURI);
if (mDocument) {
mDocument->GetDocumentURI(documentURI);
}
rv = storageManager->GetLocalStorageForPrincipal(principal,
documentURI,