Author: stippi Date: Mon May 3 13:03:37 2010 New Revision: 475 URL: http://mmlr.dyndns.org/changeset/475 Log: Move the URL validation into the BString LoadURL() variant. Allows to detect urls like "localhost:8000" properly. Modified: webkit/trunk/WebKit/haiku/API/WebFrame.cpp Modified: webkit/trunk/WebKit/haiku/API/WebFrame.cpp ============================================================================== --- webkit/trunk/WebKit/haiku/API/WebFrame.cpp Mon May 3 12:20:37 2010 (r474) +++ webkit/trunk/WebKit/haiku/API/WebFrame.cpp Mon May 3 13:03:37 2010 (r475) @@ -97,9 +97,21 @@ fData->loaderClient->setDispatchTarget(listener); } -void BWebFrame::LoadURL(BString url) +void BWebFrame::LoadURL(BString urlString) { - LoadURL(KURL(KURL(), url.Trim().String())); + KURL url; + if (BEntry(urlString.String()).Exists()) { + url.setProtocol("file"); + url.setPath(urlString); + } else + url = KURL(KURL(), urlString.Trim().String()); + + if (!url.protocolInHTTPFamily() && !url.isLocalFile()) { + url = KURL(); + url.setProtocol("http"); + url.setHostAndPort(urlString); + } + LoadURL(url); } void BWebFrame::LoadURL(KURL url) @@ -112,16 +124,6 @@ fData->requestedURL = url.string(); - if (url.protocol().isEmpty()) { - if (BEntry(BString(url.string())).Exists()) { - url.setProtocol("file"); - url.setPath(url.path()); - } else { - url.setProtocol("http"); - url.setPath("//" + url.path()); - } - } - fData->frame->loader()->load(url, false); }