Bug 518110: Kill HTMLBaseFontElement interface and HTMLHeadElement.profile. Also merge nsHTMLHeadElement and nsHTMLHtmlElement into nsHTMLSharedElement. r=jst
authorJonas Sicking <jonas@sicking.cc>
Mon, 19 Apr 2010 12:06:00 -0700
changeset 40996 3a2552c83446
parent 40995 01d577167874
child 40997 625e6d4219ab
push id12873
push usersicking@mozilla.com
push date2010-04-19 19:07 +0000
treeherdermozilla-central@3a2552c83446 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjst
bugs518110
milestone1.9.3a5pre
Bug 518110: Kill HTMLBaseFontElement interface and HTMLHeadElement.profile. Also merge nsHTMLHeadElement and nsHTMLHtmlElement into nsHTMLSharedElement. r=jst
content/html/content/src/Makefile.in
content/html/content/src/nsGenericHTMLElement.h
content/html/content/src/nsHTMLFontElement.cpp
content/html/content/src/nsHTMLHeadElement.cpp
content/html/content/src/nsHTMLHtmlElement.cpp
content/html/content/src/nsHTMLSharedElement.cpp
content/html/content/test/test_bug389797.html
content/html/document/test/test_documentAll.html
dom/base/nsDOMClassInfo.cpp
dom/base/nsDOMClassInfoClasses.h
dom/interfaces/html/Makefile.in
dom/interfaces/html/nsIDOMHTMLBaseFontElement.idl
dom/interfaces/html/nsIDOMHTMLHeadElement.idl
dom/tests/mochitest/bugs/test_bug396843.html
dom/tests/mochitest/dom-level2-html/Makefile.in
dom/tests/mochitest/dom-level2-html/files/Makefile.in
dom/tests/mochitest/dom-level2-html/files/basefont.html
dom/tests/mochitest/dom-level2-html/files/basefont.xhtml
dom/tests/mochitest/dom-level2-html/files/basefont.xml
dom/tests/mochitest/dom-level2-html/files/head.html
dom/tests/mochitest/dom-level2-html/files/head.xhtml
dom/tests/mochitest/dom-level2-html/files/head.xml
dom/tests/mochitest/dom-level2-html/files/index.html
dom/tests/mochitest/dom-level2-html/test_HTMLBaseFontElement01.html
dom/tests/mochitest/dom-level2-html/test_HTMLBaseFontElement02.html
dom/tests/mochitest/dom-level2-html/test_HTMLBaseFontElement03.html
dom/tests/mochitest/dom-level2-html/test_HTMLHeadElement01.html
dom/tests/mochitest/dom-level2-html/test_alltests.html
dom/tests/mochitest/dom-level2-html/test_basefont01.html
parser/htmlparser/public/nsHTMLTagList.h
--- a/content/html/content/src/Makefile.in
+++ b/content/html/content/src/Makefile.in
@@ -67,19 +67,17 @@ CPPSRCS		= \
 		nsHTMLDelElement.cpp \
 		nsHTMLDivElement.cpp \
 		nsHTMLFieldSetElement.cpp \
 		nsHTMLFontElement.cpp \
 		nsHTMLFormElement.cpp \
 		nsHTMLFrameElement.cpp \
 		nsHTMLFrameSetElement.cpp \
 		nsHTMLHRElement.cpp \
-		nsHTMLHeadElement.cpp \
 		nsHTMLHeadingElement.cpp \
-		nsHTMLHtmlElement.cpp \
 		nsHTMLIFrameElement.cpp \
 		nsHTMLImageElement.cpp \
 		nsHTMLInputElement.cpp \
 		nsHTMLLIElement.cpp \
 		nsHTMLLabelElement.cpp \
 		nsHTMLLegendElement.cpp \
 		nsHTMLLinkElement.cpp \
 		nsHTMLMapElement.cpp \
--- a/content/html/content/src/nsGenericHTMLElement.h
+++ b/content/html/content/src/nsGenericHTMLElement.h
@@ -1199,16 +1199,24 @@ NS_NewHTML##_elementName##Element(nsINod
 
 // Element class factory methods
 
 #define NS_DECLARE_NS_NEW_HTML_ELEMENT(_elementName)              \
 nsGenericHTMLElement*                                             \
 NS_NewHTML##_elementName##Element(nsINodeInfo *aNodeInfo,         \
                                   PRBool aFromParser = PR_FALSE);
 
+#define NS_DECLARE_NS_NEW_HTML_ELEMENT_AS_SHARED(_elementName)    \
+inline nsGenericHTMLElement*                                      \
+NS_NewHTML##_elementName##Element(nsINodeInfo *aNodeInfo,         \
+                                  PRBool aFromParser = PR_FALSE)  \
+{                                                                 \
+  return NS_NewHTMLSharedElement(aNodeInfo, aFromParser);         \
+}
+
 NS_DECLARE_NS_NEW_HTML_ELEMENT(Shared)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(SharedList)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(SharedObject)
 
 NS_DECLARE_NS_NEW_HTML_ELEMENT(Anchor)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(Area)
 #if defined(MOZ_MEDIA)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(Audio)
@@ -1220,19 +1228,19 @@ NS_DECLARE_NS_NEW_HTML_ELEMENT(Canvas)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(Mod)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(Div)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(FieldSet)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(Font)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(Form)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(Frame)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(FrameSet)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(HR)
-NS_DECLARE_NS_NEW_HTML_ELEMENT(Head)
+NS_DECLARE_NS_NEW_HTML_ELEMENT_AS_SHARED(Head)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(Heading)
-NS_DECLARE_NS_NEW_HTML_ELEMENT(Html)
+NS_DECLARE_NS_NEW_HTML_ELEMENT_AS_SHARED(Html)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(IFrame)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(Image)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(Input)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(LI)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(Label)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(Legend)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(Link)
 NS_DECLARE_NS_NEW_HTML_ELEMENT(Map)
--- a/content/html/content/src/nsHTMLFontElement.cpp
+++ b/content/html/content/src/nsHTMLFontElement.cpp
@@ -195,17 +195,17 @@ MapAttributesIntoRule(const nsMappedAttr
       else {
         // size: int, enum , 
         value = aAttributes->GetAttr(nsGkAtoms::size);
         if (value) {
           nsAttrValue::ValueType unit = value->Type();
           if (unit == nsAttrValue::eInteger || unit == nsAttrValue::eEnum) { 
             PRInt32 size;
             if (unit == nsAttrValue::eEnum) // int (+/-)
-              size = value->GetEnumValue() + 3;  // XXX should be BASEFONT, not three see bug 3875
+              size = value->GetEnumValue() + 3;
             else
               size = value->GetIntegerValue();
 
             size = ((0 < size) ? ((size < 8) ? size : 7) : 1); 
             font.mSize.SetIntValue(size, eCSSUnit_Enumerated);
           }
         }
       }
deleted file mode 100644
--- a/content/html/content/src/nsHTMLHeadElement.cpp
+++ /dev/null
@@ -1,100 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1998
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either of the GNU General Public License Version 2 or later (the "GPL"),
- * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-#include "nsIDOMHTMLHeadElement.h"
-#include "nsIDOMEventTarget.h"
-#include "nsGenericHTMLElement.h"
-#include "nsGkAtoms.h"
-#include "nsStyleConsts.h"
-
-
-class nsHTMLHeadElement : public nsGenericHTMLElement,
-                          public nsIDOMHTMLHeadElement
-{
-public:
-  nsHTMLHeadElement(nsINodeInfo *aNodeInfo);
-  virtual ~nsHTMLHeadElement();
-
-  // nsISupports
-  NS_DECL_ISUPPORTS_INHERITED
-
-  // nsIDOMNode
-  NS_FORWARD_NSIDOMNODE(nsGenericHTMLElement::)
-
-  // nsIDOMElement
-  NS_FORWARD_NSIDOMELEMENT(nsGenericHTMLElement::)
-
-  // nsIDOMHTMLElement
-  NS_FORWARD_NSIDOMHTMLELEMENT(nsGenericHTMLElement::)
-
-  // nsIDOMHTMLHeadElement
-  NS_DECL_NSIDOMHTMLHEADELEMENT
-
-  virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const;
-};
-
-
-NS_IMPL_NS_NEW_HTML_ELEMENT(Head)
-
-
-nsHTMLHeadElement::nsHTMLHeadElement(nsINodeInfo *aNodeInfo)
-  : nsGenericHTMLElement(aNodeInfo)
-{
-}
-
-nsHTMLHeadElement::~nsHTMLHeadElement()
-{
-}
-
-
-NS_IMPL_ADDREF_INHERITED(nsHTMLHeadElement, nsGenericElement)
-NS_IMPL_RELEASE_INHERITED(nsHTMLHeadElement, nsGenericElement)
-
-
-DOMCI_DATA(HTMLHeadElement, nsHTMLHeadElement)
-
-// QueryInterface implementation for nsHTMLHeadElement
-NS_INTERFACE_TABLE_HEAD(nsHTMLHeadElement)
-  NS_HTML_CONTENT_INTERFACE_TABLE1(nsHTMLHeadElement, nsIDOMHTMLHeadElement)
-  NS_HTML_CONTENT_INTERFACE_TABLE_TO_MAP_SEGUE(nsHTMLHeadElement,
-                                               nsGenericHTMLElement)
-NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLHeadElement)
-
-
-NS_IMPL_ELEMENT_CLONE(nsHTMLHeadElement)
-
-
-NS_IMPL_URI_ATTR(nsHTMLHeadElement, Profile, profile)
deleted file mode 100644
--- a/content/html/content/src/nsHTMLHtmlElement.cpp
+++ /dev/null
@@ -1,102 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1998
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either of the GNU General Public License Version 2 or later (the "GPL"),
- * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-#include "nsIDOMHTMLHtmlElement.h"
-#include "nsIDOMEventTarget.h"
-#include "nsGenericHTMLElement.h"
-#include "nsGkAtoms.h"
-#include "nsStyleConsts.h"
-#include "nsIDocument.h"
-
-
-class nsHTMLHtmlElement : public nsGenericHTMLElement,
-                          public nsIDOMHTMLHtmlElement
-{
-public:
-  nsHTMLHtmlElement(nsINodeInfo *aNodeInfo);
-  virtual ~nsHTMLHtmlElement();
-
-  // nsISupports
-  NS_DECL_ISUPPORTS_INHERITED
-
-  // nsIDOMNode
-  NS_FORWARD_NSIDOMNODE(nsGenericHTMLElement::)
-
-  // nsIDOMElement
-  NS_FORWARD_NSIDOMELEMENT(nsGenericHTMLElement::)
-
-  // nsIDOMHTMLElement
-  NS_FORWARD_NSIDOMHTMLELEMENT(nsGenericHTMLElement::)
-
-  // nsIDOMHTMLHtmlElement
-  NS_DECL_NSIDOMHTMLHTMLELEMENT
-
-  virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const;
-};
-
-
-NS_IMPL_NS_NEW_HTML_ELEMENT(Html)
-
-
-nsHTMLHtmlElement::nsHTMLHtmlElement(nsINodeInfo *aNodeInfo)
-  : nsGenericHTMLElement(aNodeInfo)
-{
-}
-
-nsHTMLHtmlElement::~nsHTMLHtmlElement()
-{
-}
-
-
-NS_IMPL_ADDREF_INHERITED(nsHTMLHtmlElement, nsGenericElement) 
-NS_IMPL_RELEASE_INHERITED(nsHTMLHtmlElement, nsGenericElement) 
-
-
-
-DOMCI_DATA(HTMLHtmlElement, nsHTMLHtmlElement)
-
-// QueryInterface implementation for nsHTMLHtmlElement
-NS_INTERFACE_TABLE_HEAD(nsHTMLHtmlElement)
-  NS_HTML_CONTENT_INTERFACE_TABLE1(nsHTMLHtmlElement, nsIDOMHTMLHtmlElement)
-  NS_HTML_CONTENT_INTERFACE_TABLE_TO_MAP_SEGUE(nsHTMLHtmlElement,
-                                               nsGenericHTMLElement)
-NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLHtmlElement)
-
-
-NS_IMPL_ELEMENT_CLONE(nsHTMLHtmlElement)
-
-
-NS_IMPL_STRING_ATTR(nsHTMLHtmlElement, Version, version)
--- a/content/html/content/src/nsHTMLSharedElement.cpp
+++ b/content/html/content/src/nsHTMLSharedElement.cpp
@@ -35,17 +35,18 @@
  *
  * ***** END LICENSE BLOCK ***** */
 #include "nsIDOMHTMLIsIndexElement.h"
 #include "nsIDOMHTMLParamElement.h"
 #include "nsIDOMHTMLBaseElement.h"
 #include "nsIDOMHTMLDirectoryElement.h"
 #include "nsIDOMHTMLMenuElement.h"
 #include "nsIDOMHTMLQuoteElement.h"
