From 052ff6ff99d2b08dac5e2482ec37e36145e452f8 Mon Sep 17 00:00:00 2001 From: "danm%netscape.com" Date: Tue, 22 May 2001 02:02:08 +0000 Subject: [PATCH] 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 --- mozilla/xpfe/appshell/src/nsWebShellWindow.cpp | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/mozilla/xpfe/appshell/src/nsWebShellWindow.cpp b/mozilla/xpfe/appshell/src/nsWebShellWindow.cpp index d4287b373a9..2ea08e876d1 100644 --- a/mozilla/xpfe/appshell/src/nsWebShellWindow.cpp +++ b/mozilla/xpfe/appshell/src/nsWebShellWindow.cpp @@ -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 domWindow, topDOMWindow; - - (void) aProgress->GetDOMWindow(getter_AddRefs(domWindow)); - if (domWindow) { - domWindow->GetTop(getter_AddRefs(topDOMWindow)); - - if (domWindow != topDOMWindow) { + nsCOMPtr eventWin; + aProgress->GetDOMWindow(getter_AddRefs(eventWin)); + nsCOMPtr eventPWin(do_QueryInterface(eventWin)); + if (eventPWin) { + nsCOMPtr rootiwin; + eventPWin->GetPrivateRoot(getter_AddRefs(rootiwin)); + nsCOMPtr rootPWin(do_QueryInterface(rootiwin)); + if (eventPWin != rootPWin) return NS_OK; - } } mChromeLoaded = PR_TRUE;