diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js index 9093d85c3e7..e01ce2a2a14 100644 --- a/browser/app/profile/firefox.js +++ b/browser/app/profile/firefox.js @@ -268,6 +268,10 @@ pref("browser.link.open_newwindow", 3); pref("browser.link.open_newwindow.restriction", 2); // Tab browser preferences. +pref("browser.tabs.autoHide", false); +pref("browser.tabs.warnOnClose", true); +pref("browser.tabs.warnOnOpen", true); +pref("browser.tabs.maxOpenBeforeWarn", 15); pref("browser.tabs.loadInBackground", true); pref("browser.tabs.loadFolderAndReplace", true); pref("browser.tabs.opentabfor.middleclick", true); diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js index 6bf1bfacfea..6c965a38e45 100644 --- a/browser/base/content/browser.js +++ b/browser/base/content/browser.js @@ -1328,7 +1328,6 @@ AutoHideTabbarPrefListener.prototype = catch (e) { } gBrowser.setStripVisibilityTo(aVisible); - gPrefService.setBoolPref("browser.tabs.forceHide", false); } } } @@ -1701,17 +1700,8 @@ function BrowserCloseTabOrWindow() } #endif - if (gBrowser.tabContainer.childNodes.length > 1 || - window.toolbar.visible && !gPrefService.getBoolPref("browser.tabs.autoHide")) { - // Just close the tab (and focus the address bar if it was the last one). - var isLastTab = gBrowser.tabContainer.childNodes.length == 1; - gBrowser.removeCurrentTab(); - if (isLastTab && gURLBar) - setTimeout(function() { gURLBar.focus(); }, 0); - return; - } - - closeWindow(true); + // If the current tab is the last one, this will close the window. + gBrowser.removeCurrentTab(); } function BrowserTryToCloseWindow() diff --git a/browser/base/content/tabbrowser.xml b/browser/base/content/tabbrowser.xml index b1158a5f14e..a7390014e8b 100644 --- a/browser/base/content/tabbrowser.xml +++ b/browser/base/content/tabbrowser.xml @@ -1165,8 +1165,6 @@ if (this.mStrip.collapsed) this.setStripVisibilityTo(true); - this.mPrefs.setBoolPref("browser.tabs.forceHide", false); - // wire up a progress listener for the new browser object. var position = this.mTabContainer.childNodes.length-1; var tabListener = this.mTabProgressListener(t, b, blank); @@ -1340,18 +1338,22 @@ if (aTab.localName != "tab") aTab = this.mCurrentTab; - var l = this.mTabContainer.childNodes.length; - if (l == 1 && this.mPrefs.getBoolPref("browser.tabs.autoHide")) { - // hide the tab bar - this.mPrefs.setBoolPref("browser.tabs.forceHide", true); - this.setStripVisibilityTo(false); - return; - } - var ds = this.getBrowserForTab(aTab).docShell; if (ds.contentViewer && !ds.contentViewer.permitUnload()) return; + var l = this.mTabContainer.childNodes.length; + if (l == 1) { + closeWindow(true); + return; + } + if (l == 2) { + var autohide = this.mPrefs.getBoolPref("browser.tabs.autoHide"); + var tabStripHide = !window.toolbar.visible; + if (autohide || tabStripHide) + this.setStripVisibilityTo(false); + } + // see notes in addTab var _delayedUpdate = function(aTabContainer) { aTabContainer.adjustTabstrip(); @@ -1359,19 +1361,6 @@ } setTimeout(_delayedUpdate, 0, this.mTabContainer); - if (l == 1) { - // add a new blank tab to replace the one we're about to close - // (this ensures that the remaining tab is as good as new) - this.addTab("about:blank"); - l++; - } - else if (l == 2) { - var autohide = this.mPrefs.getBoolPref("browser.tabs.autoHide"); - var tabStripHide = !window.toolbar.visible; - if (autohide || tabStripHide) - this.setStripVisibilityTo(false); - } - // We're committed to closing the tab now. // Dispatch a notification. // We dispatch it before any teardown so that event listeners can @@ -1548,9 +1537,8 @@ if (!this.mAddProgressListenerWasCalled) { this.mAddProgressListenerWasCalled = true; var autoHide = this.mPrefs.getBoolPref("browser.tabs.autoHide"); - var forceHide = this.mPrefs.getBoolPref("browser.tabs.forceHide"); var tabStripHide = !window.toolbar.visible; - if (!autoHide && !forceHide && !tabStripHide) + if (!autoHide && !tabStripHide) this.setStripVisibilityTo(true); } diff --git a/modules/libpref/src/init/all.js b/modules/libpref/src/init/all.js index 1f4751b509e..6f8e208b7a5 100644 --- a/modules/libpref/src/init/all.js +++ b/modules/libpref/src/init/all.js @@ -172,29 +172,10 @@ pref("browser.frames.enabled", true); // form submission pref("browser.forms.submit.backwards_compatible", true); -// xxxbsmedberg more toolkit prefs? -// Tab browser preferences. -pref("browser.tabs.autoHide", true); -pref("browser.tabs.forceHide", false); -pref("browser.tabs.warnOnClose", true); -pref("browser.tabs.warnOnCloseOther", true); -pref("browser.tabs.warnOnOpen", true); -pref("browser.tabs.maxOpenBeforeWarn", 15); -// 0 = append, 1 = replace -pref("browser.tabs.loadGroup", 1); - pref("toolkit.scrollbox.smoothScroll", true); pref("toolkit.scrollbox.scrollIncrement", 20); pref("toolkit.scrollbox.clickToScroll.scrollDelay", 150); -// lets new tab/window load something different than first window -// -1 - use navigator startup preference -// 0 - loads blank page -// 1 - loads home page -// 2 - loads last page visited -pref("browser.tabs.loadOnNewTab", 0); -pref("browser.windows.loadOnNewWindow", 1); - // view source pref("view_source.syntax_highlight", true); pref("view_source.wrap_long_lines", false);