-#include "nsIDOMHTMLBaseFontElement.h"
+#include "nsIDOMHTMLHeadElement.h"
+#include "nsIDOMHTMLHtmlElement.h"
 #include "nsGenericHTMLElement.h"
 #include "nsGkAtoms.h"
 #include "nsStyleConsts.h"
 #include "nsRuleData.h"
 #include "nsMappedAttributes.h"
 #include "nsNetUtil.h"
 #include "nsHTMLFormElement.h"
 
@@ -54,17 +55,18 @@ extern nsAttrValue::EnumTable kListTypeT
 
 class nsHTMLSharedElement : public nsGenericHTMLElement,
                             public nsIDOMHTMLIsIndexElement,
                             public nsIDOMHTMLParamElement,
                             public nsIDOMHTMLBaseElement,
                             public nsIDOMHTMLDirectoryElement,
                             public nsIDOMHTMLMenuElement,
                             public nsIDOMHTMLQuoteElement,
-                            public nsIDOMHTMLBaseFontElement
+                            public nsIDOMHTMLHeadElement,
+                            public nsIDOMHTMLHtmlElement
 {
 public:
   nsHTMLSharedElement(nsINodeInfo *aNodeInfo);
   virtual ~nsHTMLSharedElement();
 
   // nsISupports
   NS_DECL_ISUPPORTS_INHERITED
 
@@ -90,18 +92,21 @@ public:
   NS_DECL_NSIDOMHTMLDIRECTORYELEMENT
 
   // nsIDOMHTMLMenuElement
   // Same as directoryelement
 
   // nsIDOMHTMLQuoteElement
   NS_DECL_NSIDOMHTMLQUOTEELEMENT
 
-  // nsIDOMHTMLBaseFontElement
-  NS_DECL_NSIDOMHTMLBASEFONTELEMENT
+  // nsIDOMHTMLHeadElement
+  NS_DECL_NSIDOMHTMLHEADELEMENT
+
+  // nsIDOMHTMLHtmlElement
+  NS_DECL_NSIDOMHTMLHTMLELEMENT
 
   // nsIContent
   virtual PRBool ParseAttribute(PRInt32 aNamespaceID,
                                 nsIAtom* aAttribute,
                                 const nsAString& aValue,
                                 nsAttrValue& aResult);
   nsresult SetAttr(PRInt32 aNameSpaceID, nsIAtom* aName,
                    const nsAString& aValue, PRBool aNotify)
@@ -148,80 +153,94 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLSharedEl
 DOMCI_DATA(HTMLParamElement, nsHTMLSharedElement)
 DOMCI_DATA(HTMLWBRElement, nsHTMLSharedElement)
 DOMCI_DATA(HTMLIsIndexElement, nsHTMLSharedElement)
 DOMCI_DATA(HTMLBaseElement, nsHTMLSharedElement)
 DOMCI_DATA(HTMLSpacerElement, nsHTMLSharedElement)
 DOMCI_DATA(HTMLDirectoryElement, nsHTMLSharedElement)
 DOMCI_DATA(HTMLMenuElement, nsHTMLSharedElement)
 DOMCI_DATA(HTMLQuoteElement, nsHTMLSharedElement)
-DOMCI_DATA(HTMLBaseFontElement, nsHTMLSharedElement)
+DOMCI_DATA(HTMLHeadElement, nsHTMLSharedElement)
+DOMCI_DATA(HTMLHtmlElement, nsHTMLSharedElement)
 
 // QueryInterface implementation for nsHTMLSharedElement
 NS_INTERFACE_TABLE_HEAD(nsHTMLSharedElement)
   NS_HTML_CONTENT_INTERFACE_TABLE_AMBIGUOUS_BEGIN(nsHTMLSharedElement,
                                                   nsIDOMHTMLParamElement)
   NS_OFFSET_AND_INTERFACE_TABLE_END
   NS_HTML_CONTENT_INTERFACE_TABLE_TO_MAP_SEGUE_AMBIGUOUS(nsHTMLSharedElement,
                                                          nsGenericHTMLElement,
                                                          nsIDOMHTMLParamElement)
   NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMHTMLParamElement, param)
   NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMHTMLIsIndexElement, isindex)
   NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMHTMLBaseElement, base)
   NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMHTMLDirectoryElement, dir)
   NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMHTMLMenuElement, menu)
   NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMHTMLQuoteElement, q)
   NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMHTMLQuoteElement, blockquote)
-  NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMHTMLBaseFontElement, basefont)
+  NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMHTMLHeadElement, head)
+  NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMHTMLHtmlElement, html)
 
   NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO_IF_TAG(HTMLParamElement, param)
   NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO_IF_TAG(HTMLWBRElement, wbr)
   NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO_IF_TAG(HTMLIsIndexElement, isindex)
   NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO_IF_TAG(HTMLBaseElement, base)
   NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO_IF_TAG(HTMLSpacerElement, spacer)
   NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO_IF_TAG(HTMLDirectoryElement, dir)
   NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO_IF_TAG(HTMLMenuElement, menu)
   NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO_IF_TAG(HTMLQuoteElement, q)
   NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO_IF_TAG(HTMLQuoteElement, blockquote)
-  NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO_IF_TAG(HTMLBaseFontElement, basefont)
+  NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO_IF_TAG(HTMLHeadElement, head)
+  NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO_IF_TAG(HTMLHtmlElement, html)
 NS_HTML_CONTENT_INTERFACE_MAP_END
 
 
 NS_IMPL_ELEMENT_CLONE(nsHTMLSharedElement)
 
 // nsIDOMHTMLParamElement
 NS_IMPL_STRING_ATTR(nsHTMLSharedElement, Name, name)
 NS_IMPL_STRING_ATTR(nsHTMLSharedElement, Type, type)
 NS_IMPL_STRING_ATTR(nsHTMLSharedElement, Value, value)
 NS_IMPL_STRING_ATTR(nsHTMLSharedElement, ValueType, valuetype)
 
 // nsIDOMHTMLIsIndexElement
 NS_IMPL_STRING_ATTR(nsHTMLSharedElement, Prompt, prompt)
+NS_IMETHODIMP
+nsHTMLSharedElement::GetForm(nsIDOMHTMLFormElement** aForm)
+{
+  NS_IF_ADDREF(*aForm = FindForm());
+
+  return NS_OK;
+}
 
 // nsIDOMHTMLDirectoryElement
 NS_IMPL_BOOL_ATTR(nsHTMLSharedElement, Compact, compact)
 
 // nsIDOMHTMLMenuElement
 //NS_IMPL_BOOL_ATTR(nsHTMLSharedElement, Compact, compact)
 
 // nsIDOMHTMLQuoteElement
 NS_IMPL_URI_ATTR(nsHTMLSharedElement, Cite, cite)
 
