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;