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;