-// nsIDOMHTMLBaseFontElement
-NS_IMPL_STRING_ATTR(nsHTMLSharedElement, Color, color)
-NS_IMPL_STRING_ATTR(nsHTMLSharedElement, Face, face)
-NS_IMPL_INT_ATTR(nsHTMLSharedElement, Size, size)
-
+// nsIDOMHTMLHeadElement
+// Deprecated and not exposed to script, but has to be implemented in order to
+// not break binary compat.
 NS_IMETHODIMP
-nsHTMLSharedElement::GetForm(nsIDOMHTMLFormElement** aForm)
+nsHTMLSharedElement::GetProfile(nsAString& aValue)
 {
-  NS_IF_ADDREF(*aForm = FindForm());
+  return NS_ERROR_FAILURE;
+}
+NS_IMETHODIMP
+nsHTMLSharedElement::SetProfile(const nsAString& aValue)
+{
+  return NS_ERROR_FAILURE;
+}
 
-  return NS_OK;
-}
+// nsIDOMHTMLHtmlElement
+NS_IMPL_STRING_ATTR(nsHTMLSharedElement, Version, version)
 
 // nsIDOMHTMLBaseElement
 NS_IMPL_URI_ATTR(nsHTMLSharedElement, Href, href)
 NS_IMPL_STRING_ATTR(nsHTMLSharedElement, Target, target)
 
 PRBool
 nsHTMLSharedElement::ParseAttribute(PRInt32 aNamespaceID,
                                     nsIAtom* aAttribute,
@@ -245,21 +264,16 @@ nsHTMLSharedElement::ParseAttribute(PRIn
              mNodeInfo->Equals(nsGkAtoms::menu)) {
       if (aAttribute == nsGkAtoms::type) {
         return aResult.ParseEnumValue(aValue, kListTypeTable);
       }
       if (aAttribute == nsGkAtoms::start) {
         return aResult.ParseIntWithBounds(aValue, 1);
       }
     }
-    else if (mNodeInfo->Equals(nsGkAtoms::basefont)) {
-      if (aAttribute == nsGkAtoms::size) {
-        return aResult.ParseIntValue(aValue);
-      }
-    }
   }
 
   return nsGenericHTMLElement::ParseAttribute(aNamespaceID, aAttribute, aValue,
                                               aResult);
 }
 
 // spacer element code
 
--- a/content/html/content/test/test_bug389797.html
+++ b/content/html/content/test/test_bug389797.html
@@ -89,41 +89,41 @@ for each (var iface in objectIfaces) {
 }
 objectIfaces2.push("nsIImageLoadingContent");
 
 /* List copy/pasted from nsHTMLTagList.h, with the second field modified to the
    correct classinfo (instead of the impl class) in the following cases:
 
    applet
    base
-   basefont
    blockquote
    del
    dir
    dl
    embed
    ins
    isindex
    menu
    ol
    param
    q
    spacer
    ul
    wbr
+   head
+   html
  */
 HTML_TAG("a", "Anchor", [ "nsIDOMNSHTMLAnchorElement2" ]);
 HTML_TAG("abbr", "Span");
 HTML_TAG("acronym", "Span");
 HTML_TAG("address", "Span");
 HTML_TAG("applet", "Applet", [], objectIfaces);
 HTML_TAG("area", "Area", [ "nsIDOMNSHTMLAreaElement2" ]);
 HTML_TAG("b", "Span");
 HTML_TAG("base", "Base");
-HTML_TAG("basefont", "BaseFont");
 HTML_TAG("bdo", "Span");
 HTML_TAG("bgsound", "Span");
 HTML_TAG("big", "Span");
 HTML_TAG("blink", "Span");
 HTML_TAG("blockquote", "Quote");
 HTML_TAG("body", "Body");
 HTML_TAG("br", "BR");
 HTML_TAG("button", "Button");
