diff --git a/mozilla/xpfe/bootstrap/nsNativeAppSupportOS2.cpp b/mozilla/xpfe/bootstrap/nsNativeAppSupportOS2.cpp index 6c6e43deea0..7793ee5a7be 100644 --- a/mozilla/xpfe/bootstrap/nsNativeAppSupportOS2.cpp +++ b/mozilla/xpfe/bootstrap/nsNativeAppSupportOS2.cpp @@ -1882,7 +1882,9 @@ nsNativeAppSupportOS2::HandleRequest( LPBYTE request, PRBool newWindow, nsIDOMWi // first see if there is a url nsXPIDLCString arg; rv = args->GetURLToLoad(getter_Copies(arg)); - if (NS_SUCCEEDED(rv) && !arg.IsEmpty() ) { + if (NS_FAILED(rv)) return; + + if (!arg.IsEmpty() ) { // Launch browser. #if MOZ_DEBUG_DDE printf( "Launching browser on url [%s]...\n", arg.get() ); diff --git a/mozilla/xpfe/bootstrap/nsNativeAppSupportWin.cpp b/mozilla/xpfe/bootstrap/nsNativeAppSupportWin.cpp index 03664b2fd0e..eb8bf95e959 100644 --- a/mozilla/xpfe/bootstrap/nsNativeAppSupportWin.cpp +++ b/mozilla/xpfe/bootstrap/nsNativeAppSupportWin.cpp @@ -1814,7 +1814,9 @@ nsNativeAppSupportWin::HandleRequest( LPBYTE request, PRBool newWindow, nsIDOMWi // first see if there is a url nsXPIDLCString arg; rv = args->GetURLToLoad(getter_Copies(arg)); - if (NS_SUCCEEDED(rv) && !arg.IsEmpty() ) { + if (NS_FAILED(rv)) return; + + if (!arg.IsEmpty() ) { // Launch browser. #if MOZ_DEBUG_DDE printf( "Launching browser on url [%s]...\n", arg.get() ); diff --git a/mozilla/xpfe/browser/resources/content/navigator.js b/mozilla/xpfe/browser/resources/content/navigator.js index 6e684e4125b..39b2f94d49f 100644 --- a/mozilla/xpfe/browser/resources/content/navigator.js +++ b/mozilla/xpfe/browser/resources/content/navigator.js @@ -438,16 +438,9 @@ function nsBrowserAccess() { nsBrowserAccess.prototype = { openURI: function openURI(aURI, aOpener, aWhere, aContext) { - var isExternal = (aContext == nsIBrowserDOMWindow.OPEN_EXTERNAL); - - if (isExternal && aURI && aURI.schemeIs("chrome")) { - dump("use -chrome command-line option to load external chrome urls\n"); - return null; - } - - var loadflags = isExternal ? - nsIWebNavigation.LOAD_FLAGS_FROM_EXTERNAL : - nsIWebNavigation.LOAD_FLAGS_NONE; + var loadflags = aContext == nsIBrowserDOMWindow.OPEN_EXTERNAL ? + nsIWebNavigation.LOAD_FLAGS_FROM_EXTERNAL : + nsIWebNavigation.LOAD_FLAGS_NONE; if (aWhere == nsIBrowserDOMWindow.OPEN_DEFAULTWINDOW) if (aContext == nsIBrowserDOMWindow.OPEN_EXTERNAL) @@ -642,15 +635,6 @@ function Startup() browser.popupUrls = []; browser.popupFeatures = []; - try { - if (makeURI(uriToLoad).schemeIs("chrome")) { - dump("*** Preventing external load of chrome: URI into browser window\n"); - dump(" Use -chrome instead\n"); - window.close(); - return; - } - } catch (e) {} - if (uriToLoad != "about:blank") { gURLBar.value = uriToLoad; browser.userTypedValue = uriToLoad; diff --git a/mozilla/xpfe/components/startup/src/nsAppStartup.cpp b/mozilla/xpfe/components/startup/src/nsAppStartup.cpp index e490248a83b..d92d5995c48 100644 --- a/mozilla/xpfe/components/startup/src/nsAppStartup.cpp +++ b/mozilla/xpfe/components/startup/src/nsAppStartup.cpp @@ -806,8 +806,6 @@ nsAppStartup::OpenBrowserWindow(PRInt32 height, PRInt32 width) nsXPIDLCString urlToLoad; rv = cmdLine->GetURLToLoad(getter_Copies(urlToLoad)); - if (NS_FAILED(rv)) return rv; - if (!urlToLoad.IsEmpty()) { #ifdef DEBUG_CMD_LINE diff --git a/mozilla/xpfe/components/startup/src/nsCommandLineService.cpp b/mozilla/xpfe/components/startup/src/nsCommandLineService.cpp index 2311b79b627..84bff285f62 100644 --- a/mozilla/xpfe/components/startup/src/nsCommandLineService.cpp +++ b/mozilla/xpfe/components/startup/src/nsCommandLineService.cpp @@ -215,8 +215,13 @@ nsCmdLineService::Initialize(int aArgc, char ** aArgv) NS_IMETHODIMP nsCmdLineService::GetURLToLoad(char ** aResult) { - - return GetCmdLineValue("-url", aResult); + nsresult rv = GetCmdLineValue("-url", aResult); + if (NS_SUCCEEDED(rv) && *aResult && !strncmp(*aResult, "chrome:", 7)) { + nsMemory::Free(*aResult); + *aResult = nsnull; + return NS_ERROR_INVALID_ARG; + } + return rv; } NS_IMETHODIMP