-
Enhancement
-
Resolution: Unresolved
-
P4
-
8u5
-
x86_64
-
linux_ubuntu
FULL PRODUCT VERSION :
java version "1.7.0_55"
OpenJDK Runtime Environment (IcedTea 2.4.7) (7u55-2.4.7-1ubuntu1)
OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Linux Wall-E 3.13.0-30-generic #54-Ubuntu SMP Mon Jun 9 22:45:01 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
EXTRA RELEVANT SYSTEM CONFIGURATION :
not relevant
A DESCRIPTION OF THE PROBLEM :
HTML support with JTextPane is already very terrible, especially because some parts are unfinished :
This is from the class HTMLDocument
public Iterator getIterator(HTML.Tag t) {
if (t.isBlock()) {
// TBD
return null;
}
return new LeafIterator(t, this);
}
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
HTMLDocument doc = new HTMLDocument();
doc.getIterator(HTML.Tag.HEAD).next();
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
I expected to get the HEAD Element.
ACTUAL -
NullPointerException !
ERROR MESSAGES/STACK TRACES THAT OCCUR :
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at test.Test$1.run(Test.java:41)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
HTMLDocument doc = new HTMLDocument();
doc.getIterator(HTML.Tag.HEAD).next();
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
only for head element :
try {
javax.swing.text.Element head = htmlDoc.getDefaultRootElement().getElement(0);
if(head.getName().equals("head")) {htmlDoc.remove(0, head.getEndOffset());return true;}
} catch (BadLocationException ex) {
}
java version "1.7.0_55"
OpenJDK Runtime Environment (IcedTea 2.4.7) (7u55-2.4.7-1ubuntu1)
OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Linux Wall-E 3.13.0-30-generic #54-Ubuntu SMP Mon Jun 9 22:45:01 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
EXTRA RELEVANT SYSTEM CONFIGURATION :
not relevant
A DESCRIPTION OF THE PROBLEM :
HTML support with JTextPane is already very terrible, especially because some parts are unfinished :
This is from the class HTMLDocument
public Iterator getIterator(HTML.Tag t) {
if (t.isBlock()) {
// TBD
return null;
}
return new LeafIterator(t, this);
}
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
HTMLDocument doc = new HTMLDocument();
doc.getIterator(HTML.Tag.HEAD).next();
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
I expected to get the HEAD Element.
ACTUAL -
NullPointerException !
ERROR MESSAGES/STACK TRACES THAT OCCUR :
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at test.Test$1.run(Test.java:41)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
HTMLDocument doc = new HTMLDocument();
doc.getIterator(HTML.Tag.HEAD).next();
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
only for head element :
try {
javax.swing.text.Element head = htmlDoc.getDefaultRootElement().getElement(0);
if(head.getName().equals("head")) {htmlDoc.remove(0, head.getEndOffset());return true;}
} catch (BadLocationException ex) {
}
- links to
-
Review openjdk/jdk/14466