--- a/content/html/document/test/test_documentAll.html
+++ b/content/html/document/test/test_documentAll.html
@@ -102,17 +102,17 @@ ok(testArraysSame(document.all, allElems
 length = document.all.length;
 expectedLength = length + p.getElementsByTagName("*").length + 1;
 p.appendChild(p.cloneNode(true));
 ok(testArraysSame(document.all, allElems), "arrays still same");
 is(document.all.length, expectedLength, "grew correctly");
 
 // Check which elements the 'name' attribute works on
 var elementNames =
-  ['applet','abbr','acronym','address','area','a','b','base','basefont',
+  ['applet','abbr','acronym','address','area','a','b','base',
    'bgsound','big','blink','blockquote','br','canvas','center','cite','code',
    'col','colgroup','dd','del','dfn','dir','div','dir','dl','dt','em','embed',
    'fieldset','font','form','frame','frameset','head','i','iframe','img',
    'input','ins','isindex','kbd','keygen','label','li','legend','link','menu',
    'multicol','noscript','noframes','object','spacer','table','td','td','th',
    'thead','tfoot','tr','textarea','select','option','spacer','param',
    'marquee','hr','title','hx','tt','u','ul','var','wbr','sub','sup','cite',
    'code','q','nobr','ol','p','pre','s','samp','small','body','html','map',
--- a/dom/base/nsDOMClassInfo.cpp
+++ b/dom/base/nsDOMClassInfo.cpp
@@ -247,17 +247,16 @@
 #include "nsIDOMNSHTMLElement.h"
 #include "nsIDOMHTMLAnchorElement.h"
 #include "nsIDOMNSHTMLAnchorElement2.h"
 #include "nsIDOMHTMLAppletElement.h"
 #include "nsIDOMHTMLAreaElement.h"
 #include "nsIDOMNSHTMLAreaElement2.h"
 #include "nsIDOMHTMLBRElement.h"
 #include "nsIDOMHTMLBaseElement.h"
-#include "nsIDOMHTMLBaseFontElement.h"
 #include "nsIDOMHTMLBodyElement.h"
 #include "nsIDOMHTMLButtonElement.h"
 #include "nsIDOMNSHTMLButtonElement.h"
 #include "nsIDOMHTMLCanvasElement.h"
 #include "nsIDOMHTMLDListElement.h"
 #include "nsIDOMHTMLDirectoryElement.h"
 #include "nsIDOMHTMLDivElement.h"
 #include "nsIDOMHTMLEmbedElement.h"
@@ -694,18 +693,16 @@ static nsDOMClassInfoData sClassInfoData
   NS_DEFINE_CLASSINFO_DATA(HTMLAppletElement, nsHTMLPluginObjElementSH,
                            EXTERNAL_OBJ_SCRIPTABLE_FLAGS)
   NS_DEFINE_CLASSINFO_DATA(HTMLAreaElement, nsElementSH,
                            ELEMENT_SCRIPTABLE_FLAGS)
   NS_DEFINE_CLASSINFO_DATA(HTMLBRElement, nsElementSH,
                            ELEMENT_SCRIPTABLE_FLAGS)
   NS_DEFINE_CLASSINFO_DATA(HTMLBaseElement, nsElementSH,
                            ELEMENT_SCRIPTABLE_FLAGS)
-  NS_DEFINE_CLASSINFO_DATA(HTMLBaseFontElement, nsElementSH,
-                           ELEMENT_SCRIPTABLE_FLAGS)
   NS_DEFINE_CLASSINFO_DATA(HTMLBodyElement, nsHTMLBodyElementSH,
                            ELEMENT_SCRIPTABLE_FLAGS)
   NS_DEFINE_CLASSINFO_DATA(HTMLButtonElement, nsElementSH,
                            ELEMENT_SCRIPTABLE_FLAGS)
   NS_DEFINE_CLASSINFO_DATA(HTMLDListElement, nsElementSH,
                            ELEMENT_SCRIPTABLE_FLAGS)
   NS_DEFINE_CLASSINFO_DATA(HTMLDelElement, nsElementSH,
                            ELEMENT_SCRIPTABLE_FLAGS)
@@ -2305,21 +2302,16 @@ nsDOMClassInfo::Init()
     DOM_CLASSINFO_GENERIC_HTML_MAP_ENTRIES
   DOM_CLASSINFO_MAP_END
 
   DOM_CLASSINFO_MAP_BEGIN(HTMLBaseElement, nsIDOMHTMLBaseElement)
     DOM_CLASSINFO_MAP_ENTRY(nsIDOMHTMLBaseElement)
     DOM_CLASSINFO_GENERIC_HTML_MAP_ENTRIES
   DOM_CLASSINFO_MAP_END
 
-  DOM_CLASSINFO_MAP_BEGIN(HTMLBaseFontElement, nsIDOMHTMLBaseFontElement)
-    DOM_CLASSINFO_MAP_ENTRY(nsIDOMHTMLBaseFontElement)
-    DOM_CLASSINFO_GENERIC_HTML_MAP_ENTRIES
-  DOM_CLASSINFO_MAP_END
-
   DOM_CLASSINFO_MAP_BEGIN(HTMLBodyElement, nsIDOMHTMLBodyElement)
     DOM_CLASSINFO_MAP_ENTRY(nsIDOMHTMLBodyElement)
     DOM_CLASSINFO_GENERIC_HTML_MAP_ENTRIES
   DOM_CLASSINFO_MAP_END
 
   DOM_CLASSINFO_MAP_BEGIN(HTMLButtonElement, nsIDOMHTMLButtonElement)
     DOM_CLASSINFO_MAP_ENTRY(nsIDOMHTMLButtonElement)
     DOM_CLASSINFO_MAP_ENTRY(nsIDOMNSHTMLButtonElement)
--- a/dom/base/nsDOMClassInfoClasses.h
+++ b/dom/base/nsDOMClassInfoClasses.h
@@ -83,17 +83,16 @@ DOMCI_CLASS(HTMLOptionsCollection)
 DOMCI_CLASS(HTMLCollection)
 
 // HTML element classes
 DOMCI_CLASS(HTMLAnchorElement)
 DOMCI_CLASS(HTMLAppletElement)
 DOMCI_CLASS(HTMLAreaElement)
 DOMCI_CLASS(HTMLBRElement)
 DOMCI_CLASS(HTMLBaseElement)
-DOMCI_CLASS(HTMLBaseFontElement)
 DOMCI_CLASS(HTMLBodyElement)
 DOMCI_CLASS(HTMLButtonElement)
 DOMCI_CLASS(HTMLDListElement)
 DOMCI_CLASS(HTMLDelElement)
 DOMCI_CLASS(HTMLDirectoryElement)
 DOMCI_CLASS(HTMLDivElement)
 DOMCI_CLASS(HTMLEmbedElement)
 DOMCI_CLASS(HTMLFieldSetElement)
@@ -381,21 +380,16 @@ DOMCI_CLASS(XMLSerializer)
 
 // XMLHttpRequest
 DOMCI_CLASS(XMLHttpProgressEvent)
 DOMCI_CLASS(XMLHttpRequest)
 
 DOMCI_CLASS(ClientRect)
 DOMCI_CLASS(ClientRectList)
 
-// We are now trying to preserve binary compat in classinfo.  No more
-// putting things in those categories up there.  New entries are to be
-// added here, which is the end of the things that are currently on by
-// default.
-
 #ifdef MOZ_SVG
 DOMCI_CLASS(SVGForeignObjectElement)
 #endif
 
 DOMCI_CLASS(XULCommandEvent)
 DOMCI_CLASS(CommandEvent)
 DOMCI_CLASS(OfflineResourceList)
 
--- a/dom/interfaces/html/Makefile.in
+++ b/dom/interfaces/html/Makefile.in
@@ -47,17 +47,16 @@ XPIDL_MODULE	= dom_html
 GRE_MODULE	= 1
 
 SDK_XPIDLSRCS =					\
 	nsIDOMHTMLAnchorElement.idl		\
 	nsIDOMHTMLAppletElement.idl		\
 	nsIDOMHTMLAreaElement.idl		\
 	nsIDOMHTMLBRElement.idl			\
 	nsIDOMHTMLBaseElement.idl		\
-	nsIDOMHTMLBaseFontElement.idl		\
 	nsIDOMHTMLBodyElement.idl		\
 	nsIDOMHTMLButtonElement.idl		\
 	nsIDOMHTMLCollection.idl		\
 	nsIDOMHTMLDListElement.idl		\
 	nsIDOMHTMLDirectoryElement.idl		\
 	nsIDOMHTMLDivElement.idl		\
 	nsIDOMHTMLDocument.idl			\
 	nsIDOMHTMLElement.idl			\
deleted file mode 100644
--- a/dom/interfaces/html/nsIDOMHTMLBaseFontElement.idl
+++ /dev/null
@@ -1,59 +0,0 @@
-/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is mozilla.org code.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 2000
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *   Vidur Apparao <vidur@netscape.com> (original author)
- *   Johnny Stenback <jst@netscape.com>
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either of the GNU General Public License Version 2 or later (the "GPL"),
- * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-#include "nsIDOMHTMLElement.idl"
-
-/**
- * The nsIDOMHTMLBaseFontElement interface is the interface to a
- * [X]HTML basefont element.
- *
- * For more information on this interface please see
- * http://www.w3.org/TR/DOM-Level-2-HTML/
- *
- * @status FROZEN
- */
-
-[scriptable, uuid(a6cf90a6-15b3-11d2-932e-00805f8add32)]
-interface nsIDOMHTMLBaseFontElement : nsIDOMHTMLElement
-{
-           attribute DOMString        color;
-           attribute DOMString        face;
-  // Modified in DOM Level 2:
-           attribute long             size;
-};
--- a/dom/interfaces/html/nsIDOMHTMLHeadElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLHeadElement.idl
@@ -47,10 +47,10 @@
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * @status FROZEN
  */
 
 [scriptable, uuid(a6cf9087-15b3-11d2-932e-00805f8add32)]
 interface nsIDOMHTMLHeadElement : nsIDOMHTMLElement
 {
-           attribute DOMString        profile;
+           [noscript] attribute DOMString        profile;
 };
--- a/dom/tests/mochitest/bugs/test_bug396843.html
+++ b/dom/tests/mochitest/bugs/test_bug396843.html
@@ -36,17 +36,17 @@ function HTML_TAG(name) {
 HTML_TAG("a", "Anchor")
 HTML_TAG("abbr", "Span")
 HTML_TAG("acronym", "Span")
 HTML_TAG("address", "Span")
 HTML_TAG("applet", "SharedObject")
 HTML_TAG("area", "Area")
 HTML_TAG("b", "Span")
 HTML_TAG("base", "Shared")
-HTML_TAG("basefont", "Shared")
+HTML_TAG("basefont", "Span")
 HTML_TAG("bdo", "Span")
 HTML_TAG("bgsound", "Span")
 HTML_TAG("big", "Span")
 HTML_TAG("blink", "Span")
 HTML_TAG("blockquote", "Shared")
 HTML_TAG("body", "Body")
 HTML_TAG("br", "BR")
 HTML_TAG("button", "Button")
--- a/dom/tests/mochitest/dom-level2-html/Makefile.in
+++ b/dom/tests/mochitest/dom-level2-html/Makefile.in
@@ -54,17 +54,16 @@ include $(topsrcdir)/config/rules.mk
 		test_anchor03.html \
 		test_anchor04.html \
 		test_anchor05.html \
 		test_anchor06.html \
 		test_area01.html \
 		test_area02.html \
 		test_area03.html \
 		test_area04.html \
-		test_basefont01.html \
 		test_body01.html \
 		test_button01.html \
 		test_button02.html \
 		test_button03.html \
 		test_button04.html \
 		test_button05.html \
 		test_button06.html \
 		test_button07.html \
@@ -91,19 +90,16 @@ include $(topsrcdir)/config/rules.mk
 		test_HTMLAreaElement03.html \
 		test_HTMLAreaElement04.html \
 		test_HTMLAreaElement05.html \
 		test_HTMLAreaElement06.html \
 		test_HTMLAreaElement07.html \
 		test_HTMLAreaElement08.html \
 		test_HTMLBaseElement01.html \
 		test_HTMLBaseElement02.html \
-		test_HTMLBaseFontElement01.html \
-		test_HTMLBaseFontElement02.html \
-		test_HTMLBaseFontElement03.html \
 		test_HTMLBodyElement01.html \
 		test_HTMLBodyElement02.html \
 		test_HTMLBodyElement03.html \
 		test_HTMLBodyElement04.html \
 		test_HTMLBodyElement05.html \
 		test_HTMLBodyElement06.html \
 		test_HTMLBodyElement07.html \
 		test_HTMLBodyElement08.html \
@@ -334,17 +330,16 @@ include $(topsrcdir)/config/rules.mk
 		test_HTMLFrameElement04.html \
 		test_HTMLFrameElement05.html \
 		test_HTMLFrameElement06.html \
 		test_HTMLFrameElement07.html \
 		test_HTMLFrameElement08.html \
 		test_HTMLFrameElement09.html \
 		test_HTMLFrameSetElement01.html \
 		test_HTMLFrameSetElement02.html \
-		test_HTMLHeadElement01.html \
 		test_HTMLHeadingElement01.html \
 		test_HTMLHeadingElement02.html \
 		test_HTMLHeadingElement03.html \
 		test_HTMLHeadingElement04.html \
 		test_HTMLHeadingElement05.html \
 		test_HTMLHeadingElement06.html \
 		test_HTMLHRElement01.html \
 		test_HTMLHRElement02.html \
--- a/dom/tests/mochitest/dom-level2-html/files/Makefile.in
+++ b/dom/tests/mochitest/dom-level2-html/files/Makefile.in
@@ -65,19 +65,16 @@ include $(topsrcdir)/config/rules.mk
 		area2.xhtml \
 		area2.xml \
 		base.html \
 		base.xhtml \
 		base.xml \
 		base2.html \
 		base2.xhtml \
 		base2.xml \
-		basefont.html \
-		basefont.xhtml \
-		basefont.xml \
 		body.html \
 		body.xhtml \
 		body.xml \
 		br.html \
 		br.xhtml \
 		br.xml \
 		button.html \
 		button.xhtml \
@@ -119,19 +116,16 @@ include $(topsrcdir)/config/rules.mk
 		frame.xhtml \
 		frame.xml \
 		frame2.html \
 		frame2.xhtml \
 		frame2.xml \
 		frameset.html \
 		frameset.xhtml \
 		frameset.xml \
-		head.html \
-		head.xhtml \
-		head.xml \
 		heading.html \
 		heading.xhtml \
 		heading.xml \
 		hr.html \
 		hr.xhtml \
 		hr.xml \
                 html.html \
                 html.xhtml \
deleted file mode 100644
--- a/dom/tests/mochitest/dom-level2-html/files/basefont.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-<HEAD>
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=utf-8">
-<TITLE>NIST DOM HTML Test - BaseFont</TITLE>
-</HEAD>
-<BODY onload="parent.loadComplete()">
-<P>
-<BASEFONT COLOR="#000000" FACE="arial,helvitica" SIZE="4">
-</P>
-</BODY>
-</HTML>
deleted file mode 100644
--- a/dom/tests/mochitest/dom-level2-html/files/basefont.xhtml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html
-   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-   "xhtml1-transitional.dtd">
-<html xmlns='http://www.w3.org/1999/xhtml'>
-<head>
-<title>NIST DOM HTML Test - BaseFont</title>
-</head>
-<body onload="parent.loadComplete()">
-<p>
-<basefont color="#000000" face="arial,helvitica" size="4"/>
-</p>
-</body>
-</html>
deleted file mode 100644
--- a/dom/tests/mochitest/dom-level2-html/files/basefont.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html
-   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-   "xhtml1-transitional.dtd">
-<html xmlns='http://www.w3.org/1999/xhtml'>
-<head>
-<title>NIST DOM HTML Test - BaseFont</title>
-</head>
-<body onload="parent.loadComplete()">
-<p>
-<basefont color="#000000" face="arial,helvitica" size="4"/>
-</p>
-</body>
-</html>
deleted file mode 100644
--- a/dom/tests/mochitest/dom-level2-html/files/head.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<HTML>
-<HEAD PROFILE="http://xw2k.sdct.itl.nist.gov/brady/dom/files/profile">
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=utf-8">
-<TITLE>NIST DOM HTML Test - HEAD</TITLE>
-</HEAD>
-<BODY onload="parent.loadComplete()">
-<P>Hello, World.</P>
-</BODY>
-</HTML>
-
deleted file mode 100644
--- a/dom/tests/mochitest/dom-level2-html/files/head.xhtml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html
-   PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-   "xhtml1-strict.dtd">
-<html xmlns='http://www.w3.org/1999/xhtml'>
-<head profile="http://xw2k.sdct.itl.nist.gov/brady/dom/files/profile">
-<title>NIST DOM HTML Test - HEAD</title>
-</head>
-<body onload="parent.loadComplete()">
-<p>Hello, World.</p>
-</body>
-</html>
-
deleted file mode 100644
--- a/dom/tests/mochitest/dom-level2-html/files/head.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html
-   PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-   "xhtml1-strict.dtd">
-<html xmlns='http://www.w3.org/1999/xhtml'>
-<head profile="http://xw2k.sdct.itl.nist.gov/brady/dom/files/profile">
-<title>NIST DOM HTML Test - HEAD</title>
-</head>
-<body onload="parent.loadComplete()">
-<p>Hello, World.</p>
-</body>
-</html>
-
--- a/dom/tests/mochitest/dom-level2-html/files/index.html
+++ b/dom/tests/mochitest/dom-level2-html/files/index.html
@@ -27,19 +27,16 @@
 <tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]" width="20" height="22" /></td><td><a href="area2.xhtml">area2.xhtml</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">401 </td></tr>
 <tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]" width="20" height="22" /></td><td><a href="area2.xml">area2.xml</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">401 </td></tr>
 <tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]" width="20" height="22" /></td><td><a href="base.html">base.html</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">292 </td><td>NIST DOM HTML Test - Base</td></tr>
 <tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]" width="20" height="22" /></td><td><a href="base.xhtml">base.xhtml</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">321 </td></tr>
 <tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]" width="20" height="22" /></td><td><a href="base.xml">base.xml</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">321 </td></tr>
 <tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]" width="20" height="22" /></td><td><a href="base2.html">base2.html</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">544 </td><td>NIST DOM HTML Test - Base2</td></tr>
 <tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]" width="20" height="22" /></td><td><a href="base2.xhtml">base2.xhtml</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">542 </td></tr>
 <tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]" width="20" height="22" /></td><td><a href="base2.xml">base2.xml</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">542 </td></tr>
