Bug 197671 Separate "When Navigator starts up" from "What a new tab/window does" preferences

patch by ian@arlen.demon.co.uk r=timeless sr=jag


git-svn-id: svn://10.0.0.236/trunk@141147 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
timeless%mozdev.org
2003-04-15 01:49:51 +00:00
parent bfd58d5bdb
commit 28571cbae4
3 changed files with 58 additions and 5 deletions

View File

@@ -198,6 +198,14 @@ pref("browser.tabs.opentabfor.urlbar", false);
pref("browser.tabs.opentabfor.windowopen", false);
pref("browser.tabs.opentabfor.bookmarks", false);
// 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", 0);
// view source
pref("view_source.syntax_highlight", true);
pref("view_source.wrap_long_lines", false);

View File

@@ -1028,11 +1028,30 @@ function BrowserOpenWindow()
function BrowserOpenTab()
{
if (!gInPrintPreviewMode) {
var handler = Components.classes['@mozilla.org/commandlinehandler/general-startup;1?type=browser']
.getService(Components.interfaces.nsICmdLineHandler);
var uriToLoad = handler.defaultArgs.split("\n")[0];
if (/^\s*$/.test(uriToLoad))
var uriToLoad;
try {
switch ( pref.getIntPref("browser.tabs.loadOnNewTab") )
{
case -1:
var handler = Components.classes['@mozilla.org/commandlinehandler/general-startup;1?type=browser']
.getService(Components.interfaces.nsICmdLineHandler);
uriToLoad = handler.defaultArgs.split("\n")[0];
if (!/\S/.test(uriToLoad))
uriToLoad = "about:blank";
break;
default:
uriToLoad = "about:blank";
break;
case 1:
uriToLoad = pref.getCharPref("browser.startup.homepage");
break;
case 2:
uriToLoad = getWebNavigation().currentURI.spec;
break;
}
} catch(e) {
uriToLoad = "about:blank";
}
gBrowser.selectedTab = gBrowser.addTab(uriToLoad);
var navBar = document.getElementById("nav-bar");

View File

@@ -110,9 +110,35 @@ function OpenBrowserWindow()
var handler = Components.classes['@mozilla.org/commandlinehandler/general-startup;1?type=browser'];
handler = handler.getService();
handler = handler.QueryInterface(Components.interfaces.nsICmdLineHandler);
var startpage = handler.defaultArgs;
var url = handler.chromeUrlForTask;
var wintype = document.firstChild.getAttribute('windowtype');
var startpage;
// if current window is a browser window then check pref for how new window should be opened
if (wintype == "navigator:browser")
{
try {
switch ( pref.getIntPref("browser.windows.loadOnNewWindow") )
{
case -1:
startpage = handler.defaultArgs;
break;
default:
startpage = "about:blank";
break;
case 1:
startpage = getHomePage().join("\n");
break;
case 2:
startpage = getWebNavigation().currentURI.spec;
break;
}
} catch(e) {
startpage = "about:blank";
}
} else {
startpage = handler.defaultArgs;
}
// if and only if the current window is a browser window and it has a document with a character
// set, then extract the current charset menu setting from the current document and use it to