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;

Reply via email to