Index: src/main/java/common/javax/swing/text/html/HTML.java =================================================================== --- src/main/java/common/javax/swing/text/html/HTML.java (revision 559141) +++ src/main/java/common/javax/swing/text/html/HTML.java (working copy) @@ -25,8 +25,6 @@ import java.io.ObjectOutputStream; import java.io.Serializable; import java.net.MalformedURLException; -import java.net.URI; -import java.net.URISyntaxException; import java.net.URL; import java.util.HashMap; import java.util.Map; @@ -554,38 +552,47 @@ if (url == null) { return null; } - return resolveURL(url.toString(), base != null ? base.toString() : null); + + try { + return ((base != null) ? new URL(base, url.toString()) : url); + } catch (MalformedURLException e) { + return null; + } } static URL resolveURL(final String url, final URL base) { if (Utilities.isEmptyString(url)) { return null; } - return resolveURL(url, base != null ? base.toString() : null); + + try { + return ((base != null) ? new URL(base, url) : new URL(url)); + } catch (MalformedURLException e) { + return null; + } } + static URL resolveURL(final URL url, final String base) { + if (url == null) { + return null; + } + + try { + return ((base != null) ? new URL(new URL(base), url.toString()) : url); + } catch (MalformedURLException e) { + return null; + } + } + static URL resolveURL(final String url, final String base) { if (Utilities.isEmptyString(url)) { return null; } - URI uri = null; - if (base != null) { - try { - uri = new URI(base).resolve(url); - } catch (URISyntaxException e) { } + try { + return ((base != null) ? new URL(new URL(base), url) : new URL(url)); + } catch (MalformedURLException e) { + return null; } - - URL result = null; - try { - if (uri != null) { - result = uri.toURL(); - } else { - result = new URL(url); - } - } catch (final MalformedURLException e) { } - - return result; } } -