void KURL::setPort(unsigned short i) { KURLGooglePrivate::Replacements replacements; String portStr; if (i) { portStr = String::number(static_cast<int>(i)); replacements.SetPort( reinterpret_cast<const url_parse::UTF16Char*>(portStr.characters()), url_parse::Component(0, portStr.length())); } else { // Clear any existing port when it is set to 0. replacements.ClearPort(); } m_url.replaceComponents(replacements); }
// This function is used only in the JSC build. void KURL::setHostAndPort(const String& s) { String newhost = s.left(s.find(":")); String newport = s.substring(s.find(":") + 1); KURLGooglePrivate::Replacements replacements; // Host can't be removed, so we always set. replacements.SetHost(CharactersOrEmpty(newhost), url_parse::Component(0, newhost.length())); if (newport.isEmpty()) // Port may be removed, so we support clearing. replacements.ClearPort(); else replacements.SetPort(CharactersOrEmpty(newport), url_parse::Component(0, newport.length())); m_url.replaceComponents(replacements); }
void KURL::setHostAndPort(const String& s) { String host = s; String port; int hostEnd = s.find(":"); if (hostEnd != -1) { host = s.left(hostEnd); port = s.substring(hostEnd + 1); } KURLGooglePrivate::Replacements replacements; // Host can't be removed, so we always set. replacements.SetHost(CharactersOrEmpty(host), url_parse::Component(0, host.length())); if (port.isEmpty()) // Port may be removed, so we support clearing. replacements.ClearPort(); else replacements.SetPort(CharactersOrEmpty(port), url_parse::Component(0, port.length())); m_url.replaceComponents(replacements); }