moved http:// assumption code into nsWebShell.cpp from nsBrowserWindow.cpp

git-svn-id: svn://10.0.0.236/trunk@7639 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
valeski%netscape.com
1998-08-09 21:22:18 +00:00
parent 213c76750c
commit 196f89df7e
2 changed files with 32 additions and 4 deletions

View File

@@ -797,9 +797,23 @@ nsWebShell::LoadURL(const nsString& aURLSpec,
nsIPostData* aPostData)
{
nsresult rv;
// Give web-shell-container right of refusal
PRInt32 colon, fSlash;
PRUnichar port;
nsAutoString urlSpec(aURLSpec);
fSlash=urlSpec.Find('/');
// if no scheme (protocol) is found, assume http.
if ( ((colon=urlSpec.Find(':')) == -1) // no colon at all
|| ( (fSlash > -1) && (colon > fSlash) ) // the only colon comes after the first slash
|| ( (colon < urlSpec.Length()-1) // the first char after the first colon is a digit (i.e. a port)
&& ((port=urlSpec.CharAt(colon+1)) < '9')
&& (port > '0') )
) {
nsString httpDef("http://");
urlSpec.Insert(httpDef, 0, 7);
}
// Give web-shell-container right of refusal
if (nsnull != mContainer) {
rv = mContainer->WillLoadURL(this, urlSpec);
if (NS_OK != rv) {