You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Alexei Zakharov (JIRA)" <ji...@apache.org> on 2007/07/25 13:53:32 UTC
[jira] Assigned: (HARMONY-4529) [classlib][swing][html] Relative
links in HTML are resolved incorrectly
[ https://issues.apache.org/jira/browse/HARMONY-4529?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alexei Zakharov reassigned HARMONY-4529:
----------------------------------------
Assignee: Alexei Zakharov
> [classlib][swing][html] Relative links in HTML are resolved incorrectly
> -----------------------------------------------------------------------
>
> Key: HARMONY-4529
> URL: https://issues.apache.org/jira/browse/HARMONY-4529
> Project: Harmony
> Issue Type: Bug
> Components: Classlib
> Reporter: Vasily Zakharov
> Assignee: Alexei Zakharov
> Attachments: Harmony-4529-Fix.patch, Harmony-4529-Test.patch, testhtml.jar
>
>
> Here's the test to reproduce the problem:
> import java.net.URL;
> import javax.swing.JEditorPane;
> class Test {
> public static void main(String[] args) {
> try {
> URL url = new URL("jar:file:testhtml.jar!/index.html");
> new JEditorPane(url);
> System.out.println("SUCCESS");
> } catch (Throwable e) {
> System.out.print("ERROR: ");
> e.printStackTrace(System.out);
> }
> }
> }
> Don't forget to put the attached testhtml.jar file to the same directory as the test.
> Output on RI:
> SUCCESS
> Ouput on Harmony:
> ERROR: java.lang.IllegalArgumentException: URI is not absolute: test.gif
> at java.net.URI.toURL(URI.java:1526)
> at javax.swing.text.html.HTML.resolveURL(HTML.java:582)
> at javax.swing.text.html.HTML.resolveURL(HTML.java:564)
> at javax.swing.text.html.ImageView.getImageURL(ImageView.java:76)
> at javax.swing.text.html.ImageView.createImage(ImageView.java:246)
> at javax.swing.text.html.ImageView.setPropertiesFromAttributes(ImageView.java:239)
> at javax.swing.text.html.ImageView.<init>(ImageView.java:65)
> at javax.swing.text.html.HTMLEditorKit$HTMLFactory.create(HTMLEditorKit.java:111)
> at javax.swing.text.CompositeView.loadChildren(CompositeView.java:235)
> at javax.swing.text.FlowView$LogicalView.loadChildren(FlowView.java:259)
> at javax.swing.text.CompositeView.setParent(CompositeView.java:116)
> at javax.swing.text.FlowView.createLogicalView(FlowView.java:44)
> at javax.swing.text.FlowView.loadChildren(FlowView.java:393)
> at javax.swing.text.CompositeView.setParent(CompositeView.java:116)
> at javax.swing.text.html.ParagraphView.setParent(ParagraphView.java:78)
> at javax.swing.text.CompositeView.replace(CompositeView.java:90)
> at javax.swing.text.BoxView.replace(BoxView.java:150)
> at javax.swing.text.CompositeView.loadChildren(CompositeView.java:238)
> at javax.swing.text.CompositeView.setParent(CompositeView.java:116)
> at javax.swing.text.html.BlockView.setParent(BlockView.java:61)
> at javax.swing.text.CompositeView.replace(CompositeView.java:90)
> at javax.swing.text.BoxView.replace(BoxView.java:150)
> at javax.swing.text.CompositeView.loadChildren(CompositeView.java:238)
> at javax.swing.text.CompositeView.setParent(CompositeView.java:116)
> at javax.swing.text.html.BlockView.setParent(BlockView.java:61)
> at javax.swing.text.RootView.replace(RootView.java:266)
> at javax.swing.text.View.append(View.java:273)
> at javax.swing.plaf.basic.BasicTextUI.setView(BasicTextUI.java:864)
> at javax.swing.plaf.basic.BasicTextUI.modelChanged(BasicTextUI.java:767)
> at javax.swing.plaf.basic.BasicTextUI$Listener.propertyChange(BasicTextUI.java:293)
> at java.beans.PropertyChangeSupport.doFirePropertyChange(PropertyChangeSupport.java:263)
> at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:54)
> at java.awt.Component.firePropertyChangeImpl(Component.java:1668)
> at java.awt.Component.firePropertyChange(Component.java:1682)
> at javax.swing.text.JTextComponent.setDocument(JTextComponent.java:143)
> at javax.swing.JEditorPane.setPage(JEditorPane.java:747)
> at javax.swing.JEditorPane.<init>(JEditorPane.java:310)
> at Test.main(Test.java:8)
> The reason for this problem is javax.swing.text.html.HTML.resolveURL() method uses URI.resolve(String) method to resolve links in HTML, and that method doesn't handle JAR URLs correctly.
> The attached patch uses URL(URL, String) constructor instead.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.