I have changed gcjwebplugin to use the parser in gnu/xml/dom/html2/*. I added some needed functions/classes. Also, fixed a few minor bugs in the parser and awt.
2006-04-11 Lillian Angel <[EMAIL PROTECTED]> * gnu/xml/dom/DomNodeIterator.java (nextNode): Moved line of code to avoid an infinite loop. * gnu/xml/dom/html2/DomHTMLAppletElement.java (getCls): New function. (setCls): Likewise. (getSrc): Likewise. (setSrc): Likewise. * gnu/xml/dom/html2/DomHTMLDocument.java: Added DomHTMLEmbedElement to map. (getApplets): Added node name, 'embed'. * gnu/xml/dom/html2/DomHTMLEmbedElement.java: New class. * gnu/xml/dom/html2/DomHTMLObjectElement.java (getJavaCode): New function. (setJavaCode): Likewise. (getObject): Likewise. (setObject): Likewise. (getJavaObject): Likewise. (setJavaObject): Likewise. (getJavaArchive): Likewise. (setJavaArchive): Likewise. (getJavaCodeBase): Likewise. (setJavaCodeBase): Likewise. (getJavaType): Likewise. (setJavaType): Likewise. (setMayscript): Likewise. (getMayscript): Likewise. (setScriptable): Likewise. (getScriptable): Likewise. * gnu/xml/dom/html2/DomHTMLParser.java (parseDocument): Should not check for well formedness when parsing an html document. * java/awt/Window.java (dispatchEvent): Added check to avoid NPE.
Index: gnu/xml/dom/DomNodeIterator.java =================================================================== RCS file: /cvsroot/classpath/classpath/gnu/xml/dom/DomNodeIterator.java,v retrieving revision 1.2 diff -u -r1.2 DomNodeIterator.java --- gnu/xml/dom/DomNodeIterator.java 2 Jul 2005 20:32:15 -0000 1.2 +++ gnu/xml/dom/DomNodeIterator.java 11 Apr 2006 17:58:20 -0000 @@ -137,9 +137,10 @@ { ret = current.getNextSibling(); } + current = (ret == null) ? current : ret; } while (!accept(ret)); - current = (ret == null) ? current : ret; + return ret; } Index: gnu/xml/dom/html2/DomHTMLAppletElement.java =================================================================== RCS file: /cvsroot/classpath/classpath/gnu/xml/dom/html2/DomHTMLAppletElement.java,v retrieving revision 1.2 diff -u -r1.2 DomHTMLAppletElement.java --- gnu/xml/dom/html2/DomHTMLAppletElement.java 2 Jul 2005 20:32:16 -0000 1.2 +++ gnu/xml/dom/html2/DomHTMLAppletElement.java 11 Apr 2006 17:58:20 -0000 @@ -65,6 +65,26 @@ setHTMLAttribute("align", align); } + public String getCls() + { + return getHTMLAttribute("class"); + } + + public void setCls(String cls) + { + setHTMLAttribute("class", cls); + } + + public String getSrc() + { + return getHTMLAttribute("src"); + } + + public void setSrc(String src) + { + setHTMLAttribute("src", src); + } + public String getAlt() { return getHTMLAttribute("alt"); @@ -164,6 +184,5 @@ { setHTMLAttribute("width", width); } - } Index: gnu/xml/dom/html2/DomHTMLDocument.java =================================================================== RCS file: /cvsroot/classpath/classpath/gnu/xml/dom/html2/DomHTMLDocument.java,v retrieving revision 1.5 diff -u -r1.5 DomHTMLDocument.java --- gnu/xml/dom/html2/DomHTMLDocument.java 2 Jul 2005 20:32:16 -0000 1.5 +++ gnu/xml/dom/html2/DomHTMLDocument.java 11 Apr 2006 17:58:20 -0000 @@ -87,6 +87,7 @@ map.put("dir", DomHTMLDirectoryElement.class); map.put("div", DomHTMLDivElement.class); map.put("dlist", DomHTMLDListElement.class); + map.put("embed", DomHTMLEmbedElement.class); map.put("fieldset", DomHTMLFieldSetElement.class); map.put("font", DomHTMLFontElement.class); map.put("form", DomHTMLFormElement.class); @@ -311,6 +312,7 @@ public HTMLCollection getApplets() { DomHTMLCollection ret = new DomHTMLCollection(this, this); + ret.addNodeName("embed"); ret.addNodeName("object"); ret.addNodeName("applet"); ret.evaluate(); Index: gnu/xml/dom/html2/DomHTMLEmbedElement.java =================================================================== RCS file: gnu/xml/dom/html2/DomHTMLEmbedElement.java diff -N gnu/xml/dom/html2/DomHTMLEmbedElement.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnu/xml/dom/html2/DomHTMLEmbedElement.java 11 Apr 2006 17:58:20 -0000 @@ -0,0 +1,129 @@ +/* DomHTMLEmbedElement.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + + +package gnu.xml.dom.html2; + +public class DomHTMLEmbedElement + extends DomHTMLAppletElement +{ + protected DomHTMLEmbedElement(DomHTMLDocument owner, String namespaceURI, + String name) + { + super(owner, namespaceURI, name); + } + + public String getJavaObject() + { + return getHTMLAttribute("java_object"); + } + + public void setJavaObject(String object) + { + setHTMLAttribute("java_object", object); + } + + public String getJavaCodeBase() + { + return getHTMLAttribute("java_codebase"); + } + + public void setJavaCodeBase(String codeBase) + { + setHTMLAttribute("java_codebase", codeBase); + } + + public String getJavaArchive() + { + return getHTMLAttribute("java_archive"); + } + + public void setJavaArchive(String archive) + { + setHTMLAttribute("java_archive", archive); + } + + public void setJavaCode(String code) + { + setHTMLAttribute("java_code", code); + } + + public String getJavaCode() + { + return getHTMLAttribute("java_code"); + } + + public void setJavaType(String type) + { + setHTMLAttribute("java_type", type); + } + + public String getJavaType() + { + return getHTMLAttribute("java_type"); + } + + public void setType(String type) + { + setHTMLAttribute("type", type); + } + + public String getType() + { + return getHTMLAttribute("type"); + } + + public String getPluginsPage() + { + return getHTMLAttribute("pluginspage"); + } + + public void setPluginsPage(String pluginspage) + { + setHTMLAttribute("pluginspage", pluginspage); + } + + public String getMayscript() + { + return getHTMLAttribute("mayscript"); + } + + public void setMayscript(String mayscript) + { + setHTMLAttribute("mayscript", mayscript); + } +} Index: gnu/xml/dom/html2/DomHTMLObjectElement.java =================================================================== RCS file: /cvsroot/classpath/classpath/gnu/xml/dom/html2/DomHTMLObjectElement.java,v retrieving revision 1.3 diff -u -r1.3 DomHTMLObjectElement.java --- gnu/xml/dom/html2/DomHTMLObjectElement.java 2 Jul 2005 20:32:16 -0000 1.3 +++ gnu/xml/dom/html2/DomHTMLObjectElement.java 11 Apr 2006 17:58:20 -0000 @@ -72,6 +72,36 @@ setHTMLAttribute("code", code); } + public String getJavaCode() + { + return getHTMLAttribute("java_code"); + } + + public void setJavaCode(String code) + { + setHTMLAttribute("java_code", code); + } + + public String getObject() + { + return getHTMLAttribute("object"); + } + + public void setObject(String obj) + { + setHTMLAttribute("object", obj); + } + + public String getJavaObject() + { + return getHTMLAttribute("java_object"); + } + + public void setJavaObject(String obj) + { + setHTMLAttribute("java_object", obj); + } + public String getAlign() { return getHTMLAttribute("align"); @@ -92,6 +122,16 @@ setHTMLAttribute("archive", archive); } + public String getJavaArchive() + { + return getHTMLAttribute("java_archive"); + } + + public void setJavaArchive(String archive) + { + setHTMLAttribute("java_archive", archive); + } + public String getBorder() { return getHTMLAttribute("border"); @@ -112,6 +152,16 @@ setHTMLAttribute("codebase", codeBase); } + public String getJavaCodeBase() + { + return getHTMLAttribute("java_codebase"); + } + + public void setJavaCodeBase(String codeBase) + { + setHTMLAttribute("java_codebase", codeBase); + } + public String getCodeType() { return getHTMLAttribute("codetype"); @@ -202,6 +252,16 @@ setHTMLAttribute("type", type); } + public String getJavaType() + { + return getHTMLAttribute("java_type"); + } + + public void setJavaType(String type) + { + setHTMLAttribute("java_type", type); + } + public String getUseMap() { return getHTMLAttribute("usemap"); @@ -238,5 +298,24 @@ return null; } + public void setMayscript(String may) + { + setHTMLAttribute("mayscript", may); + } + + public String getMayscript() + { + return getHTMLAttribute("mayscript"); + } + + public void setScriptable(String scr) + { + setHTMLAttribute("scriptable", scr); + } + + public String getScriptable() + { + return getHTMLAttribute("scriptable"); + } } Index: gnu/xml/dom/html2/DomHTMLParser.java =================================================================== RCS file: /cvsroot/classpath/classpath/gnu/xml/dom/html2/DomHTMLParser.java,v retrieving revision 1.3 diff -u -r1.3 DomHTMLParser.java --- gnu/xml/dom/html2/DomHTMLParser.java 2 Jul 2005 20:32:16 -0000 1.3 +++ gnu/xml/dom/html2/DomHTMLParser.java 11 Apr 2006 17:58:20 -0000 @@ -124,9 +124,10 @@ try { document = new DomHTMLDocument(); - + document.setCheckWellformedness(false); + cursor = document; - + parse(input); DomHTMLDocument h = document; Index: java/awt/Window.java =================================================================== RCS file: /cvsroot/classpath/classpath/java/awt/Window.java,v retrieving revision 1.68 diff -u -r1.68 Window.java --- java/awt/Window.java 30 Mar 2006 18:58:56 -0000 1.68 +++ java/awt/Window.java 11 Apr 2006 17:58:21 -0000 @@ -624,9 +624,9 @@ processEvent(e); else { - if (e.id == ComponentEvent.COMPONENT_RESIZED - || e.id == ComponentEvent.COMPONENT_MOVED) - { + if (peer != null && (e.id == ComponentEvent.COMPONENT_RESIZED + || e.id == ComponentEvent.COMPONENT_MOVED)) + { Rectangle bounds = peer.getBounds(); x = bounds.x; y = bounds.y;