the check to abort the onload handler for frames now properly handles sandboxing. bug 81787 r=hyatt,pavlov

git-svn-id: svn://10.0.0.236/trunk@95647 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
danm%netscape.com
2001-05-22 02:02:08 +00:00
parent 1723f56da7
commit 052ff6ff99

View File

@@ -1224,18 +1224,16 @@ nsWebShellWindow::OnStateChange(nsIWebProgress *aProgress,
if (mChromeLoaded)
return NS_OK;
//
// If this document notification is for a frame then ignore it...
//
nsCOMPtr<nsIDOMWindow> domWindow, topDOMWindow;
(void) aProgress->GetDOMWindow(getter_AddRefs(domWindow));
if (domWindow) {
domWindow->GetTop(getter_AddRefs(topDOMWindow));
if (domWindow != topDOMWindow) {
nsCOMPtr<nsIDOMWindow> eventWin;
aProgress->GetDOMWindow(getter_AddRefs(eventWin));
nsCOMPtr<nsPIDOMWindow> eventPWin(do_QueryInterface(eventWin));
if (eventPWin) {
nsCOMPtr<nsIDOMWindowInternal> rootiwin;
eventPWin->GetPrivateRoot(getter_AddRefs(rootiwin));
nsCOMPtr<nsPIDOMWindow> rootPWin(do_QueryInterface(rootiwin));
if (eventPWin != rootPWin)
return NS_OK;
}
}
mChromeLoaded = PR_TRUE;