зеркало из https://github.com/mozilla/pjs.git
Fix bug 176421: even if window.open() hides parts of the chrome with chrome flags, make sure the user can show the toolbar and bookmarks toolbar.
This commit is contained in:
Родитель
85ba36e726
Коммит
cc7ac19eb2
|
@ -597,6 +597,7 @@ enum BWCOpenDest {
|
||||||
|
|
||||||
if ( mChromeMask && !(mChromeMask & nsIWebBrowserChrome::CHROME_STATUSBAR) ) {
|
if ( mChromeMask && !(mChromeMask & nsIWebBrowserChrome::CHROME_STATUSBAR) ) {
|
||||||
// remove the status bar at the bottom
|
// remove the status bar at the bottom
|
||||||
|
// XXX we should just hide it and allow the user to show it again
|
||||||
[mStatusBar removeFromSuperview];
|
[mStatusBar removeFromSuperview];
|
||||||
mustResizeChrome = YES;
|
mustResizeChrome = YES;
|
||||||
|
|
||||||
|
@ -697,10 +698,6 @@ enum BWCOpenDest {
|
||||||
pref->RegisterCallback(gTabBarVisiblePref, TabBarVisiblePrefChangedCallback, self);
|
pref->RegisterCallback(gTabBarVisiblePref, TabBarVisiblePrefChangedCallback, self);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 03/03/2002 mlj Changing strategy a bit here. The addTab: method was
|
|
||||||
// duplicating a lot of the code found here. I have moved it to that method.
|
|
||||||
// We now remove the IB tab, then add one of our own.
|
|
||||||
|
|
||||||
[mTabBrowser removeTabViewItem:[mTabBrowser tabViewItemAtIndex:0]];
|
[mTabBrowser removeTabViewItem:[mTabBrowser tabViewItemAtIndex:0]];
|
||||||
|
|
||||||
// create ourselves a new tab and fill it with the appropriate content. If we
|
// create ourselves a new tab and fill it with the appropriate content. If we
|
||||||
|
@ -718,21 +715,11 @@ enum BWCOpenDest {
|
||||||
mPendingURL = mPendingReferrer = nil;
|
mPendingURL = mPendingReferrer = nil;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( mChromeMask && !(mChromeMask & nsIWebBrowserChrome::CHROME_PERSONAL_TOOLBAR) ) {
|
[mPersonalToolbar buildButtonList];
|
||||||
// remove the personal toolbar and adjust the content area upwards. Removing it
|
|
||||||
// from the parent view releases it, so we have to clear out the member var.
|
BOOL chromeHidesToolbar = (mChromeMask != 0) && !(mChromeMask & nsIWebBrowserChrome::CHROME_PERSONAL_TOOLBAR);
|
||||||
//float height = [mPersonalToolbar frame].size.height;
|
if (chromeHidesToolbar || ![self shouldShowBookmarkToolbar])
|
||||||
[mPersonalToolbar removeFromSuperview];
|
[mPersonalToolbar showBookmarksToolbar:NO];
|
||||||
mPersonalToolbar = nil;
|
|
||||||
mustResizeChrome = YES;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
[mPersonalToolbar buildButtonList];
|
|
||||||
|
|
||||||
if (![self shouldShowBookmarkToolbar])
|
|
||||||
[mPersonalToolbar showBookmarksToolbar:NO];
|
|
||||||
}
|
|
||||||
|
|
||||||
if (mustResizeChrome)
|
if (mustResizeChrome)
|
||||||
[mContentView resizeSubviewsWithOldSize:[mContentView frame].size];
|
[mContentView resizeSubviewsWithOldSize:[mContentView frame].size];
|
||||||
|
@ -816,14 +803,20 @@ enum BWCOpenDest {
|
||||||
|
|
||||||
- (void)setupToolbar
|
- (void)setupToolbar
|
||||||
{
|
{
|
||||||
if ( !mChromeMask || (mChromeMask & nsIWebBrowserChrome::CHROME_TOOLBAR) ) {
|
NSToolbar *toolbar = [[[NSToolbar alloc] initWithIdentifier:BrowserToolbarIdentifier] autorelease];
|
||||||
NSToolbar *toolbar = [[[NSToolbar alloc] initWithIdentifier:BrowserToolbarIdentifier] autorelease];
|
|
||||||
|
[toolbar setDisplayMode:NSToolbarDisplayModeDefault];
|
||||||
[toolbar setDisplayMode:NSToolbarDisplayModeDefault];
|
[toolbar setAllowsUserCustomization:YES];
|
||||||
[toolbar setAllowsUserCustomization:YES];
|
[toolbar setAutosavesConfiguration:YES];
|
||||||
[toolbar setAutosavesConfiguration:YES];
|
[toolbar setDelegate:self];
|
||||||
[toolbar setDelegate:self];
|
[[self window] setToolbar:toolbar];
|
||||||
[[self window] setToolbar:toolbar];
|
|
||||||
|
// for a chromed window without the toolbar or locationbar flag, hide the toolbar (but allow the user to show it)
|
||||||
|
if (mChromeMask && (!(mChromeMask & nsIWebBrowserChrome::CHROME_TOOLBAR) &&
|
||||||
|
!(mChromeMask & nsIWebBrowserChrome::CHROME_LOCATIONBAR)))
|
||||||
|
{
|
||||||
|
[toolbar setAutosavesConfiguration:NO]; // make sure this hiding doesn't get saved
|
||||||
|
[toolbar setVisible:NO];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1958,7 +1951,7 @@ enum BWCOpenDest {
|
||||||
|
|
||||||
NSMutableDictionary* itemInfo = [NSMutableDictionary dictionaryWithObject:hrefString forKey:kAddBookmarkItemURLKey];
|
NSMutableDictionary* itemInfo = [NSMutableDictionary dictionaryWithObject:hrefString forKey:kAddBookmarkItemURLKey];
|
||||||
|
|
||||||
// titlel can be nil (e.g. for text files)
|
// title can be nil (e.g. for text files)
|
||||||
if (curTitleString)
|
if (curTitleString)
|
||||||
[itemInfo setObject:curTitleString forKey:kAddBookmarkItemTitleKey];
|
[itemInfo setObject:curTitleString forKey:kAddBookmarkItemTitleKey];
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче