re-applying danm's changes after finding out they weren't cause for startup time regression. bug 124570. (patches originally from bugs 107937 and 77020)

git-svn-id: svn://10.0.0.236/trunk@114162 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
endico%mozilla.org
2002-02-10 07:12:16 +00:00
parent 2347dd46cf
commit e6ccf8ec15
3 changed files with 21 additions and 24 deletions

View File

@@ -499,16 +499,14 @@ nsAppShellService::JustCreateTopWindow(nsIXULWindow *aParent,
widgetInitData.mBorderStyle = NS_STATIC_CAST(enum nsBorderStyle, widgetInitData.mBorderStyle | eBorderStyle_close);
if (aChromeMask & nsIWebBrowserChrome::CHROME_WINDOW_RESIZE) {
widgetInitData.mBorderStyle = NS_STATIC_CAST(enum nsBorderStyle, widgetInitData.mBorderStyle | eBorderStyle_resizeh);
/* Associate the resize flag with min/max buttons and system menu.
but not for dialogs. This is logic better associated with the
platform implementation, and partially covered by the
eBorderStyle_default style. But since I know of no platform
that wants min/max buttons on dialogs, it works here, too.
If you have such a platform, this is where the fun starts: */
// only resizable windows get the maximize button (but not dialogs)
if (!(aChromeMask & nsIWebBrowserChrome::CHROME_OPENAS_DIALOG))
widgetInitData.mBorderStyle = NS_STATIC_CAST(enum nsBorderStyle, widgetInitData.mBorderStyle | eBorderStyle_minimize | eBorderStyle_maximize | eBorderStyle_menu);
widgetInitData.mBorderStyle = NS_STATIC_CAST(enum nsBorderStyle, widgetInitData.mBorderStyle | eBorderStyle_maximize);
}
// Min button only?
// all windows (except dialogs) get minimize buttons and the system menu
if (!(aChromeMask & nsIWebBrowserChrome::CHROME_OPENAS_DIALOG))
widgetInitData.mBorderStyle = NS_STATIC_CAST(enum nsBorderStyle, widgetInitData.mBorderStyle | eBorderStyle_minimize | eBorderStyle_menu);
// but anyone can explicitly ask for a minimize button
if (aChromeMask & nsIWebBrowserChrome::CHROME_WINDOW_MIN) {
widgetInitData.mBorderStyle = NS_STATIC_CAST(enum nsBorderStyle, widgetInitData.mBorderStyle | eBorderStyle_minimize );
}