force windows based on modal windows to themselves be modal. bug 56677 r=brendan,hyatt

git-svn-id: svn://10.0.0.236/trunk@82449 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
danm%netscape.com 2000-11-09 00:18:38 +00:00
parent 5f6194b29e
commit 723b66ed02

View File

@ -3038,12 +3038,16 @@ NS_IMETHODIMP GlobalWindowImpl::OpenInternal(JSContext *cx,
if (!newDocShellItem) {
windowIsNew = PR_TRUE;
if (chromeFlags & nsIWebBrowserChrome::CHROME_MODAL) {
PRBool weAreModal = PR_FALSE;
treeOwner->IsModal(&weAreModal);
if (weAreModal || (chromeFlags & nsIWebBrowserChrome::CHROME_MODAL)) {
eventQService = do_GetService(kEventQueueServiceCID);
if (eventQService &&
NS_SUCCEEDED(eventQService->
PushThreadEventQueue(getter_AddRefs(modalEventQueue))))
windowIsModal = PR_TRUE;
// in case we added this because weAreModal
chromeFlags |= nsIWebBrowserChrome::CHROME_MODAL | nsIWebBrowserChrome::CHROME_DEPENDENT;
}
treeOwner->GetNewWindow(chromeFlags, getter_AddRefs(newDocShellItem));
NS_ENSURE_TRUE(newDocShellItem, NS_ERROR_FAILURE);