-<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]" width="20" height="22" /></td><td><a href="basefont.html">basefont.html</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">321 </td><td>NIST DOM HTML Test - BaseFont</td></tr>
-<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]" width="20" height="22" /></td><td><a href="basefont.xhtml">basefont.xhtml</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">362 </td></tr>
-<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]" width="20" height="22" /></td><td><a href="basefont.xml">basefont.xml</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">362 </td></tr>
 <tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]" width="20" height="22" /></td><td><a href="body.html">body.html</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">379 </td><td>NIST DOM HTML Test - Body</td></tr>
 <tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]" width="20" height="22" /></td><td><a href="body.xhtml">body.xhtml</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">476 </td></tr>
 <tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]" width="20" height="22" /></td><td><a href="body.xml">body.xml</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">476 </td></tr>
 <tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]" width="20" height="22" /></td><td><a href="br.html">br.html</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">274 </td><td>NIST DOM HTML Test - BR</td></tr>
 <tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]" width="20" height="22" /></td><td><a href="br.xhtml">br.xhtml</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">315 </td></tr>
 <tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]" width="20" height="22" /></td><td><a href="br.xml">br.xml</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">315 </td></tr>
 <tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]" width="20" height="22" /></td><td><a href="button.html">button.html</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">550 </td><td>NIST DOM HTML Test - Button</td></tr>
 <tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]" width="20" height="22" /></td><td><a href="button.xhtml">button.xhtml</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">592 </td></tr>
@@ -81,19 +78,16 @@
 <tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]" width="20" height="22" /></td><td><a href="frame.xhtml">frame.xhtml</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">522 </td></tr>
 <tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]" width="20" height="22" /></td><td><a href="frame.xml">frame.xml</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">522 </td></tr>
 <tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]" width="20" height="22" /></td><td><a href="frame2.html">frame2.html</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">560 </td><td>NIST DOM HTML Test - FRAME2</td></tr>
 <tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]" width="20" height="22" /></td><td><a href="frame2.xhtml">frame2.xhtml</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">558 </td></tr>
 <tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]" width="20" height="22" /></td><td><a href="frame2.xml">frame2.xml</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">518 </td></tr>
 <tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]" width="20" height="22" /></td><td><a href="frameset.html">frameset.html</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">403 </td><td>NIST DOM HTML Test - FRAMESET</td></tr>
 <tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]" width="20" height="22" /></td><td><a href="frameset.xhtml">frameset.xhtml</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">402 </td></tr>
 <tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]" width="20" height="22" /></td><td><a href="frameset.xml">frameset.xml</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">402 </td></tr>
-<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]" width="20" height="22" /></td><td><a href="head.html">head.html</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">322 </td><td>NIST DOM HTML Test - HEAD</td></tr>
-<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]" width="20" height="22" /></td><td><a href="head.xhtml">head.xhtml</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">363 </td></tr>
-<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]" width="20" height="22" /></td><td><a href="head.xml">head.xml</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">363 </td></tr>
 <tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]" width="20" height="22" /></td><td><a href="heading.html">heading.html</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">483 </td><td>NIST DOM HTML Test - HEADING</td></tr>
 <tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]" width="20" height="22" /></td><td><a href="heading.xhtml">heading.xhtml</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">521 </td></tr>
 <tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]" width="20" height="22" /></td><td><a href="heading.xml">heading.xml</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">521 </td></tr>
 <tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]" width="20" height="22" /></td><td><a href="hr.html">hr.html</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">309 </td><td>NIST DOM HTML Test - HR</td></tr>
 <tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]" width="20" height="22" /></td><td><a href="hr.xhtml">hr.xhtml</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">348 </td></tr>
 <tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]" width="20" height="22" /></td><td><a href="hr.xml">hr.xml</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">348 </td></tr>
 <tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]" width="20" height="22" /></td><td><a href="html.html">html.html</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">321 </td><td>NIST DOM HTML Test - Html</td></tr>
 <tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]" width="20" height="22" /></td><td><a href="html.xhtml">html.xhtml</a></td><td align="right">05-Apr-2004 14:39  </td><td align="right">300 </td></tr>
deleted file mode 100644
--- a/dom/tests/mochitest/dom-level2-html/test_HTMLBaseFontElement01.html
+++ /dev/null
@@ -1,133 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
-<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
-<title>http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBaseFontElement01</title>
-<link type="text/css" rel="stylesheet" href="/tests/SimpleTest/test.css">
-<script src="/MochiKit/packed.js" type="text/javascript"></script><script src="/tests/SimpleTest/SimpleTest.js" type="text/javascript"></script><script src="DOMTestCase.js" type="text/javascript"></script><script type="text/javascript">
-// expose test function names
-function exposeTestFunctionNames()
-{
-return ['HTMLBaseFontElement01'];
-}
-
-var docsLoaded = -1000000;
-var builder = null;
-
-//
-//   This function is called by the testing framework before
-//      running the test suite.
-//
-//   If there are no configuration exceptions, asynchronous
-//        document loading is started.  Otherwise, the status
-//        is set to complete and the exception is immediately
-//        raised when entering the body of the test.
-//
-function setUpPage() {
-   setUpPageStatus = 'running';
-   try {
-     //
-     //   creates test document builder, may throw exception
-     //
-     builder = createConfiguredBuilder();
-
-      docsLoaded = 0;
-      
-      var docRef = null;
-      if (typeof(this.doc) != 'undefined') {
-        docRef = this.doc;
-      }
-      docsLoaded += preload(docRef, "doc", "basefont");
-        
-       if (docsLoaded == 1) {
-          setUpPage = 'complete';
-       }
-    } catch(ex) {
-    	catchInitializationError(builder, ex);
-        setUpPage = 'complete';
-    }
-}
-
-
-
-//
-//   This method is called on the completion of 
-//      each asychronous load started in setUpTests.
-//
-//   When every synchronous loaded document has completed,
-//      the page status is changed which allows the
-//      body of the test to be executed.
-function loadComplete() {
-    if (++docsLoaded == 1) {
-        setUpPageStatus = 'complete';
-        runJSUnitTests();
-        SimpleTest.finish();
-    }
-}
-
-
-/**
-* 
-    The color attribute specifies the base font's color. 
-
-    Retrieve the color attribute and examine its value.  
-
-* @author NIST
-* @author Mary Brady
-* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87502302
-*/
-function HTMLBaseFontElement01() {
-   var success;
-    if(checkInitialization(builder, "HTMLBaseFontElement01") != null) return;
-    var nodeList;
-      var testNode;
-      var vcolor;
-      var doc;
-      
-      var docRef = null;
-      if (typeof(this.doc) != 'undefined') {
-        docRef = this.doc;
-      }
-      doc = load(docRef, "doc", "basefont");
-      nodeList = doc.getElementsByTagName("basefont");
-      assertSize("Asize",1,nodeList);
-testNode = nodeList.item(0);
-      vcolor = testNode.color;
-
-      assertEquals("colorLink","#000000",vcolor);
-       
-}
-
-</script>
-</head>
-<body>
-<h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBaseFontElement01</h2>
-<p>&lt;test name='HTMLBaseFontElement01' schemaLocation='http://www.w3.org/2001/DOM-Test-Suite/Level-1 dom1.xsd'&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;metadata&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;title&gt;HTMLBaseFontElement01&lt;/title&gt;
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;creator&gt;NIST&lt;/creator&gt;
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;description&gt;
-    The color attribute specifies the base font's color. 
-
-    Retrieve the color attribute and examine its value.  
-&lt;/description&gt;
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;contributor&gt;Mary Brady&lt;/contributor&gt;
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;date qualifier='created'&gt;2002-02-22&lt;/date&gt;
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;subject resource='<a href="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87502302">http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87502302</a>'/&gt;
-<br>&lt;/metadata&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;var name='nodeList' type='NodeList'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;var name='testNode' type='Node'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;var name='vcolor' type='DOMString'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;var name='doc' type='Document'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;load var='doc' href='basefont' willBeModified='false'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;getElementsByTagName interface='Document' obj='doc' var='nodeList' tagname='"basefont"'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;assertSize collection='nodeList' size='1' <a id="Asize">id='Asize'</a>/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;item interface='NodeList' obj='nodeList' var='testNode' index='0'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;color interface='HTMLBaseFontElement' obj='testNode' var='vcolor'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;assertEquals actual='vcolor' expected='"#000000"' <a id="colorLink">id='colorLink'</a> ignoreCase='false'/&gt;<br>&lt;/test&gt;<br>
-</p>
-<p>
-			Copyright (c) 2001-2004 World Wide Web Consortium,
-			(Massachusetts Institute of Technology, Institut National de
-			Recherche en Informatique et en Automatique, Keio University). All
-			Rights Reserved. This program is distributed under the W3C's Software
-			Intellectual Property License. This program 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.
-			</p>
-<p>See W3C License <a href="http://www.w3.org/Consortium/Legal/">http://www.w3.org/Consortium/Legal/</a> 
- for more details.</p>
-<iframe name="doc" src="files/basefont.html"></iframe>
-<br>
-</body>
-</html>
deleted file mode 100644
--- a/dom/tests/mochitest/dom-level2-html/test_HTMLBaseFontElement02.html
+++ /dev/null
@@ -1,133 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
-<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
-<title>http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBaseFontElement02</title>
-<link type="text/css" rel="stylesheet" href="/tests/SimpleTest/test.css">
-<script src="/MochiKit/packed.js" type="text/javascript"></script><script src="/tests/SimpleTest/SimpleTest.js" type="text/javascript"></script><script src="DOMTestCase.js" type="text/javascript"></script><script type="text/javascript">
-// expose test function names
-function exposeTestFunctionNames()
-{
-return ['HTMLBaseFontElement02'];
-}
-
-var docsLoaded = -1000000;
-var builder = null;
-
-//
-//   This function is called by the testing framework before
-//      running the test suite.
-//
-//   If there are no configuration exceptions, asynchronous
-//        document loading is started.  Otherwise, the status
-//        is set to complete and the exception is immediately
-//        raised when entering the body of the test.
-//
-function setUpPage() {
-   setUpPageStatus = 'running';
-   try {
-     //
-     //   creates test document builder, may throw exception
-     //
-     builder = createConfiguredBuilder();
-
-      docsLoaded = 0;
-      
-      var docRef = null;
-      if (typeof(this.doc) != 'undefined') {
-        docRef = this.doc;
-      }
-      docsLoaded += preload(docRef, "doc", "basefont");
-        
-       if (docsLoaded == 1) {
-          setUpPage = 'complete';
-       }
-    } catch(ex) {
-    	catchInitializationError(builder, ex);
-        setUpPage = 'complete';
-    }
-}
-
-
-
-//
-//   This method is called on the completion of 
-//      each asychronous load started in setUpTests.
-//
-//   When every synchronous loaded document has completed,
-//      the page status is changed which allows the
-//      body of the test to be executed.
-function loadComplete() {
-    if (++docsLoaded == 1) {
-        setUpPageStatus = 'complete';
-        runJSUnitTests();
-        SimpleTest.finish();
-    }
-}
-
-
-/**
-* 
-    The face attribute specifies the base font's face identifier. 
-
-    Retrieve the face attribute and examine its value.  
-
-* @author NIST
-* @author Mary Brady
-* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88128969
-*/
-function HTMLBaseFontElement02() {
-   var success;
-    if(checkInitialization(builder, "HTMLBaseFontElement02") != null) return;
-    var nodeList;
-      var testNode;
-      var vface;
-      var doc;
-      
-      var docRef = null;
-      if (typeof(this.doc) != 'undefined') {
-        docRef = this.doc;
-      }
-      doc = load(docRef, "doc", "basefont");
-      nodeList = doc.getElementsByTagName("basefont");
-      assertSize("Asize",1,nodeList);
-testNode = nodeList.item(0);
-      vface = testNode.face;
-
-      assertEquals("faceLink","arial,helvitica",vface);
-       
-}
-
-</script>
-</head>
-<body>
-<h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBaseFontElement02</h2>
-<p>&lt;test name='HTMLBaseFontElement02' schemaLocation='http://www.w3.org/2001/DOM-Test-Suite/Level-1 dom1.xsd'&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;metadata&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;title&gt;HTMLBaseFontElement02&lt;/title&gt;
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;creator&gt;NIST&lt;/creator&gt;
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;description&gt;
-    The face attribute specifies the base font's face identifier. 
-
-    Retrieve the face attribute and examine its value.  
-&lt;/description&gt;
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;contributor&gt;Mary Brady&lt;/contributor&gt;
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;date qualifier='created'&gt;2002-02-22&lt;/date&gt;
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;subject resource='<a href="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88128969">http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88128969</a>'/&gt;
-<br>&lt;/metadata&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;var name='nodeList' type='NodeList'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;var name='testNode' type='Node'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;var name='vface' type='DOMString'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;var name='doc' type='Document'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;load var='doc' href='basefont' willBeModified='false'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;getElementsByTagName interface='Document' obj='doc' var='nodeList' tagname='"basefont"'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;assertSize collection='nodeList' size='1' <a id="Asize">id='Asize'</a>/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;item interface='NodeList' obj='nodeList' var='testNode' index='0'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;face interface='HTMLBaseFontElement' obj='testNode' var='vface'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;assertEquals actual='vface' expected='"arial,helvitica"' <a id="faceLink">id='faceLink'</a> ignoreCase='false'/&gt;<br>&lt;/test&gt;<br>
-</p>
-<p>
-			Copyright (c) 2001-2004 World Wide Web Consortium,
-			(Massachusetts Institute of Technology, Institut National de
-			Recherche en Informatique et en Automatique, Keio University). All
-			Rights Reserved. This program is distributed under the W3C's Software
-			Intellectual Property License. This program 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.
-			</p>
-<p>See W3C License <a href="http://www.w3.org/Consortium/Legal/">http://www.w3.org/Consortium/Legal/</a> 
- for more details.</p>
-<iframe name="doc" src="files/basefont.html"></iframe>
-<br>
-</body>
-</html>
deleted file mode 100644
--- a/dom/tests/mochitest/dom-level2-html/test_HTMLBaseFontElement03.html
+++ /dev/null
@@ -1,133 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
-<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
-<title>http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBaseFontElement03</title>
-<link type="text/css" rel="stylesheet" href="/tests/SimpleTest/test.css">
-<script src="/MochiKit/packed.js" type="text/javascript"></script><script src="/tests/SimpleTest/SimpleTest.js" type="text/javascript"></script><script src="DOMTestCase.js" type="text/javascript"></script><script type="text/javascript">
-// expose test function names
-function exposeTestFunctionNames()
-{
-return ['HTMLBaseFontElement03'];
-}
-
-var docsLoaded = -1000000;
-var builder = null;
-
-//
-//   This function is called by the testing framework before
-//      running the test suite.
-//
-//   If there are no configuration exceptions, asynchronous
-//        document loading is started.  Otherwise, the status
-//        is set to complete and the exception is immediately
-//        raised when entering the body of the test.
-//
-function setUpPage() {
-   setUpPageStatus = 'running';
-   try {
-     //
-     //   creates test document builder, may throw exception
-     //
-     builder = createConfiguredBuilder();
-
-      docsLoaded = 0;
-      
-      var docRef = null;
-      if (typeof(this.doc) != 'undefined') {
-        docRef = this.doc;
-      }
-      docsLoaded += preload(docRef, "doc", "basefont");
-        
-       if (docsLoaded == 1) {
-          setUpPage = 'complete';
-       }
-    } catch(ex) {
-    	catchInitializationError(builder, ex);
-        setUpPage = 'complete';
-    }
-}
-
-
-
-//
-//   This method is called on the completion of 
-//      each asychronous load started in setUpTests.
-//
-//   When every synchronous loaded document has completed,
-//      the page status is changed which allows the
-//      body of the test to be executed.
-function loadComplete() {
-    if (++docsLoaded == 1) {
-        setUpPageStatus = 'complete';
-        runJSUnitTests();
-        SimpleTest.finish();
-    }
-}
-
-
-/**
-* 
-    The size attribute specifies the base font's size. 
-
-    Retrieve the size attribute and examine it's value.  
-
-* @author NIST
-* @author Mary Brady
-* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-38930424
-*/
-function HTMLBaseFontElement03() {
-   var success;
-    if(checkInitialization(builder, "HTMLBaseFontElement03") != null) return;
-    var nodeList;
-      var testNode;
-      var vsize;
-      var doc;
-      
-      var docRef = null;
-      if (typeof(this.doc) != 'undefined') {
-        docRef = this.doc;
-      }
-      doc = load(docRef, "doc", "basefont");
-      nodeList = doc.getElementsByTagName("basefont");
-      assertSize("Asize",1,nodeList);
-testNode = nodeList.item(0);
-      vsize = testNode.size;
-
-      assertEquals("sizeLink",4,vsize);
-       
-}
-
-</script>
-</head>
-<body>
-<h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBaseFontElement03</h2>
-<p>&lt;test name='HTMLBaseFontElement03' schemaLocation='http://www.w3.org/2001/DOM-Test-Suite/Level-2 dom2.xsd'&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;metadata&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;title&gt;HTMLBaseFontElement03&lt;/title&gt;
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;creator&gt;NIST&lt;/creator&gt;
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;description&gt;
-    The size attribute specifies the base font's size. 
-
-    Retrieve the size attribute and examine it's value.  
-&lt;/description&gt;
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;contributor&gt;Mary Brady&lt;/contributor&gt;
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;date qualifier='created'&gt;2001-12-03&lt;/date&gt;
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;subject resource='<a href="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-38930424">http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-38930424</a>'/&gt;
-<br>&lt;/metadata&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;var name='nodeList' type='NodeList'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;var name='testNode' type='Node'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;var name='vsize' type='int'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;var name='doc' type='Node'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;load var='doc' href='basefont' willBeModified='false'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;getElementsByTagName interface='Document' obj='doc' var='nodeList' tagname='"basefont"'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;assertSize collection='nodeList' size='1' <a id="Asize">id='Asize'</a>/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;item interface='NodeList' obj='nodeList' var='testNode' index='0'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;size interface='HTMLBaseFontElement' obj='testNode' var='vsize'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;assertEquals actual='vsize' expected='4' <a id="sizeLink">id='sizeLink'</a> ignoreCase='false'/&gt;<br>&lt;/test&gt;<br>
-</p>
-<p>
-			Copyright (c) 2001-2004 World Wide Web Consortium,
-			(Massachusetts Institute of Technology, Institut National de
-			Recherche en Informatique et en Automatique, Keio University). All
-			Rights Reserved. This program is distributed under the W3C's Software
-			Intellectual Property License. This program 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.
-			</p>
-<p>See W3C License <a href="http://www.w3.org/Consortium/Legal/">http://www.w3.org/Consortium/Legal/</a> 
- for more details.</p>
-<iframe name="doc" src="files/basefont.html"></iframe>
-<br>
-</body>
-</html>
deleted file mode 100644
--- a/dom/tests/mochitest/dom-level2-html/test_HTMLHeadElement01.html
+++ /dev/null
@@ -1,133 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
-<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
-<title>http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLHeadElement01</title>
-<link type="text/css" rel="stylesheet" href="/tests/SimpleTest/test.css">
-<script src="/MochiKit/packed.js" type="text/javascript"></script><script src="/tests/SimpleTest/SimpleTest.js" type="text/javascript"></script><script src="DOMTestCase.js" type="text/javascript"></script><script type="text/javascript">
-// expose test function names
-function exposeTestFunctionNames()
-{
-return ['HTMLHeadElement01'];
-}
-
-var docsLoaded = -1000000;
-var builder = null;
-
-//
-//   This function is called by the testing framework before
-//      running the test suite.
-//
-//   If there are no configuration exceptions, asynchronous
-//        document loading is started.  Otherwise, the status
-//        is set to complete and the exception is immediately
-//        raised when entering the body of the test.
-//
-function setUpPage() {
-   setUpPageStatus = 'running';
-   try {
-     //
-     //   creates test document builder, may throw exception
-     //
-     builder = createConfiguredBuilder();
-
-      docsLoaded = 0;
-      
-      var docRef = null;
-      if (typeof(this.doc) != 'undefined') {
-        docRef = this.doc;
-      }
-      docsLoaded += preload(docRef, "doc", "head");
-        
-       if (docsLoaded == 1) {
-          setUpPage = 'complete';
-       }
-    } catch(ex) {
-    	catchInitializationError(builder, ex);
-        setUpPage = 'complete';
-    }
-}
-
-
-
-//
-//   This method is called on the completion of 
-//      each asychronous load started in setUpTests.
-//
-//   When every synchronous loaded document has completed,
-//      the page status is changed which allows the
-//      body of the test to be executed.
-function loadComplete() {
-    if (++docsLoaded == 1) {
-        setUpPageStatus = 'complete';
-        runJSUnitTests();
-        SimpleTest.finish();
-    }
-}
-
-
-/**
-* 
-    The profile attribute specifies a URI designating a metadata profile. 
-
-    Retrieve the profile attribute and examine its value.  
-
-* @author NIST
-* @author Mary Brady
-* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96921909
-*/
-function HTMLHeadElement01() {
-   var success;
-    if(checkInitialization(builder, "HTMLHeadElement01") != null) return;
-    var nodeList;
-      var testNode;
-      var vprofile;
-      var doc;
-      
-      var docRef = null;
-      if (typeof(this.doc) != 'undefined') {
-        docRef = this.doc;
-      }
-      doc = load(docRef, "doc", "head");
-      nodeList = doc.getElementsByTagName("head");
-      assertSize("Asize",1,nodeList);
-testNode = nodeList.item(0);
-      vprofile = testNode.profile;
-
-      assertURIEquals("profileLink",null,null,null,"profile",null,null,null,null,vprofile);
-
-}
-
-</script>
-</head>
-<body>
-<h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLHeadElement01</h2>
-<p>&lt;test name='HTMLHeadElement01' schemaLocation='http://www.w3.org/2001/DOM-Test-Suite/Level-1 dom1.xsd'&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;metadata&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;title&gt;HTMLHeadElement01&lt;/title&gt;
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;creator&gt;NIST&lt;/creator&gt;
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;description&gt;
-    The profile attribute specifies a URI designating a metadata profile. 
-
-    Retrieve the profile attribute and examine its value.  
-&lt;/description&gt;
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;contributor&gt;Mary Brady&lt;/contributor&gt;
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;date qualifier='created'&gt;2002-02-22&lt;/date&gt;
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;subject resource='<a href="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96921909">http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96921909</a>'/&gt;
-<br>&lt;/metadata&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;var name='nodeList' type='NodeList'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;var name='testNode' type='Node'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;var name='vprofile' type='DOMString'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;var name='doc' type='Document'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;load var='doc' href='head' willBeModified='false'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;getElementsByTagName interface='Document' obj='doc' var='nodeList' tagname='"head"'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;assertSize collection='nodeList' size='1' <a id="Asize">id='Asize'</a>/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;item interface='NodeList' obj='nodeList' var='testNode' index='0'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;profile interface='HTMLHeadElement' obj='testNode' var='vprofile'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;assertURIEquals actual='vprofile' file='"profile"' <a id="profileLink">id='profileLink'</a>/&gt;<br>&lt;/test&gt;<br>
-</p>
-<p>
-			Copyright (c) 2001-2004 World Wide Web Consortium,
-			(Massachusetts Institute of Technology, Institut National de
-			Recherche en Informatique et en Automatique, Keio University). All
-			Rights Reserved. This program is distributed under the W3C's Software
-			Intellectual Property License. This program 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.
-			</p>
-<p>See W3C License <a href="http://www.w3.org/Consortium/Legal/">http://www.w3.org/Consortium/Legal/</a> 
- for more details.</p>
-<iframe name="doc" src="files/head.html"></iframe>
-<br>
-</body>
-</html>
--- a/dom/tests/mochitest/dom-level2-html/test_alltests.html
+++ b/dom/tests/mochitest/dom-level2-html/test_alltests.html
@@ -42,19 +42,16 @@ function suite() {
   newsuite.addTestPage("../level2/html/HTMLAreaElement04.html");  
   newsuite.addTestPage("../level2/html/HTMLAreaElement05.html");  
   newsuite.addTestPage("../level2/html/HTMLAreaElement06.html");  
   newsuite.addTestPage("../level2/html/HTMLAreaElement07.html");  
   newsuite.addTestPage("../level2/html/HTMLAreaElement08.html");  
   newsuite.addTestPage("../level2/html/HTMLBRElement01.html");  
   newsuite.addTestPage("../level2/html/HTMLBaseElement01.html");  
   newsuite.addTestPage("../level2/html/HTMLBaseElement02.html");  
-  newsuite.addTestPage("../level2/html/HTMLBaseFontElement01.html");  
-  newsuite.addTestPage("../level2/html/HTMLBaseFontElement02.html");  
-  newsuite.addTestPage("../level2/html/HTMLBaseFontElement03.html");  
   newsuite.addTestPage("../level2/html/HTMLBodyElement01.html");  
   newsuite.addTestPage("../level2/html/HTMLBodyElement02.html");  
   newsuite.addTestPage("../level2/html/HTMLBodyElement03.html");  
   newsuite.addTestPage("../level2/html/HTMLBodyElement04.html");  
   newsuite.addTestPage("../level2/html/HTMLBodyElement05.html");  
   newsuite.addTestPage("../level2/html/HTMLBodyElement06.html");  
   newsuite.addTestPage("../level2/html/HTMLBodyElement07.html");  
   newsuite.addTestPage("../level2/html/HTMLBodyElement08.html");  
@@ -609,17 +606,16 @@ function suite() {
   newsuite.addTestPage("../level2/html/anchor03.html");  
   newsuite.addTestPage("../level2/html/anchor04.html");  
   newsuite.addTestPage("../level2/html/anchor05.html");  
   newsuite.addTestPage("../level2/html/anchor06.html");  
   newsuite.addTestPage("../level2/html/area01.html");  
   newsuite.addTestPage("../level2/html/area02.html");  
   newsuite.addTestPage("../level2/html/area03.html");  
   newsuite.addTestPage("../level2/html/area04.html");  
-  newsuite.addTestPage("../level2/html/basefont01.html");  
   newsuite.addTestPage("../level2/html/body01.html");  
   newsuite.addTestPage("../level2/html/button01.html");  
   newsuite.addTestPage("../level2/html/button02.html");  
   newsuite.addTestPage("../level2/html/button03.html");  
   newsuite.addTestPage("../level2/html/button04.html");  
   newsuite.addTestPage("../level2/html/button05.html");  
   newsuite.addTestPage("../level2/html/button06.html");  
   newsuite.addTestPage("../level2/html/button07.html");  
@@ -754,21 +750,16 @@ function suite() {
 
 
 
 <option value="area04.html">area04</option>
 
 
 
 
-<option value="basefont01.html">basefont01</option>
-
-
-
-
 <option value="body01.html">body01</option>
 
 
 
 
 <option value="button01.html">button01</option>
 
 
@@ -989,26 +980,16 @@ function suite() {
 
 
 
 <option value="HTMLBaseElement02.html">HTMLBaseElement02</option>
 
 
 
 
-<option value="HTMLBaseFontElement01.html">HTMLBaseFontElement01</option>
-
-
-
-
-<option value="HTMLBaseFontElement02.html">HTMLBaseFontElement02</option>
-
-
-
-
 <option value="HTMLBodyElement01.html">HTMLBodyElement01</option>
 
 
 
 
 <option value="HTMLBodyElement02.html">HTMLBodyElement02</option>
 
 
@@ -3831,17 +3812,16 @@ function suite() {
 
 <option value="hasFeature02.html">hasFeature02</option>
 <option value="hasFeature03.html">hasFeature03</option>
 <option value="hasFeature04.html">hasFeature04</option>
 <option value="hasFeature05.html">hasFeature05</option>
 <option value="hasFeature06.html">hasFeature06</option>
 <option value="HTMLAppletElement07.html">HTMLAppletElement07</option>
 <option value="HTMLAppletElement09.html">HTMLAppletElement09</option>
-<option value="HTMLBaseFontElement03.html">HTMLBaseFontElement03</option>
 <option value="HTMLBodyElement07.html">HTMLBodyElement07</option>
 <option value="HTMLBodyElement08.html">HTMLBodyElement08</option>
 <option value="HTMLBodyElement09.html">HTMLBodyElement09</option>
 <option value="HTMLBodyElement10.html">HTMLBodyElement10</option>
 <option value="HTMLBodyElement11.html">HTMLBodyElement11</option>
 <option value="HTMLBodyElement12.html">HTMLBodyElement12</option>
 <option value="HTMLDocument22.html">HTMLDocument22</option>
 <option value="HTMLDocument23.html">HTMLDocument23</option>
deleted file mode 100644
--- a/dom/tests/mochitest/dom-level2-html/test_basefont01.html
+++ /dev/null
@@ -1,129 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
-<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
-<title>http://www.w3.org/2001/DOM-Test-Suite/level2/html/basefont01</title>
-<link type="text/css" rel="stylesheet" href="/tests/SimpleTest/test.css">
-<script src="/MochiKit/packed.js" type="text/javascript"></script><script src="/tests/SimpleTest/SimpleTest.js" type="text/javascript"></script><script src="DOMTestCase.js" type="text/javascript"></script><script type="text/javascript">
-// expose test function names
-function exposeTestFunctionNames()
-{
-return ['basefont01'];
-}
-
-var docsLoaded = -1000000;
-var builder = null;
-
-//
-//   This function is called by the testing framework before
-//      running the test suite.
-//
-//   If there are no configuration exceptions, asynchronous
-//        document loading is started.  Otherwise, the status
-//        is set to complete and the exception is immediately
-//        raised when entering the body of the test.
-//
-function setUpPage() {
-   setUpPageStatus = 'running';
-   try {
-     //
-     //   creates test document builder, may throw exception
-     //
-     builder = createConfiguredBuilder();
-
-      docsLoaded = 0;
-      
-      var docRef = null;
-      if (typeof(this.doc) != 'undefined') {
-        docRef = this.doc;
-      }
-      docsLoaded += preload(docRef, "doc", "basefont");
-        
-       if (docsLoaded == 1) {
-          setUpPage = 'complete';
-       }
-    } catch(ex) {
-    	catchInitializationError(builder, ex);
-        setUpPage = 'complete';
-    }
-}
-
-
-
-//
-//   This method is called on the completion of 
-//      each asychronous load started in setUpTests.
-//
-//   When every synchronous loaded document has completed,
-//      the page status is changed which allows the
-//      body of the test to be executed.
-function loadComplete() {
-    if (++docsLoaded == 1) {
-        setUpPageStatus = 'complete';
-        runJSUnitTests();
-        SimpleTest.finish();
-    }
-}
-
-
-/**
-* 
-The value of attribute color of the basefont element is read and checked against the expected value.
-
-* @author Netscape
-* @author Sivakiran Tummala
-* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87502302
-*/
-function basefont01() {
-   var success;
-    if(checkInitialization(builder, "basefont01") != null) return;
-    var nodeList;
-      var testNode;
-      var vcolor;
-      var doc;
-      
-      var docRef = null;
-      if (typeof(this.doc) != 'undefined') {
-        docRef = this.doc;
-      }
-      doc = load(docRef, "doc", "basefont");
-      nodeList = doc.getElementsByTagName("basefont");
-      assertSize("Asize",1,nodeList);
-testNode = nodeList.item(0);
-      vcolor = testNode.color;
-
-      assertEquals("colorLink","#000000",vcolor);
-       
-}
-
-</script>
-</head>
-<body>
-<h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/basefont01</h2>
-<p>&lt;test name='basefont01' schemaLocation='http://www.w3.org/2001/DOM-Test-Suite/Level-1 dom1.xsd'&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;metadata&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;title&gt;basefont01&lt;/title&gt;
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;creator&gt;Netscape&lt;/creator&gt;
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;description&gt;
-The value of attribute color of the basefont element is read and checked against the expected value.
-&lt;/description&gt;
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;contributor&gt;Sivakiran Tummala&lt;/contributor&gt;
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;date qualifier='created'&gt;2002-02-08&lt;/date&gt;
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;subject resource='<a href="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87502302">http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87502302</a>'/&gt;
-<br>&lt;/metadata&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;var name='nodeList' type='NodeList'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;var name='testNode' type='Node'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;var name='vcolor' type='DOMString'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;var name='doc' type='Node'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;load var='doc' href='basefont' willBeModified='false'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;getElementsByTagName interface='Document' obj='doc' var='nodeList' tagname='"basefont"'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;assertSize collection='nodeList' size='1' <a id="Asize">id='Asize'</a>/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;item interface='NodeList' obj='nodeList' var='testNode' index='0'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;color interface='HTMLBaseFontElement' obj='testNode' var='vcolor'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;assertEquals actual='vcolor' expected='"#000000"' <a id="colorLink">id='colorLink'</a> ignoreCase='false'/&gt;<br>&lt;/test&gt;<br>
-</p>
-<p>
-			Copyright (c) 2001-2004 World Wide Web Consortium,
-			(Massachusetts Institute of Technology, Institut National de
-			Recherche en Informatique et en Automatique, Keio University). All
-			Rights Reserved. This program is distributed under the W3C's Software
-			Intellectual Property License. This program 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.
-			</p>
-<p>See W3C License <a href="http://www.w3.org/Consortium/Legal/">http://www.w3.org/Consortium/Legal/</a> 
- for more details.</p>
-<iframe name="doc" src="files/basefont.html"></iframe>
-<br>
-</body>
-</html>
--- a/parser/htmlparser/public/nsHTMLTagList.h
+++ b/parser/htmlparser/public/nsHTMLTagList.h
@@ -69,17 +69,17 @@ HTML_TAG(acronym, Span)
 HTML_TAG(address, Span)
 HTML_TAG(applet, SharedObject)
 HTML_TAG(area, Area)
 #if defined(MOZ_MEDIA)
 HTML_TAG(audio, Audio)
 #endif
 HTML_TAG(b, Span)
 HTML_TAG(base, Shared)
-HTML_TAG(basefont, Shared)
+HTML_TAG(basefont, Span)
 HTML_TAG(bdo, Span)
 HTML_TAG(bgsound, Span)
 HTML_TAG(big, Span)
 HTML_TAG(blink, Span)
 HTML_TAG(blockquote, Shared)
 HTML_TAG(body, Body)
 HTML_TAG(br, BR)
 HTML_TAG(button, Button)
@@ -105,19 +105,19 @@ HTML_TAG(form, Form)
 HTML_TAG(frame, Frame)
 HTML_TAG(frameset, FrameSet)
 HTML_TAG(h1, Heading)
 HTML_TAG(h2, Heading)
 HTML_TAG(h3, Heading)
 HTML_TAG(h4, Heading)
 HTML_TAG(h5, Heading)
 HTML_TAG(h6, Heading)
-HTML_TAG(head, Head)
+HTML_TAG(head, Shared)
 HTML_TAG(hr, HR)
-HTML_TAG(html, Html)
+HTML_TAG(html, Shared)
 HTML_TAG(i, Span)
 HTML_TAG(iframe, IFrame)
 HTML_TAG(image, Span)
 HTML_TAG(img, Image)
 HTML_TAG(input, Input)
 HTML_TAG(ins, Mod)
 HTML_TAG(isindex, Shared)
 HTML_TAG(kbd, Span)