Bug 604592 - Make Node.prefix readonly; r=smaug
authorMs2ger <ms2ger@gmail.com>
Mon, 11 Apr 2011 13:06:18 +0200
changeset 67804 4d2da0c23ae2eb869745bb8cb59ffd4d3fa774b6
parent 67803 09b605eb3e0d0131630a5956d9367405b505957b
child 67810 dd3859ec2227b3bce134c5bfcb657295608e5ee3
push id19430
push userMs2ger@gmail.com
push dateMon, 11 Apr 2011 11:49:57 +0000
treeherdermozilla-central@4d2da0c23ae2 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerssmaug
bugs604592
milestone2.2a1pre
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 604592 - Make Node.prefix readonly; r=smaug
content/base/public/nsContentUtils.h
content/base/src/nsDOMAttribute.cpp
content/base/src/nsDocument.cpp
content/base/src/nsGenericDOMDataNode.cpp
content/base/src/nsGenericDOMDataNode.h
content/base/src/nsGenericElement.cpp
content/base/src/nsGenericElement.h
content/base/test/Makefile.in
content/base/test/test_bug564863.xhtml
content/base/test/test_bug604592.html
dom/interfaces/core/nsIDOMAttr.idl
dom/interfaces/core/nsIDOMCDATASection.idl
dom/interfaces/core/nsIDOMCharacterData.idl
dom/interfaces/core/nsIDOMComment.idl
dom/interfaces/core/nsIDOMDocument.idl
dom/interfaces/core/nsIDOMDocumentFragment.idl
dom/interfaces/core/nsIDOMDocumentType.idl
dom/interfaces/core/nsIDOMElement.idl
dom/interfaces/core/nsIDOMEntity.idl
dom/interfaces/core/nsIDOMEntityReference.idl
dom/interfaces/core/nsIDOMNode.idl
dom/interfaces/core/nsIDOMNotation.idl
dom/interfaces/core/nsIDOMProcessingInstruction.idl
dom/interfaces/core/nsIDOMText.idl
dom/interfaces/core/nsIDOMXMLDocument.idl
dom/interfaces/html/nsIDOMHTMLAnchorElement.idl
dom/interfaces/html/nsIDOMHTMLAppletElement.idl
dom/interfaces/html/nsIDOMHTMLAreaElement.idl
dom/interfaces/html/nsIDOMHTMLAudioElement.idl
dom/interfaces/html/nsIDOMHTMLBRElement.idl
dom/interfaces/html/nsIDOMHTMLBaseElement.idl
dom/interfaces/html/nsIDOMHTMLBodyElement.idl
dom/interfaces/html/nsIDOMHTMLButtonElement.idl
dom/interfaces/html/nsIDOMHTMLCanvasElement.idl
dom/interfaces/html/nsIDOMHTMLDListElement.idl
dom/interfaces/html/nsIDOMHTMLDataListElement.idl
dom/interfaces/html/nsIDOMHTMLDirectoryElement.idl
dom/interfaces/html/nsIDOMHTMLDivElement.idl
dom/interfaces/html/nsIDOMHTMLDocument.idl
dom/interfaces/html/nsIDOMHTMLElement.idl
dom/interfaces/html/nsIDOMHTMLEmbedElement.idl
dom/interfaces/html/nsIDOMHTMLFieldSetElement.idl
dom/interfaces/html/nsIDOMHTMLFontElement.idl
dom/interfaces/html/nsIDOMHTMLFormElement.idl
dom/interfaces/html/nsIDOMHTMLFrameElement.idl
dom/interfaces/html/nsIDOMHTMLFrameSetElement.idl
dom/interfaces/html/nsIDOMHTMLHRElement.idl
dom/interfaces/html/nsIDOMHTMLHeadElement.idl
dom/interfaces/html/nsIDOMHTMLHeadingElement.idl
dom/interfaces/html/nsIDOMHTMLHtmlElement.idl
dom/interfaces/html/nsIDOMHTMLIFrameElement.idl
dom/interfaces/html/nsIDOMHTMLImageElement.idl
dom/interfaces/html/nsIDOMHTMLInputElement.idl
dom/interfaces/html/nsIDOMHTMLIsIndexElement.idl
dom/interfaces/html/nsIDOMHTMLLIElement.idl
dom/interfaces/html/nsIDOMHTMLLabelElement.idl
dom/interfaces/html/nsIDOMHTMLLegendElement.idl
dom/interfaces/html/nsIDOMHTMLLinkElement.idl
dom/interfaces/html/nsIDOMHTMLMapElement.idl
dom/interfaces/html/nsIDOMHTMLMediaElement.idl
dom/interfaces/html/nsIDOMHTMLMenuElement.idl
dom/interfaces/html/nsIDOMHTMLMetaElement.idl
dom/interfaces/html/nsIDOMHTMLModElement.idl
dom/interfaces/html/nsIDOMHTMLOListElement.idl
dom/interfaces/html/nsIDOMHTMLObjectElement.idl
dom/interfaces/html/nsIDOMHTMLOptGroupElement.idl
dom/interfaces/html/nsIDOMHTMLOptionElement.idl
dom/interfaces/html/nsIDOMHTMLOutputElement.idl
dom/interfaces/html/nsIDOMHTMLParagraphElement.idl
dom/interfaces/html/nsIDOMHTMLParamElement.idl
dom/interfaces/html/nsIDOMHTMLPreElement.idl
dom/interfaces/html/nsIDOMHTMLQuoteElement.idl
dom/interfaces/html/nsIDOMHTMLScriptElement.idl
dom/interfaces/html/nsIDOMHTMLSelectElement.idl
dom/interfaces/html/nsIDOMHTMLSourceElement.idl
dom/interfaces/html/nsIDOMHTMLStyleElement.idl
dom/interfaces/html/nsIDOMHTMLTableCaptionElem.idl
dom/interfaces/html/nsIDOMHTMLTableCellElement.idl
dom/interfaces/html/nsIDOMHTMLTableColElement.idl
dom/interfaces/html/nsIDOMHTMLTableElement.idl
dom/interfaces/html/nsIDOMHTMLTableRowElement.idl
dom/interfaces/html/nsIDOMHTMLTableSectionElem.idl
dom/interfaces/html/nsIDOMHTMLTextAreaElement.idl
dom/interfaces/html/nsIDOMHTMLTitleElement.idl
dom/interfaces/html/nsIDOMHTMLUListElement.idl
dom/interfaces/html/nsIDOMHTMLUnknownElement.idl
dom/interfaces/html/nsIDOMHTMLVideoElement.idl
dom/interfaces/svg/nsIDOMSVGAElement.idl
dom/interfaces/svg/nsIDOMSVGAltGlyphElement.idl
dom/interfaces/svg/nsIDOMSVGAnimationElement.idl
dom/interfaces/svg/nsIDOMSVGCircleElement.idl
dom/interfaces/svg/nsIDOMSVGClipPathElement.idl
dom/interfaces/svg/nsIDOMSVGDefsElement.idl
dom/interfaces/svg/nsIDOMSVGDescElement.idl
dom/interfaces/svg/nsIDOMSVGDocument.idl
dom/interfaces/svg/nsIDOMSVGElement.idl
dom/interfaces/svg/nsIDOMSVGEllipseElement.idl
dom/interfaces/svg/nsIDOMSVGFilterElement.idl
dom/interfaces/svg/nsIDOMSVGFilters.idl
dom/interfaces/svg/nsIDOMSVGForeignObjectElem.idl
dom/interfaces/svg/nsIDOMSVGGElement.idl
dom/interfaces/svg/nsIDOMSVGGradientElement.idl
dom/interfaces/svg/nsIDOMSVGImageElement.idl
dom/interfaces/svg/nsIDOMSVGLineElement.idl
dom/interfaces/svg/nsIDOMSVGMarkerElement.idl
dom/interfaces/svg/nsIDOMSVGMaskElement.idl
dom/interfaces/svg/nsIDOMSVGMetadataElement.idl
dom/interfaces/svg/nsIDOMSVGMpathElement.idl
dom/interfaces/svg/nsIDOMSVGPathElement.idl
dom/interfaces/svg/nsIDOMSVGPatternElement.idl
dom/interfaces/svg/nsIDOMSVGPolygonElement.idl
dom/interfaces/svg/nsIDOMSVGPolylineElement.idl
dom/interfaces/svg/nsIDOMSVGRectElement.idl
dom/interfaces/svg/nsIDOMSVGSVGElement.idl
dom/interfaces/svg/nsIDOMSVGScriptElement.idl
dom/interfaces/svg/nsIDOMSVGStopElement.idl
dom/interfaces/svg/nsIDOMSVGStyleElement.idl
dom/interfaces/svg/nsIDOMSVGSwitchElement.idl
dom/interfaces/svg/nsIDOMSVGSymbolElement.idl
dom/interfaces/svg/nsIDOMSVGTSpanElement.idl
dom/interfaces/svg/nsIDOMSVGTextContentElement.idl
dom/interfaces/svg/nsIDOMSVGTextElement.idl
dom/interfaces/svg/nsIDOMSVGTextPathElement.idl
dom/interfaces/svg/nsIDOMSVGTextPositionElem.idl
dom/interfaces/svg/nsIDOMSVGTitleElement.idl
dom/interfaces/svg/nsIDOMSVGUseElement.idl
dom/interfaces/xpath/nsIDOMXPathNamespace.idl
dom/interfaces/xul/nsIDOMXULContainerElement.idl
dom/interfaces/xul/nsIDOMXULElement.idl
dom/interfaces/xul/nsIDOMXULTreeElement.idl
dom/tests/mochitest/dom-level2-core/Makefile.in
dom/tests/mochitest/dom-level2-core/test_nodesetprefix01.html
dom/tests/mochitest/dom-level2-core/test_nodesetprefix02.html
dom/tests/mochitest/dom-level2-core/test_nodesetprefix03.html
dom/tests/mochitest/dom-level2-core/test_nodesetprefix04.html
dom/tests/mochitest/dom-level2-core/test_nodesetprefix05.html
dom/tests/mochitest/dom-level2-core/test_nodesetprefix06.html
dom/tests/mochitest/dom-level2-core/test_nodesetprefix07.html
dom/tests/mochitest/dom-level2-core/test_nodesetprefix08.html
dom/tests/mochitest/dom-level2-core/test_nodesetprefix09.html
dom/tests/mochitest/dom-level2-core/test_prefix05.html
dom/tests/mochitest/dom-level2-core/test_prefix06.html
dom/tests/mochitest/dom-level2-core/test_prefix07.html
dom/tests/mochitest/dom-level2-core/test_prefix08.html
dom/tests/mochitest/dom-level2-core/test_prefix09.html
dom/tests/mochitest/dom-level2-core/test_prefix10.html
dom/tests/mochitest/dom-level2-core/test_prefix11.html
--- a/content/base/public/nsContentUtils.h
+++ b/content/base/public/nsContentUtils.h
@@ -741,30 +741,16 @@ public:
     nsNodeInfoManager *niMgr = aNodeInfo->NodeInfoManager();
 
     *aResult = niMgr->GetNodeInfo(aName, aNodeInfo->GetPrefixAtom(),
                                   aNodeInfo->NamespaceID()).get();
     return *aResult ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
   }
 
   /**
-   * Convenience method to create a new nodeinfo that differs only by prefix
-   * from aNodeInfo.
-   */
-  static nsresult PrefixChanged(nsINodeInfo *aNodeInfo, nsIAtom *aPrefix,
-                                nsINodeInfo** aResult)
-  {
-    nsNodeInfoManager *niMgr = aNodeInfo->NodeInfoManager();
-
-    *aResult = niMgr->GetNodeInfo(aNodeInfo->NameAtom(), aPrefix,
-                                  aNodeInfo->NamespaceID()).get();
-    return *aResult ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
-  }
-
-  /**
    * Returns the appropriate event argument names for the specified
    * namespace and event name.  Added because we need to switch between
    * SVG's "evt" and the rest of the world's "event", and because onerror
    * takes 3 args.
    */
   static void GetEventArgNames(PRInt32 aNameSpaceID, nsIAtom *aEventName,
                                PRUint32 *aArgCount, const char*** aArgNames);
 
--- a/content/base/src/nsDOMAttribute.cpp
+++ b/content/base/src/nsDOMAttribute.cpp
@@ -463,59 +463,16 @@ nsDOMAttribute::GetNamespaceURI(nsAStrin
 NS_IMETHODIMP
 nsDOMAttribute::GetPrefix(nsAString& aPrefix)
 {
   mNodeInfo->GetPrefix(aPrefix);
   return NS_OK;
 }
 
 NS_IMETHODIMP
-nsDOMAttribute::SetPrefix(const nsAString& aPrefix)
-{
-  // XXX: Validate the prefix string!
-
-  nsCOMPtr<nsINodeInfo> newNodeInfo;
-  nsCOMPtr<nsIAtom> prefix;
-
-  if (!aPrefix.IsEmpty()) {
-    prefix = do_GetAtom(aPrefix);
-    if (!prefix) {
-      return NS_ERROR_OUT_OF_MEMORY;
-    }
-  }
-
-  if (!nsContentUtils::IsValidNodeName(mNodeInfo->NameAtom(), prefix,
-                                       mNodeInfo->NamespaceID())) {
-    return NS_ERROR_DOM_NAMESPACE_ERR;
-  }
-
-  nsresult rv = nsContentUtils::PrefixChanged(mNodeInfo, prefix,
-                                              getter_AddRefs(newNodeInfo));
-  NS_ENSURE_SUCCESS(rv, rv);
-
-  nsIContent* content = GetContentInternal();
-  if (content) {
-    nsCOMPtr<nsIAtom> name = GetNameAtom(content);
-    PRInt32 nameSpaceID = mNodeInfo->NamespaceID();
-
-    nsAutoString tmpValue;
-    if (content->GetAttr(nameSpaceID, name, tmpValue)) {
-      content->UnsetAttr(nameSpaceID, name, PR_TRUE);
-
-      content->SetAttr(newNodeInfo->NamespaceID(), name,
-                       newNodeInfo->GetPrefixAtom(), tmpValue, PR_TRUE);
-    }
-  }
-
-  newNodeInfo.swap(mNodeInfo);
-
-  return NS_OK;
-}
-
-NS_IMETHODIMP
 nsDOMAttribute::GetLocalName(nsAString& aLocalName)
 {
   mNodeInfo->GetLocalName(aLocalName);
   return NS_OK;
 }
 
 NS_IMETHODIMP
 nsDOMAttribute::Normalize()
--- a/content/base/src/nsDocument.cpp
+++ b/content/base/src/nsDocument.cpp
@@ -5767,22 +5767,16 @@ NS_IMETHODIMP
 nsDocument::GetPrefix(nsAString& aPrefix)
 {
   SetDOMStringToNull(aPrefix);
 
   return NS_OK;
 }
 
 NS_IMETHODIMP
-nsDocument::SetPrefix(const nsAString& aPrefix)
-{
-  return NS_ERROR_DOM_NO_MODIFICATION_ALLOWED_ERR;
-}
-
-NS_IMETHODIMP
 nsDocument::GetLocalName(nsAString& aLocalName)
 {
   SetDOMStringToNull(aLocalName);
 
   return NS_OK;
 }
 
 NS_IMETHODIMP
--- a/content/base/src/nsGenericDOMDataNode.cpp
+++ b/content/base/src/nsGenericDOMDataNode.cpp
@@ -168,22 +168,16 @@ nsresult
 nsGenericDOMDataNode::GetPrefix(nsAString& aPrefix)
 {
   SetDOMStringToNull(aPrefix);
 
   return NS_OK;
 }
 
 nsresult
-nsGenericDOMDataNode::SetPrefix(const nsAString& aPrefix)
-{
-  return NS_ERROR_DOM_NAMESPACE_ERR;
-}
-
-nsresult
 nsGenericDOMDataNode::GetLocalName(nsAString& aLocalName)
 {
   SetDOMStringToNull(aLocalName);
 
   return NS_OK;
 }
 
 nsresult
--- a/content/base/src/nsGenericDOMDataNode.h
+++ b/content/base/src/nsGenericDOMDataNode.h
@@ -126,17 +126,16 @@ public:
   }
   nsresult AppendChild(nsIDOMNode* aNewChild, nsIDOMNode** aReturn)
   {
     return InsertBefore(aNewChild, nsnull, aReturn);
   }
   nsresult GetNamespaceURI(nsAString& aNamespaceURI);
   nsresult GetLocalName(nsAString& aLocalName);
   nsresult GetPrefix(nsAString& aPrefix);
-  nsresult SetPrefix(const nsAString& aPrefix);
   nsresult Normalize();
   nsresult IsSupported(const nsAString& aFeature,
                        const nsAString& aVersion,
                        PRBool* aReturn);
 
   // Implementation for nsIDOMCharacterData
   nsresult GetData(nsAString& aData) const;
   nsresult SetData(const nsAString& aData);
@@ -466,19 +465,16 @@ private:
     return nsGenericDOMDataNode::GetOwnerDocument(aOwnerDocument);          \
   }                                                                         \
   NS_IMETHOD GetNamespaceURI(nsAString& aNamespaceURI) {                    \
     return nsGenericDOMDataNode::GetNamespaceURI(aNamespaceURI);            \
   }                                                                         \
   NS_IMETHOD GetPrefix(nsAString& aPrefix) {                                \
     return nsGenericDOMDataNode::GetPrefix(aPrefix);                        \
   }                                                                         \
-  NS_IMETHOD SetPrefix(const nsAString& aPrefix) {                          \
-    return nsGenericDOMDataNode::SetPrefix(aPrefix);                        \
-  }                                                                         \
   NS_IMETHOD Normalize() {                                                  \
     return NS_OK;                                                           \
   }                                                                         \
   NS_IMETHOD IsSupported(const nsAString& aFeature,                         \
                       const nsAString& aVersion,                            \
                       PRBool* aReturn) {                                    \
     return nsGenericDOMDataNode::IsSupported(aFeature, aVersion, aReturn);  \
   }                                                                         \
--- a/content/base/src/nsGenericElement.cpp
+++ b/content/base/src/nsGenericElement.cpp
@@ -2213,50 +2213,16 @@ nsGenericElement::GetNamespaceURI(nsAStr
 
 NS_IMETHODIMP
 nsGenericElement::GetPrefix(nsAString& aPrefix)
 {
   mNodeInfo->GetPrefix(aPrefix);
   return NS_OK;
 }
 
-NS_IMETHODIMP
-nsGenericElement::SetPrefix(const nsAString& aPrefix)
-{
-  // XXX: Validate the prefix string!
-
-  nsCOMPtr<nsIAtom> prefix;
-
-  if (!aPrefix.IsEmpty()) {
-    prefix = do_GetAtom(aPrefix);
-    NS_ENSURE_TRUE(prefix, NS_ERROR_OUT_OF_MEMORY);
-  }
-
-  if (!nsContentUtils::IsValidNodeName(mNodeInfo->NameAtom(), prefix,
-                                       mNodeInfo->NamespaceID())) {
-    return NS_ERROR_DOM_NAMESPACE_ERR;
-  }
-
-  nsAutoScriptBlocker scriptBlocker;
-
-  nsCOMPtr<nsINodeInfo> newNodeInfo;
-  nsresult rv = nsContentUtils::PrefixChanged(mNodeInfo, prefix,
-                                              getter_AddRefs(newNodeInfo));
-  NS_ENSURE_SUCCESS(rv, rv);
-
-  mNodeInfo.swap(newNodeInfo);
-  NodeInfoChanged(newNodeInfo);
-
-  // The id-handling code need to react to unexpected changes to an elements
-  // nodeinfo as that can change the elements id-attribute.
-  nsMutationGuard::DidMutate();
-
-  return NS_OK;
-}
-
 static already_AddRefed<nsIDOMNSFeatureFactory>
 GetDOMFeatureFactory(const nsAString& aFeature, const nsAString& aVersion)
 {
   nsIDOMNSFeatureFactory *factory = nsnull;
   nsCOMPtr<nsICategoryManager> categoryManager =
     do_GetService(NS_CATEGORYMANAGER_CONTRACTID);
   if (categoryManager) {
     nsCAutoString featureCategory(NS_DOMNS_FEATURE_PREFIX);
--- a/content/base/src/nsGenericElement.h
+++ b/content/base/src/nsGenericElement.h
@@ -501,17 +501,16 @@ public:
   NS_IMETHOD GetNodeName(nsAString& aNodeName);
   NS_IMETHOD GetLocalName(nsAString& aLocalName);
   NS_IMETHOD GetNodeValue(nsAString& aNodeValue);
   NS_IMETHOD SetNodeValue(const nsAString& aNodeValue);
   NS_IMETHOD GetNodeType(PRUint16* aNodeType);
   NS_IMETHOD GetAttributes(nsIDOMNamedNodeMap** aAttributes);
   NS_IMETHOD GetNamespaceURI(nsAString& aNamespaceURI);
   NS_IMETHOD GetPrefix(nsAString& aPrefix);
-  NS_IMETHOD SetPrefix(const nsAString& aPrefix);
   NS_IMETHOD Normalize();
   NS_IMETHOD IsSupported(const nsAString& aFeature,
                          const nsAString& aVersion, PRBool* aReturn);
   NS_IMETHOD HasAttributes(PRBool* aHasAttributes);
   NS_IMETHOD HasChildNodes(PRBool* aHasChildNodes);
   nsresult InsertBefore(nsIDOMNode* aNewChild, nsIDOMNode* aRefChild,
                         nsIDOMNode** aReturn)
   {
--- a/content/base/test/Makefile.in
+++ b/content/base/test/Makefile.in
@@ -467,16 +467,17 @@ include $(topsrcdir)/config/rules.mk
 		test_bug484396.html \
 		test_bug466080.html \
 		bug466080.sjs \
 		test_bug625722.html \
 		test_bug631615.html \
 		test_bug558431.html \
 		file_bug558431.html \
 		file_bug558431.html^headers^ \
+		test_bug604592.html \
 		test_bug628938.html \
 		test_bug626262.html \
 		$(NULL)
 
 # This test fails on the Mac for some reason
 ifneq (,$(filter gtk2 windows,$(MOZ_WIDGET_TOOLKIT)))
 _TEST_FILES2 += 	test_copyimage.html \
 		$(NULL)
--- a/content/base/test/test_bug564863.xhtml
+++ b/content/base/test/test_bug564863.xhtml
@@ -282,80 +282,16 @@ nsx.addEventListener("DOMAttrModified", 
   removeNode(nsx);
   is(nsx.parentNode, null, "nsx was removed");
   mutateFired = true;
 }, false);
 nsx.removeAttribute("id");
 ok(mutateFired, "mutation event fired");
 
 
-// Check that modifying the id-name of an XML element works
-ok($("ns-holder"), "ns-holder exists");
-ok($("ns2-holder"), "ns2-holder exists");
-root.appendChild(nsx);
-nsx.setAttribute("id", "ns_id");
-is(nsx_cs.color, "rgb(50, 50, 50)", "nsx has initial id");
-is($("ns_id"), nsx, "gEBI works on old id");
-nsx.setAttribute("id_2", "ns2_id");
-nsx.prefix = "ns2";
-is($("ns2_id"), nsx, "gEBI works on new id");
-is($("ns_id"), null, "gEBI does't work on old id");
-removeNode(nsx);
-root.appendChild(nsx);
-is(nsx_cs.color, "rgb(60, 60, 60)", "nsx has new id");
-is($("ns2_id"), nsx, "gEBI still works on new id");
-
-// Need to change id and then CC to ensure that we don't end up with dangling pointers
-function gc() {
-  netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
-  window.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
-        .getInterface(Components.interfaces.nsIDOMWindowUtils)
-        .garbageCollect();
-}
-ok($("ns-holder"), "ns-holder exists");
-ok($("ns2-holder"), "ns2-holder exists");
-tempNode = document.createElementNS("urn:namespace", "ns:x");
-tempNode.setAttribute("id", "tempNode_id");
-document.body.appendChild(tempNode);
-is($("tempNode_id"), tempNode, "tempNode in gEBI table");
-tempNode.prefix = "ns2";
-removeNode(tempNode);
-tempNode = null;
-gc();
-$("tempNode_id");
-ok(true, "Didn't crash when accessing old id");
-
-
-// Update the id-name inside a mutation event
-removeNode(nsx);
-nsx = document.createElementNS("urn:namespace", "ns:x");
-nsx.setAttribute("id", "ns_id");
-nsx.setAttribute("id_2", "ns2_id");
-root.appendChild(nsx);
-is($("ns_id"), nsx, "new nsx is set up");
-is($("ns2_id"), null, "ns2_id doesn't exist");
-mutateFired = false;
-nsx.addEventListener("DOMAttrModified", function(e) {
-  nsx.removeEventListener("DOMAttrModified", arguments.callee, false);
-  is(e.target, nsx, "target is nsx");
-  is(nsx.getAttribute("id"), null, "nsx no longer has id attr");
-  nsx.prefix = "ns2";
-  mutateFired = true;
-}, false);
-nsx.removeAttribute("id");
-ok(mutateFired, "mutation event fired");
-is($("ns_id"), null, "ns_id was removed from table");
-is($("ns2_id"), nsx, "ns2_id was added");
-removeNode(nsx);
-is($("ns2_id"), null, "ns2_id was removed");
-nsx = null;
-gc();
-$("ns2_id");
-ok(true, "we didn't crash");
-
 // Re-add the id inside a mutation event on a XML element
 is($("ns_id"), null, "no nsx");
 is($("ns2_id"), null, "no nsx");
 nsx = document.createElementNS("urn:namespace", "ns:x");
 nsx.setAttribute("id", "ns_id");
 root.appendChild(nsx);
 is($("ns_id"), nsx, "new nsx is set up");
 mutateFired = false;
new file mode 100644
--- /dev/null
+++ b/content/base/test/test_bug604592.html
@@ -0,0 +1,38 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=604592
+-->
+<head>
+  <title>Test for Bug 604592</title>
+  <script type="application/javascript" src="/MochiKit/packed.js"></script>
+  <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
+</head>
+<body>
+<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=604592">Mozilla Bug 604592</a>
+<p id="display"></p>
+<div id="content" style="display: none">
+  
+</div>
+<pre id="test">
+<script type="application/javascript">
+/** Test for Bug 604592 **/
+function testInStrictMode() {
+  "use strict";
+  try {
+    document.body.prefix = "foo";
+    ok(false, "Should not have reached this point");
+  } catch (e) {
+    ok(e instanceof TypeError, "Expected a TypeError");
+  }
+}
+
+testInStrictMode();
+document.body.prefix = "foo";
+ok(document.body.prefix === null,
+   "Expected strictly equal to null, got " + document.body.prefix);
+</script>
+</pre>
+</body>
+</html>
--- a/dom/interfaces/core/nsIDOMAttr.idl
+++ b/dom/interfaces/core/nsIDOMAttr.idl
@@ -43,17 +43,17 @@
  * The nsIDOMAttr interface represents an attribute in an "Element" object. 
  * Typically the allowable values for the attribute are defined in a document 
  * type definition.
  * 
  * For more information on this interface please see 
  * http://www.w3.org/TR/DOM-Level-2-Core/
  */
 
-[scriptable, uuid(a6cf9070-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(669a0f55-1e5d-4471-8de9-a6c6774354dd)]
 interface nsIDOMAttr : nsIDOMNode
 {
   readonly attribute DOMString            name;
   readonly attribute boolean              specified;
            attribute DOMString            value;
                                             // raises(DOMException) on setting
 
   // Introduced in DOM Level 2:
--- a/dom/interfaces/core/nsIDOMCDATASection.idl
+++ b/dom/interfaces/core/nsIDOMCDATASection.idl
@@ -44,12 +44,12 @@
  * that would otherwise be regarded as markup.
  * Their primary purpose is for including material such as XML fragments, 
  * without needing to escape all the delimiters.
  * 
  * For more information on this interface please see 
  * http://www.w3.org/TR/DOM-Level-2-Core/
  */
 
-[scriptable, uuid(a6cf9071-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(f8da723d-0d32-4bbc-a11e-898e506cd908)]
 interface nsIDOMCDATASection : nsIDOMText
 {
 };
--- a/dom/interfaces/core/nsIDOMCharacterData.idl
+++ b/dom/interfaces/core/nsIDOMCharacterData.idl
@@ -42,17 +42,17 @@
 /**
  * The nsIDOMCharacterData interface extends nsIDOMNode with a set of 
  * attributes and methods for accessing character data in the DOM.
  * 
  * For more information on this interface please see 
  * http://www.w3.org/TR/DOM-Level-2-Core/
  */
 
-[scriptable, uuid(a6cf9072-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(6ce64178-d600-4e5e-a33a-5bde69f05bd5)]
 interface nsIDOMCharacterData : nsIDOMNode
 {
            attribute DOMString            data;
                                   // raises(DOMException) on setting
                                   // raises(DOMException) on retrieval
 
   readonly attribute unsigned long        length;
   DOMString                 substringData(in unsigned long offset, 
--- a/dom/interfaces/core/nsIDOMComment.idl
+++ b/dom/interfaces/core/nsIDOMComment.idl
@@ -43,12 +43,12 @@
  * The nsIDOMComment interface inherits from nsIDOMCharacterData and represents 
  * the content of a comment, i.e., all the characters between the starting 
  * '<!--' and ending '-->'.
  * 
  * For more information on this interface please see 
  * http://www.w3.org/TR/DOM-Level-2-Core/
  */
 
-[scriptable, uuid(a6cf9073-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(eaf04950-d409-41a0-a99d-2e4e43c1e33d)]
 interface nsIDOMComment : nsIDOMCharacterData
 {
 };
--- a/dom/interfaces/core/nsIDOMDocument.idl
+++ b/dom/interfaces/core/nsIDOMDocument.idl
@@ -49,17 +49,17 @@ interface nsIDOMDOMConfiguration;
  * cannot exist outside the context of a Document, the nsIDOMDocument 
  * interface also contains the factory methods needed to create these 
  * objects.
  *
  * For more information on this interface please see 
  * http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html
  */
 
-[scriptable, uuid(fde1a53b-cf60-4997-a0b2-1aa1dc55492e)]
+[scriptable, uuid(3e7421c4-9964-4184-8c75-d291eecdba35)]
 interface nsIDOMDocument : nsIDOMNode
 {
   readonly attribute nsIDOMDocumentType         doctype;
   readonly attribute nsIDOMDOMImplementation    implementation;
   readonly attribute nsIDOMElement              documentElement;
   nsIDOMElement                 createElement(in DOMString tagName)
                                   raises(DOMException);
   nsIDOMDocumentFragment        createDocumentFragment();
--- a/dom/interfaces/core/nsIDOMDocumentFragment.idl
+++ b/dom/interfaces/core/nsIDOMDocumentFragment.idl
@@ -43,12 +43,12 @@
  * DocumentFragment is a "lightweight" or "minimal" Document object.
  * nsIDOMDocumentFragment is used in situations where the Document
  * interface can potentially be a heavyweight interface.
  *
  * For more information on this interface please see 
  * http://www.w3.org/TR/DOM-Level-2-Core/
  */
 
-[scriptable, uuid(a6cf9076-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(06376ec5-7c91-45ad-a346-30a06a125935)]
 interface nsIDOMDocumentFragment : nsIDOMNode
 {
 };
--- a/dom/interfaces/core/nsIDOMDocumentType.idl
+++ b/dom/interfaces/core/nsIDOMDocumentType.idl
@@ -44,17 +44,17 @@
  * or a DocumentType object. 
  * The nsIDOMDocumentType interface in the DOM Core provides an 
  * interface to the list of entities that are defined for the document.
  *
  * For more information on this interface please see 
  * http://www.w3.org/TR/DOM-Level-2-Core/
  */
 
-[scriptable, uuid(a6cf9077-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(5725a7de-2883-45a5-878e-30773cd82478)]
 interface nsIDOMDocumentType : nsIDOMNode
 {
   readonly attribute  DOMString            name;
   readonly attribute  nsIDOMNamedNodeMap   entities;
   readonly attribute  nsIDOMNamedNodeMap   notations;
   readonly attribute  DOMString            publicId;
   readonly attribute  DOMString            systemId;
   readonly attribute  DOMString            internalSubset;
--- a/dom/interfaces/core/nsIDOMElement.idl
+++ b/dom/interfaces/core/nsIDOMElement.idl
@@ -42,17 +42,17 @@
 /**
  * The nsIDOMElement interface represents an element in an HTML or 
  * XML document. 
  *
  * For more information on this interface please see 
  * http://www.w3.org/TR/DOM-Level-2-Core/
  */
 
-[scriptable, uuid(a6cf9078-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(f220e259-5c41-4cca-a38b-7267ffa874aa)]
 interface nsIDOMElement : nsIDOMNode
 {
   readonly attribute DOMString        tagName;
   DOMString          getAttribute(in DOMString name);
   void               setAttribute(in DOMString name, 
                                   in DOMString value)
                                         raises(DOMException);
   void               removeAttribute(in DOMString name)
--- a/dom/interfaces/core/nsIDOMEntity.idl
+++ b/dom/interfaces/core/nsIDOMEntity.idl
@@ -42,15 +42,15 @@
 /**
  * The nsIDOMEntity interface represents an entity, either parsed 
  * or unparsed, in an XML document.
  *
  * For more information on this interface please see 
  * http://www.w3.org/TR/DOM-Level-2-Core/
  */
 
-[scriptable, uuid(a6cf9079-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(944d8c6a-631d-408d-846f-d4ff5fa93ae6)]
 interface nsIDOMEntity : nsIDOMNode
 {
    readonly attribute  DOMString            publicId;
    readonly attribute  DOMString            systemId;
    readonly attribute  DOMString            notationName;
 };
--- a/dom/interfaces/core/nsIDOMEntityReference.idl
+++ b/dom/interfaces/core/nsIDOMEntityReference.idl
@@ -42,12 +42,12 @@
 /**
  * nsIDOMEntityReference is an interface to a node that represents a 
  * reference to one of the entities defined in the document.
  *
  * For more information on this interface please see 
  * http://www.w3.org/TR/DOM-Level-2-Core/
  */
 
-[scriptable, uuid(a6cf907a-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(ab7e88aa-7c95-4d0a-94de-c632ca0c25cc)]
 interface nsIDOMEntityReference : nsIDOMNode
 {
 };
--- a/dom/interfaces/core/nsIDOMNode.idl
+++ b/dom/interfaces/core/nsIDOMNode.idl
@@ -17,16 +17,17 @@
  * 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>
+ *   Ms2ger <ms2ger@gmail.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
@@ -40,20 +41,20 @@
 #include "domstubs.idl"
 
 /**
  * The nsIDOMNode interface is the primary datatype for the entire 
  * Document Object Model.
  * It represents a single node in the document tree.
  *
  * For more information on this interface please see 
- * http://www.w3.org/TR/DOM-Level-2-Core/
+ * http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html
  */
 
-[scriptable, uuid(a6cf907c-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(817dc774-2ad2-4111-9042-1787df86c015)]
 interface nsIDOMNode : nsISupports
 {
   const unsigned short      ELEMENT_NODE       = 1;
   const unsigned short      ATTRIBUTE_NODE     = 2;
   const unsigned short      TEXT_NODE          = 3;
   const unsigned short      CDATA_SECTION_NODE = 4;
   const unsigned short      ENTITY_REFERENCE_NODE = 5;
   const unsigned short      ENTITY_NODE        = 6;
@@ -92,17 +93,16 @@ interface nsIDOMNode : nsISupports
   nsIDOMNode                cloneNode(in boolean deep);
   // Modified in DOM Level 2:
   void                      normalize();
   // Introduced in DOM Level 2:
   boolean                   isSupported(in DOMString feature, 
                                         in DOMString version);
   // Introduced in DOM Level 2:
   readonly attribute DOMString        namespaceURI;
-  // Introduced in DOM Level 2:
-           attribute DOMString        prefix;
-                                         // raises(DOMException) on setting
+  // Modified in DOM Core
+  readonly attribute DOMString        prefix;
 
   // Introduced in DOM Level 2:
   readonly attribute DOMString        localName;
   // Introduced in DOM Level 2:
   boolean            hasAttributes();
 };
--- a/dom/interfaces/core/nsIDOMNotation.idl
+++ b/dom/interfaces/core/nsIDOMNotation.idl
@@ -43,14 +43,14 @@
  * The nsIDOMNotation interface represents a notation declared in the DTD.
  * A notation  either declares, by name, the format of an unparsed entity, 
  * or is used for formal declaration of processing instruction targets.
  *
  * For more information on this interface please see 
  * http://www.w3.org/TR/DOM-Level-2-Core/
  */
 
-[scriptable, uuid(a6cf907e-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(43658ade-a157-447a-8dcd-aa7fc824ef0a)]
 interface nsIDOMNotation : nsIDOMNode
 {
   readonly attribute DOMString            publicId;
   readonly attribute DOMString            systemId;
 };
--- a/dom/interfaces/core/nsIDOMProcessingInstruction.idl
+++ b/dom/interfaces/core/nsIDOMProcessingInstruction.idl
@@ -43,15 +43,15 @@
  * The nsIDOMProcessingInstruction interface represents a 
  * "processing instruction", used in XML as a way to keep processor-specific 
  * information in the text of the document.
  *
  * For more information on this interface please see 
  * http://www.w3.org/TR/DOM-Level-2-Core/
  */
 
-[scriptable, uuid(a6cf907f-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(1c3118cc-4d21-40cc-96c4-9d46facee5d1)]
 interface nsIDOMProcessingInstruction : nsIDOMNode
 {
   readonly attribute DOMString        target;
            attribute DOMString        data;
                                        // raises(DOMException) on setting
 };
--- a/dom/interfaces/core/nsIDOMText.idl
+++ b/dom/interfaces/core/nsIDOMText.idl
@@ -42,14 +42,14 @@
 /**
  * The nsIDOMText interface inherits from nsIDOMCharacterData and represents 
  * the textual content (termed character data in XML) of an Element or Attr.
  *
  * For more information on this interface please see 
  * http://www.w3.org/TR/DOM-Level-2-Core/
  */
 
-[scriptable, uuid(a6cf9082-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(48642156-d686-46b7-8e96-35edd5b2afa8)]
 interface nsIDOMText : nsIDOMCharacterData
 {
   nsIDOMText                      splitText(in unsigned long offset)
                                        raises(DOMException);
 };
--- a/dom/interfaces/core/nsIDOMXMLDocument.idl
+++ b/dom/interfaces/core/nsIDOMXMLDocument.idl
@@ -33,17 +33,17 @@
  * 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 "nsIDOMDocument.idl"
 
-[scriptable, uuid(5eb33612-2f3c-424d-acd8-3ff9cc358ad1)]
+[scriptable, uuid(9f07f216-b3a3-4a08-81f1-a48075b91d1c)]
 interface nsIDOMXMLDocument : nsIDOMDocument
 {
   // DOM Level 3 Load & Save, DocumentLS
   // http://www.w3.org/TR/DOM-Level-3-LS/load-save.html#LS-DocumentLS
   /**
    * Whether to load synchronously or asynchronously.
    * The default is async==true.
    */
--- a/dom/interfaces/html/nsIDOMHTMLAnchorElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLAnchorElement.idl
@@ -45,17 +45,17 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(4e237175-3628-4dc8-892f-5270edc3c71a)]
+[scriptable, uuid(99419cf8-5835-4c2a-b013-189b17f0423f)]
 interface nsIDOMHTMLAnchorElement : nsIDOMHTMLElement
 {
            attribute DOMString        href;
            attribute DOMString        target;
 
            attribute DOMString        ping;
 
            attribute DOMString        rel;
--- a/dom/interfaces/html/nsIDOMHTMLAppletElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLAppletElement.idl
@@ -45,17 +45,17 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf90ae-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(a70cc757-4640-4c73-b73b-eb07cf43d90b)]
 interface nsIDOMHTMLAppletElement : nsIDOMHTMLElement
 {
            attribute DOMString        align;
            attribute DOMString        alt;
            attribute DOMString        archive;
            attribute DOMString        code;
            attribute DOMString        codeBase;
            attribute DOMString        height;
--- a/dom/interfaces/html/nsIDOMHTMLAreaElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLAreaElement.idl
@@ -45,17 +45,17 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(fca7d30d-c834-470d-9bb2-25eddfedd86b)]
+[scriptable, uuid(89547ef1-f349-4c4f-ada7-5d51234de0c0)]
 interface nsIDOMHTMLAreaElement : nsIDOMHTMLElement
 {
            attribute DOMString        alt;
            attribute DOMString        coords;
            attribute DOMString        shape;
            attribute DOMString        href;
            attribute DOMString        target;
 
--- a/dom/interfaces/html/nsIDOMHTMLAudioElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLAudioElement.idl
@@ -47,17 +47,17 @@
  * <audio> element.
  *
  * For more information on this interface, please see
  * http://www.whatwg.org/specs/web-apps/current-work/#audio
  *
  * @status UNDER_DEVELOPMENT
  */
 
-[scriptable, uuid(cd1a6a6b-bc4c-4e5a-b7da-53dccc878ab8)]
+[scriptable, uuid(8cb32fc5-d302-46ab-ac91-5bcb21d05023)]
 interface nsIDOMHTMLAudioElement : nsIDOMHTMLMediaElement
 {
   // Setup the audio stream for writing
   void mozSetup(in PRUint32 channels, in PRUint32 rate);
 
   // Write audio to the audio stream
   [implicit_jscontext]
   unsigned long mozWriteAudio(in jsval data);
--- a/dom/interfaces/html/nsIDOMHTMLBRElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLBRElement.idl
@@ -45,13 +45,13 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf90a5-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(e7ecc247-4f30-4de2-835f-642ad76af28f)]
 interface nsIDOMHTMLBRElement : nsIDOMHTMLElement
 {
            attribute DOMString        clear;
 };
--- a/dom/interfaces/html/nsIDOMHTMLBaseElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLBaseElement.idl
@@ -45,14 +45,14 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf908b-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(43fc71aa-f089-4056-b3a6-2259d13fb11a)]
 interface nsIDOMHTMLBaseElement : nsIDOMHTMLElement
 {
            attribute DOMString        href;
            attribute DOMString        target;
 };
--- a/dom/interfaces/html/nsIDOMHTMLBodyElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLBodyElement.idl
@@ -45,17 +45,17 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf908e-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(22c641f6-f39b-4f6b-b1f5-8271a200bf01)]
 interface nsIDOMHTMLBodyElement : nsIDOMHTMLElement
 {
            attribute DOMString        aLink;
            attribute DOMString        background;
            attribute DOMString        bgColor;
            attribute DOMString        link;
            attribute DOMString        text;
            attribute DOMString        vLink;
--- a/dom/interfaces/html/nsIDOMHTMLButtonElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLButtonElement.idl
@@ -47,17 +47,17 @@
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
 interface nsIDOMValidityState;
 
-[scriptable, uuid(bcae78a1-9f9b-46bf-abb5-a3fe410d97ae)]
+[scriptable, uuid(e158abd8-2521-4ce9-af68-26b70ada7614)]
 interface nsIDOMHTMLButtonElement : nsIDOMHTMLElement
 {
            attribute boolean               autofocus;
            attribute boolean               disabled;
   readonly attribute nsIDOMHTMLFormElement form;
            attribute DOMString             formAction;
            attribute DOMString             formEnctype;
            attribute DOMString             formMethod;
--- a/dom/interfaces/html/nsIDOMHTMLCanvasElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLCanvasElement.idl
@@ -49,17 +49,17 @@
  * For more information on this interface, please see
  * http://www.whatwg.org/specs/web-apps/current-work/#graphics
  *
  * @status UNDER_DEVELOPMENT
  */
 
 interface nsIDOMFile;
 
-[scriptable, uuid(6b44a95a-c0ad-41f9-beb5-579bdb8698f2)]
+[scriptable, uuid(f11cc1ae-3c8d-46b9-90cd-7b3f3395b2dd)]
 interface nsIDOMHTMLCanvasElement : nsIDOMHTMLElement
 {
   attribute unsigned long width;
   attribute unsigned long height;
   attribute boolean mozOpaque;
 
   nsISupports getContext(in DOMString contextId,
                          [optional] in jsval contextOptions);
--- a/dom/interfaces/html/nsIDOMHTMLDListElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLDListElement.idl
@@ -45,13 +45,13 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf909b-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(a291df4d-ee6f-46f7-b1d8-9680a387c23e)]
 interface nsIDOMHTMLDListElement : nsIDOMHTMLElement
 {
            attribute boolean          compact;
 };
--- a/dom/interfaces/html/nsIDOMHTMLDataListElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLDataListElement.idl
@@ -44,14 +44,14 @@
  * For more information on this interface, please see
  * http://www.whatwg.org/specs/web-apps/current-work/#the-datalist-element
  *
  * @status UNDER_DEVELOPMENT
  */
 
 interface nsIDOMHTMLCollection;
 
-[scriptable, uuid(ec66a63e-8a23-4a85-bd53-050b49a2b048)]
+[scriptable, uuid(cbea212b-8dda-42a5-b2c4-5942f55e1dfe)]
 interface nsIDOMHTMLDataListElement : nsIDOMHTMLElement
 {
   readonly attribute nsIDOMHTMLCollection options;
 };
 
--- a/dom/interfaces/html/nsIDOMHTMLDirectoryElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLDirectoryElement.idl
@@ -45,13 +45,13 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf909c-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(65f89019-bcf9-4661-8211-f52dbb9a7fe5)]
 interface nsIDOMHTMLDirectoryElement : nsIDOMHTMLElement
 {
            attribute boolean          compact;
 };
--- a/dom/interfaces/html/nsIDOMHTMLDivElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLDivElement.idl
@@ -45,13 +45,13 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf90a0-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(06b50d6a-611e-4f3c-baa6-3af81155f0bb)]
 interface nsIDOMHTMLDivElement : nsIDOMHTMLElement
 {
            attribute DOMString        align;
 };
--- a/dom/interfaces/html/nsIDOMHTMLDocument.idl
+++ b/dom/interfaces/html/nsIDOMHTMLDocument.idl
@@ -45,17 +45,17 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(fdab9ba2-c6ff-42c1-83ad-dea0b22af986)]
+[scriptable, uuid(0d3bef04-a890-4dbc-8571-b8e96ff5426b)]
 interface nsIDOMHTMLDocument : nsIDOMDocument
 {
            attribute DOMString            title;
   readonly attribute DOMString            referrer;
   // domain is readonly per spec, but it's settable in
   // nsIDOMNSHTMLDocument
   [noscript] readonly attribute DOMString domain;
   readonly attribute DOMString            URL;
--- a/dom/interfaces/html/nsIDOMHTMLElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLElement.idl
@@ -46,17 +46,17 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf9085-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(092ef5f6-3f54-468a-a1a5-ca922f8ef547)]
 interface nsIDOMHTMLElement : nsIDOMElement
 {
            attribute DOMString        id;
            attribute DOMString        title;
            attribute DOMString        lang;
            attribute DOMString        dir;
            attribute DOMString        className;
 };
--- a/dom/interfaces/html/nsIDOMHTMLEmbedElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLEmbedElement.idl
@@ -42,17 +42,17 @@
 /**
  * The nsIDOMHTMLEmbedElement interface is the interface to a [X]HTML
  * embed element.
  *
  * For more information on this interface, please see
  * http://www.whatwg.org/specs/web-apps/current-work/#the-embed-element
  */
 
-[scriptable, uuid(123f90ab-15b3-11d2-456e-00805f8add32)]
+[scriptable, uuid(6eebf0ac-b388-4942-ad83-3e43b327c360)]
 interface nsIDOMHTMLEmbedElement : nsIDOMHTMLElement
 {
            attribute DOMString        align;
            attribute DOMString        height;
            attribute DOMString        name;
            attribute DOMString        src;
            attribute DOMString        type;
            attribute DOMString        width;
--- a/dom/interfaces/html/nsIDOMHTMLFieldSetElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLFieldSetElement.idl
@@ -47,17 +47,17 @@
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
 interface nsIDOMValidityState;
 
-[scriptable, uuid(58db2166-36fc-482c-a9f8-84ad262537b2)]
+[scriptable, uuid(1bcb97d2-47f6-403f-ae10-65e00ad728f5)]
 interface nsIDOMHTMLFieldSetElement : nsIDOMHTMLElement
 {
            attribute boolean                disabled;
   readonly attribute nsIDOMHTMLFormElement  form;
            attribute DOMString              name;
 
   readonly attribute DOMString              type;
 
--- a/dom/interfaces/html/nsIDOMHTMLFontElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLFontElement.idl
@@ -45,15 +45,15 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf90a7-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(a2e78525-ade0-41bb-8bf0-041a32dc467e)]
 interface nsIDOMHTMLFontElement : nsIDOMHTMLElement
 {
            attribute DOMString        color;
            attribute DOMString        face;
            attribute DOMString        size;
 };
--- a/dom/interfaces/html/nsIDOMHTMLFormElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLFormElement.idl
@@ -45,17 +45,17 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(0884ce23-e069-499e-a13c-a91c8ae0fc98)]
+[scriptable, uuid(746363ef-0164-4868-8cf4-e6a695bd4cc7)]
 interface nsIDOMHTMLFormElement : nsIDOMHTMLElement
 {
            attribute DOMString            name;
 
            attribute DOMString            acceptCharset;
            attribute DOMString            action;
            attribute DOMString            autocomplete;
            attribute DOMString            enctype;
--- a/dom/interfaces/html/nsIDOMHTMLFrameElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLFrameElement.idl
@@ -45,17 +45,17 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf90b9-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(74a61421-d692-4f51-aee8-2409daebde0d)]
 interface nsIDOMHTMLFrameElement : nsIDOMHTMLElement
 {
            attribute DOMString        frameBorder;
            attribute DOMString        longDesc;
            attribute DOMString        marginHeight;
            attribute DOMString        marginWidth;
            attribute DOMString        name;
            attribute boolean          noResize;
--- a/dom/interfaces/html/nsIDOMHTMLFrameSetElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLFrameSetElement.idl
@@ -45,14 +45,14 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf90b8-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(dd600777-2812-4986-859a-8e9090aee1da)]
 interface nsIDOMHTMLFrameSetElement : nsIDOMHTMLElement
 {
            attribute DOMString        cols;
            attribute DOMString        rows;
 };
--- a/dom/interfaces/html/nsIDOMHTMLHRElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLHRElement.idl
@@ -45,16 +45,16 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf90a8-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(95573fb0-58eb-4740-ab11-a0e84ab67d3a)]
 interface nsIDOMHTMLHRElement : nsIDOMHTMLElement
 {
            attribute DOMString        align;
            attribute boolean          noShade;
            attribute DOMString        size;
            attribute DOMString        width;
 };
--- a/dom/interfaces/html/nsIDOMHTMLHeadElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLHeadElement.idl
@@ -45,13 +45,13 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf9087-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(97c0fbe3-f79c-4fe3-b891-dfabcf74a614)]
 interface nsIDOMHTMLHeadElement : nsIDOMHTMLElement
 {
            [noscript] attribute DOMString        profile;
 };
--- a/dom/interfaces/html/nsIDOMHTMLHeadingElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLHeadingElement.idl
@@ -45,13 +45,13 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf90a2-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(2f103fa6-27ae-409a-95a9-a842dd2feeba)]
 interface nsIDOMHTMLHeadingElement : nsIDOMHTMLElement
 {
            attribute DOMString        align;
 };
--- a/dom/interfaces/html/nsIDOMHTMLHtmlElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLHtmlElement.idl
@@ -45,13 +45,13 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf9086-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(3947d0f1-6b16-4bf7-a7e5-e042c5ce5975)]
 interface nsIDOMHTMLHtmlElement : nsIDOMHTMLElement
 {
            attribute DOMString        version;
 };
--- a/dom/interfaces/html/nsIDOMHTMLIFrameElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLIFrameElement.idl
@@ -45,17 +45,17 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf90ba-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(9cad6a82-1ffe-4990-9f32-37634e2873ff)]
 interface nsIDOMHTMLIFrameElement : nsIDOMHTMLElement
 {
            attribute DOMString        align;
            attribute DOMString        frameBorder;
            attribute DOMString        height;
            attribute DOMString        longDesc;
            attribute DOMString        marginHeight;
            attribute DOMString        marginWidth;
--- a/dom/interfaces/html/nsIDOMHTMLImageElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLImageElement.idl
@@ -45,17 +45,17 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(3fc9c313-49b9-4315-b39f-7166cf362e10)]
+[scriptable, uuid(e5747c9e-c805-4dfd-ae15-827a331533ba)]
 interface nsIDOMHTMLImageElement : nsIDOMHTMLElement
 {
            attribute DOMString        alt;
            attribute DOMString        src;
            attribute DOMString        useMap;
            attribute boolean          isMap;
            attribute long             width;
            attribute long             height;
--- a/dom/interfaces/html/nsIDOMHTMLInputElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLInputElement.idl
@@ -49,17 +49,17 @@ interface nsIDOMValidityState;
   *
   * This interface is trying to follow the DOM Level 2 HTML specification:
   * http://www.w3.org/TR/DOM-Level-2-HTML/
   *
   * with changes from the work-in-progress WHATWG HTML specification:
   * http://www.whatwg.org/specs/web-apps/current-work/
   */
 
-[scriptable, uuid(0805059d-f18f-4095-ae6b-0bf6df80b7b8)]
+[scriptable, uuid(bcf00efc-5217-4350-9fbc-e3059190830a)]
 interface nsIDOMHTMLInputElement : nsIDOMHTMLElement
 {
            attribute DOMString             accept;
            attribute DOMString             alt;
 
            attribute DOMString             autocomplete;
            attribute boolean               autofocus;
            attribute boolean               defaultChecked;
--- a/dom/interfaces/html/nsIDOMHTMLIsIndexElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLIsIndexElement.idl
@@ -45,14 +45,14 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf908c-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(9d1384b5-d70c-455d-929c-f422f89fcb7e)]
 interface nsIDOMHTMLIsIndexElement : nsIDOMHTMLElement
 {
   readonly attribute nsIDOMHTMLFormElement form;
            attribute DOMString             prompt;
 };
--- a/dom/interfaces/html/nsIDOMHTMLLIElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLLIElement.idl
@@ -45,14 +45,14 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf909e-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(e48b4094-9858-4aff-8e83-901fae94cd60)]
 interface nsIDOMHTMLLIElement : nsIDOMHTMLElement
 {
            attribute DOMString           type;
            attribute long                value;
 };
--- a/dom/interfaces/html/nsIDOMHTMLLabelElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLLabelElement.idl
@@ -45,17 +45,17 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(8a207452-e725-4a9e-beb6-9e0c0a65012c)]
+[scriptable, uuid(1a36591e-2538-4685-bb23-cb80300539db)]
 interface nsIDOMHTMLLabelElement : nsIDOMHTMLElement
 {
   readonly attribute nsIDOMHTMLFormElement form;
            attribute DOMString             htmlFor;
   readonly attribute nsIDOMHTMLElement     control;
 
            attribute DOMString             accessKey;
 };
--- a/dom/interfaces/html/nsIDOMHTMLLegendElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLLegendElement.idl
@@ -45,15 +45,15 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf9098-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(e68756ab-a35b-41b8-b9e7-bf0c0c1fa953)]
 interface nsIDOMHTMLLegendElement : nsIDOMHTMLElement
 {
   readonly attribute nsIDOMHTMLFormElement form;
            attribute DOMString             accessKey;
            attribute DOMString             align;
 };
--- a/dom/interfaces/html/nsIDOMHTMLLinkElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLLinkElement.idl
@@ -45,17 +45,17 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf9088-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(efceac0d-dc51-4c03-8658-7225c8cba4d3)]
 interface nsIDOMHTMLLinkElement : nsIDOMHTMLElement
 {
            attribute boolean          disabled;
            attribute DOMString        charset;
            attribute DOMString        href;
            attribute DOMString        hreflang;
            attribute DOMString        media;
            attribute DOMString        rel;
--- a/dom/interfaces/html/nsIDOMHTMLMapElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLMapElement.idl
@@ -45,14 +45,14 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf90af-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(dcf3850e-700e-4ef0-a67f-1e3dd9cdce9a)]
 interface nsIDOMHTMLMapElement : nsIDOMHTMLElement
 {
   readonly attribute nsIDOMHTMLCollection areas;
            attribute DOMString            name;
 };
--- a/dom/interfaces/html/nsIDOMHTMLMediaElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLMediaElement.idl
@@ -52,17 +52,17 @@
 
 // undef the GetCurrentTime macro defined in WinBase.h from the MS Platform SDK
 %{C++
 #ifdef GetCurrentTime
 #undef GetCurrentTime
 #endif
 %}
 
-[scriptable, uuid(91f65f50-74ea-40ea-8e26-652290738730)]
+[scriptable, uuid(b1a6e147-6934-43dc-b07e-8d1b40980b90)]
 interface nsIDOMHTMLMediaElement : nsIDOMHTMLElement
 {
   // error state
   readonly attribute nsIDOMMediaError error;
 
   // network state
            attribute DOMString src;
   readonly attribute DOMString currentSrc;
--- a/dom/interfaces/html/nsIDOMHTMLMenuElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLMenuElement.idl
@@ -45,13 +45,13 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf909d-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(df6c8120-e52e-4ea9-b49e-b83928487e75)]
 interface nsIDOMHTMLMenuElement : nsIDOMHTMLElement
 {
            attribute boolean          compact;
 };
--- a/dom/interfaces/html/nsIDOMHTMLMetaElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLMetaElement.idl
@@ -45,16 +45,16 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf908a-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(2cde45b3-1cc8-4a91-af52-a05ff8e78e3e)]
 interface nsIDOMHTMLMetaElement : nsIDOMHTMLElement
 {
            attribute DOMString        content;
            attribute DOMString        httpEquiv;
            attribute DOMString        name;
            attribute DOMString        scheme;
 };
--- a/dom/interfaces/html/nsIDOMHTMLModElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLModElement.idl
@@ -45,14 +45,14 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf90a9-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(9164daf4-974e-4862-b913-e0e73372df86)]
 interface nsIDOMHTMLModElement : nsIDOMHTMLElement
 {
            attribute DOMString        cite;
            attribute DOMString        dateTime;
 };
--- a/dom/interfaces/html/nsIDOMHTMLOListElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLOListElement.idl
@@ -45,15 +45,15 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf909a-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(5efcd7a0-8ca1-4efa-83fa-ea8f5fd29e76)]
 interface nsIDOMHTMLOListElement : nsIDOMHTMLElement
 {
            attribute boolean          compact;
            attribute long             start;
            attribute DOMString        type;
 };
--- a/dom/interfaces/html/nsIDOMHTMLObjectElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLObjectElement.idl
@@ -47,17 +47,17 @@
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
 interface nsIDOMValidityState;
 
-[scriptable, uuid(9b93aab4-7fe8-4f79-9ad2-0623178a0c46)]
+[scriptable, uuid(b11e44f3-c15c-494a-a89f-879fe9814cda)]
 interface nsIDOMHTMLObjectElement : nsIDOMHTMLElement
 {
   readonly attribute nsIDOMHTMLFormElement form;
            attribute DOMString             code;
            attribute DOMString             align;
            attribute DOMString             archive;
            attribute DOMString             border;
            attribute DOMString             codeBase;
--- a/dom/interfaces/html/nsIDOMHTMLOptGroupElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLOptGroupElement.idl
@@ -45,14 +45,14 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf9091-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(a47a2815-3115-46fb-915a-1ce3eea13a1a)]
 interface nsIDOMHTMLOptGroupElement : nsIDOMHTMLElement
 {
            attribute boolean          disabled;
            attribute DOMString        label;
 };
--- a/dom/interfaces/html/nsIDOMHTMLOptionElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLOptionElement.idl
@@ -45,17 +45,17 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(611d00f5-1eb8-4571-b995-2a2019d2d11c)]
+[scriptable, uuid(40465e21-dd35-4d8b-8d07-70a51b4fb9d1)]
 interface nsIDOMHTMLOptionElement : nsIDOMHTMLElement
 {
            attribute boolean               disabled;
   readonly attribute nsIDOMHTMLFormElement form;
            attribute DOMString             label;
            attribute boolean               defaultSelected;
            attribute boolean               selected;
            attribute DOMString             value;
--- a/dom/interfaces/html/nsIDOMHTMLOutputElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLOutputElement.idl
@@ -45,17 +45,17 @@
  * http://www.whatwg.org/specs/web-apps/current-work/#the-output-element
  *
  * @status UNDER_DEVELOPMENT
  */
 
 interface nsIDOMDOMSettableTokenList;
 interface nsIDOMValidityState;
 
-[scriptable, uuid(0f7f15a9-ea72-4feb-b2b5-2fcbc9c10ab8)]
+[scriptable, uuid(8c46bfd3-c4cb-4b97-b011-2c8fd2811aca)]
 interface nsIDOMHTMLOutputElement : nsIDOMHTMLElement
 {
   readonly attribute nsIDOMDOMSettableTokenList htmlFor;
   readonly attribute nsIDOMHTMLFormElement      form;
            attribute DOMString                  name;
 
   readonly attribute DOMString                  type;
            attribute DOMString                  defaultValue;
--- a/dom/interfaces/html/nsIDOMHTMLParagraphElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLParagraphElement.idl
@@ -45,13 +45,13 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf90a1-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(4e83739e-1756-40dd-9bdf-eab1bf515239)]
 interface nsIDOMHTMLParagraphElement : nsIDOMHTMLElement
 {
            attribute DOMString        align;
 };
--- a/dom/interfaces/html/nsIDOMHTMLParamElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLParamElement.idl
@@ -45,16 +45,16 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf90ad-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(3d42b355-2e24-4b2f-8221-69e7a9fe373e)]
 interface nsIDOMHTMLParamElement : nsIDOMHTMLElement
 {
            attribute DOMString        name;
            attribute DOMString        type;
            attribute DOMString        value;
            attribute DOMString        valueType;
 };
--- a/dom/interfaces/html/nsIDOMHTMLPreElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLPreElement.idl
@@ -45,13 +45,13 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf90a4-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(b069f384-b2bf-4b8f-887d-427389c02e53)]
 interface nsIDOMHTMLPreElement : nsIDOMHTMLElement
 {
            attribute long             width;
 };
--- a/dom/interfaces/html/nsIDOMHTMLQuoteElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLQuoteElement.idl
@@ -45,13 +45,13 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf90a3-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(b09051e3-a24c-4912-b6f3-a53d050e4439)]
 interface nsIDOMHTMLQuoteElement : nsIDOMHTMLElement
 {
            attribute DOMString        cite;
 };
--- a/dom/interfaces/html/nsIDOMHTMLScriptElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLScriptElement.idl
@@ -45,17 +45,17 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(4af8568c-375c-42fd-a82f-b25a7c03fc3e)]
+[scriptable, uuid(8143a6fa-58f0-43fa-a300-e590fcf5f2f1)]
 interface nsIDOMHTMLScriptElement : nsIDOMHTMLElement
 {
            attribute DOMString        src;
            attribute boolean          async;
            attribute boolean          defer;
            attribute DOMString        type;
            attribute DOMString        charset;
            attribute DOMString        text;
--- a/dom/interfaces/html/nsIDOMHTMLSelectElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLSelectElement.idl
@@ -48,17 +48,17 @@
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
 interface nsIDOMValidityState;
 
-[scriptable, uuid(da2be32d-63de-47ae-8c81-7ab8ac6b5aae)]
+[scriptable, uuid(438a6680-f9e2-4f98-875e-b6083cbe3e77)]
 interface nsIDOMHTMLSelectElement : nsIDOMHTMLElement
 {
            attribute boolean                     autofocus;
            attribute boolean                     disabled;
   readonly attribute nsIDOMHTMLFormElement       form;
            attribute boolean                     multiple;
            attribute DOMString                   name;
            attribute long                        size;
--- a/dom/interfaces/html/nsIDOMHTMLSourceElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLSourceElement.idl
@@ -43,14 +43,14 @@
  * <source> element.
  *
  * For more information on this interface, please see
  * http://www.whatwg.org/specs/web-apps/current-work/#source
  *
  * @status UNDER_DEVELOPMENT
  */
 
-[scriptable, uuid(be281029-7dd9-4268-963e-96f5196acc19)]
+[scriptable, uuid(23ab8a3e-d6e5-4ed3-8c89-7a1ac31c67f2)]
 interface nsIDOMHTMLSourceElement : nsIDOMHTMLElement
 {
            attribute DOMString src;
            attribute DOMString type;
 };
--- a/dom/interfaces/html/nsIDOMHTMLStyleElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLStyleElement.idl
@@ -45,15 +45,15 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf908d-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(7cfe7566-5b1b-4931-9969-3d64c4a8cee1)]
 interface nsIDOMHTMLStyleElement : nsIDOMHTMLElement
 {
            attribute boolean          disabled;
            attribute DOMString        media;
            attribute DOMString        type;
 };
--- a/dom/interfaces/html/nsIDOMHTMLTableCaptionElem.idl
+++ b/dom/interfaces/html/nsIDOMHTMLTableCaptionElem.idl
@@ -45,13 +45,13 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf90b3-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(d8d86ab3-6bc2-4615-a7ee-24be42a44a46)]
 interface nsIDOMHTMLTableCaptionElement : nsIDOMHTMLElement
 {
            attribute DOMString        align;
 };
--- a/dom/interfaces/html/nsIDOMHTMLTableCellElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLTableCellElement.idl
@@ -45,17 +45,17 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf90b7-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(8b44d956-4da8-4b61-a0ee-2ae6773bd2ce)]
 interface nsIDOMHTMLTableCellElement : nsIDOMHTMLElement
 {
   readonly attribute long             cellIndex;
            attribute DOMString        abbr;
            attribute DOMString        align;
            attribute DOMString        axis;
            attribute DOMString        bgColor;
            attribute DOMString        ch;
--- a/dom/interfaces/html/nsIDOMHTMLTableColElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLTableColElement.idl
@@ -45,17 +45,17 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf90b4-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(3ce8cdfa-9bb0-4a42-a483-c3cb978f7864)]
 interface nsIDOMHTMLTableColElement : nsIDOMHTMLElement
 {
            attribute DOMString        align;
            attribute DOMString        ch;
            attribute DOMString        chOff;
            attribute long             span;
            attribute DOMString        vAlign;
            attribute DOMString        width;
--- a/dom/interfaces/html/nsIDOMHTMLTableElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLTableElement.idl
@@ -45,17 +45,17 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf90b2-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(5287af67-bcac-4db7-8dd7-6a60cde335b0)]
 interface nsIDOMHTMLTableElement : nsIDOMHTMLElement
 {
   // Modified in DOM Level 2:
            attribute nsIDOMHTMLTableCaptionElement caption;
                                              // raises(DOMException) on setting
 
   // Modified in DOM Level 2:
            attribute nsIDOMHTMLTableSectionElement tHead;
--- a/dom/interfaces/html/nsIDOMHTMLTableRowElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLTableRowElement.idl
@@ -45,17 +45,17 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf90b6-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(32cba7ef-5cda-49a3-b1a8-f6defb13aa4e)]
 interface nsIDOMHTMLTableRowElement : nsIDOMHTMLElement
 {
   // Modified in DOM Level 2:
   readonly attribute long                 rowIndex;
   // Modified in DOM Level 2:
   readonly attribute long                 sectionRowIndex;
   // Modified in DOM Level 2:
   readonly attribute nsIDOMHTMLCollection cells;
--- a/dom/interfaces/html/nsIDOMHTMLTableSectionElem.idl
+++ b/dom/interfaces/html/nsIDOMHTMLTableSectionElem.idl
@@ -45,17 +45,17 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf90b5-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(669bdaf8-f3c5-4925-a054-fbd11d63de59)]
 interface nsIDOMHTMLTableSectionElement : nsIDOMHTMLElement
 {
            attribute DOMString            align;
            attribute DOMString            ch;
            attribute DOMString            chOff;
            attribute DOMString            vAlign;
   readonly attribute nsIDOMHTMLCollection rows;
   // Modified in DOM Level 2:
--- a/dom/interfaces/html/nsIDOMHTMLTextAreaElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLTextAreaElement.idl
@@ -45,17 +45,17 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(7a403df9-8911-499b-afbf-98a1bbc20dd1)]
+[scriptable, uuid(cbc46753-1e54-43cd-afc9-068501abffb9)]
 interface nsIDOMHTMLTextAreaElement : nsIDOMHTMLElement
 {
   // Modified in DOM Level 2:
            attribute DOMString             defaultValue;
   readonly attribute nsIDOMHTMLFormElement form;
            attribute DOMString             accessKey;
            attribute unsigned long         cols;
            attribute boolean               disabled;
--- a/dom/interfaces/html/nsIDOMHTMLTitleElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLTitleElement.idl
@@ -45,13 +45,13 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf9089-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(df203632-8ff0-4435-966f-449b11ce4d48)]
 interface nsIDOMHTMLTitleElement : nsIDOMHTMLElement
 {
            attribute DOMString        text;
 };
--- a/dom/interfaces/html/nsIDOMHTMLUListElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLUListElement.idl
@@ -45,14 +45,14 @@
  *
  * This interface is trying to follow the DOM Level 2 HTML specification:
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  *
  * with changes from the work-in-progress WHATWG HTML specification:
  * http://www.whatwg.org/specs/web-apps/current-work/
  */
 
-[scriptable, uuid(a6cf9099-15b3-11d2-932e-00805f8add32)]
+[scriptable, uuid(ee2d4c7c-6f45-4746-8f07-67012dd41b9e)]
 interface nsIDOMHTMLUListElement : nsIDOMHTMLElement
 {
            attribute boolean          compact;
            attribute DOMString        type;
 };
--- a/dom/interfaces/html/nsIDOMHTMLUnknownElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLUnknownElement.idl
@@ -38,12 +38,12 @@
 #include "nsIDOMHTMLElement.idl"
 
 /**
  * The nsIDOMHTMLUnknownElement interface is the interface to an unknown HTML
  * element.
  *
  * @see <http://www.whatwg.org/html/#htmlunknownelement>
  */
-[scriptable, uuid(13d29c53-a9a6-45b8-bb69-e5294bb6e09e)]
+[scriptable, uuid(3ed18057-6dc0-43f4-834e-25118c840482)]
 interface nsIDOMHTMLUnknownElement : nsIDOMHTMLElement
 {
 };
--- a/dom/interfaces/html/nsIDOMHTMLVideoElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLVideoElement.idl
@@ -43,17 +43,17 @@
  * <video> element.
  *
  * For more information on this interface, please see
  * http://www.whatwg.org/specs/web-apps/current-work/#video
  *
  * @status UNDER_DEVELOPMENT
  */
 
-[scriptable, uuid(e1f52aa5-9962-4019-b7b3-af3aee6e4d48)]
+[scriptable, uuid(59b7aa25-7857-4f2c-a11e-ab921a76e6c7)]
 interface nsIDOMHTMLVideoElement : nsIDOMHTMLMediaElement
 {
            attribute long width; 
            attribute long height;
   readonly attribute unsigned long videoWidth;
   readonly attribute unsigned long videoHeight;
            attribute DOMString poster;
            
--- a/dom/interfaces/svg/nsIDOMSVGAElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGAElement.idl
@@ -39,17 +39,17 @@
 
 /**
  * For more information on this interface please see
  * http://www.w3.org/TR/SVG/linking.html#AElement
  */
 
 interface nsIDOMSVGAnimatedString;
 
-[scriptable, uuid(35d3365a-3e6f-4cdf-983d-fdaed1564478)]
+[scriptable, uuid(4b1c2d6b-71c2-4dd0-96fc-84c1872786ce)]
 interface nsIDOMSVGAElement
   : nsIDOMSVGElement
 /*
   The SVG DOM makes use of multiple interface inheritance.
   Since XPCOM only supports single interface inheritance,
   the best thing that we can do is to promise that whenever
   an object implements _this_ interface it will also
   implement the following interfaces. (We then have to QI to
--- a/dom/interfaces/svg/nsIDOMSVGAltGlyphElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGAltGlyphElement.idl
@@ -30,17 +30,17 @@
  * 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 "nsIDOMSVGTextPositionElem.idl"
 
-[scriptable, uuid(b688b5fd-48b6-447c-bb20-766a9392d0d0)]
+[scriptable, uuid(f624c6ea-ced6-404a-b8a0-5f67a4d86bce)]
 interface nsIDOMSVGAltGlyphElement : nsIDOMSVGTextPositioningElement
 /*
         The SVG DOM makes use of multiple interface inheritance.
         Since XPCOM only supports single interface inheritance,
         the best thing that we can do is to promise that whenever
         an object implements _this_ interface it will also
         implement the following interfaces. (We then have to QI to
         hop between them.)
--- a/dom/interfaces/svg/nsIDOMSVGAnimationElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGAnimationElement.idl
@@ -32,17 +32,17 @@
  * 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 "nsIDOMSVGElement.idl"
 
-[scriptable, uuid(8f2ccf31-5544-4a9d-8927-ef35d242039e)]
+[scriptable, uuid(4e04c285-80c2-42a2-979f-3786ba42acf5)]
 interface nsIDOMSVGAnimationElement
   : nsIDOMSVGElement
 /*
         The SVG DOM makes use of multiple interface inheritance.
         Since XPCOM only supports single interface inheritance,
         the best thing that we can do is to promise that whenever
         an object implements _this_ interface it will also
         implement the following interfaces. (We then have to QI to
--- a/dom/interfaces/svg/nsIDOMSVGCircleElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGCircleElement.idl
@@ -35,17 +35,17 @@
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #include "nsIDOMSVGElement.idl"
 
 interface nsIDOMSVGAnimatedLength;
 
-[scriptable, uuid(0f89f2a4-b168-4602-90f5-1874418c0a6a)]
+[scriptable, uuid(db2ba352-d0b2-49fd-859e-64624ad557bc)]
 interface nsIDOMSVGCircleElement
   : nsIDOMSVGElement
 /*
         The SVG DOM makes use of multiple interface inheritance.
         Since XPCOM only supports single interface inheritance,
         the best thing that we can do is to promise that whenever
         an object implements _this_ interface it will also
         implement the following interfaces. (We then have to QI to
--- a/dom/interfaces/svg/nsIDOMSVGClipPathElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGClipPathElement.idl
@@ -42,17 +42,17 @@
  *
  * For more information on this interface please see
  * http://www.w3.org/TR/SVG11/masking.html
  *
  */
 
 interface nsIDOMSVGAnimatedEnumeration;
 
-[scriptable, uuid(0c3f45a4-e6d0-44e7-a2f8-d128ecf1db9b)]
+[scriptable, uuid(3dd19de9-deee-4105-9c5c-c51c68b31326)]
 interface nsIDOMSVGClipPathElement
   : nsIDOMSVGElement
 /*
   The SVG DOM makes use of multiple interface inheritance.
   Since XPCOM only supports single interface inheritance,
   the best thing that we can do is to promise that whenever
   an object implements _this_ interface it will also
   implement the following interfaces. (We then have to QI to
--- a/dom/interfaces/svg/nsIDOMSVGDefsElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGDefsElement.idl
@@ -33,17 +33,17 @@
  * 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 "nsIDOMSVGElement.idl"
 
-[scriptable, uuid(a2e86036-f04c-4013-9f74-e7090a0aac0a)]
+[scriptable, uuid(649d4045-57d0-4937-a19b-e9d52e306a2b)]
 interface nsIDOMSVGDefsElement
   : nsIDOMSVGElement
 /*
   The SVG DOM makes use of multiple interface inheritance.
   Since XPCOM only supports single interface inheritance,
   the best thing that we can do is to promise that whenever
   an object implements _this_ interface it will also
   implement the following interfaces. (We then have to QI to
--- a/dom/interfaces/svg/nsIDOMSVGDescElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGDescElement.idl
@@ -33,17 +33,17 @@
  * 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 "nsIDOMSVGElement.idl"
 
-[scriptable, uuid(56f539b7-0b3d-4bac-b60d-9efe220216ea)]
+[scriptable, uuid(6c867f82-13b5-4237-a653-d4a21d5d3d0b)]
 interface nsIDOMSVGDescElement
   : nsIDOMSVGElement
 /*
   The SVG DOM makes use of multiple interface inheritance.
   Since XPCOM only supports single interface inheritance,
   the best thing that we can do is to promise that whenever
   an object implements _this_ interface it will also
   implement the following interfaces. (We then have to QI to
--- a/dom/interfaces/svg/nsIDOMSVGDocument.idl
+++ b/dom/interfaces/svg/nsIDOMSVGDocument.idl
@@ -34,17 +34,17 @@
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #include "nsIDOMDocument.idl"
 
 interface nsIDOMSVGSVGElement;
 
-[scriptable, uuid(f9aa3be8-ab84-4e92-a50b-a7481171407a)]
+[scriptable, uuid(fc52bd3f-850c-4d80-819f-5bd8321b4b59)]
 interface nsIDOMSVGDocument : nsIDOMDocument
                          /* , nsIDOMDocumentEvent */
 {
   readonly attribute DOMString title;
   readonly attribute DOMString referrer;
   readonly attribute DOMString domain;
   readonly attribute DOMString URL;
   readonly attribute nsIDOMSVGSVGElement rootElement;
--- a/dom/interfaces/svg/nsIDOMSVGElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGElement.idl
@@ -35,16 +35,16 @@
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #include "nsIDOMElement.idl"
 
 interface nsIDOMSVGSVGElement;
 
-[scriptable, uuid(e0be7cbb-81c1-4663-8f95-109d96a60b6b)]
+[scriptable, uuid(c358d048-be72-4d39-93dc-0e85b8c9f07b)]
 interface nsIDOMSVGElement : nsIDOMElement 
 { 
   attribute DOMString id;
             // raises DOMException on setting
   readonly attribute nsIDOMSVGSVGElement ownerSVGElement;
   readonly attribute nsIDOMSVGElement    viewportElement;
 };
--- a/dom/interfaces/svg/nsIDOMSVGEllipseElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGEllipseElement.idl
@@ -35,17 +35,17 @@
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #include "nsIDOMSVGElement.idl"
 
 interface nsIDOMSVGAnimatedLength;
 
-[scriptable, uuid(5D1CD1E6-4A14-4056-ACC0-2F78C1672898)]
+[scriptable, uuid(2e1af4ae-5d46-4b0c-8d69-624eca05c831)]
 interface nsIDOMSVGEllipseElement
   : nsIDOMSVGElement
 /*
         The SVG DOM makes use of multiple interface inheritance.
         Since XPCOM only supports single interface inheritance,
         the best thing that we can do is to promise that whenever
         an object implements _this_ interface it will also
         implement the following interfaces. (We then have to QI to
--- a/dom/interfaces/svg/nsIDOMSVGFilterElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGFilterElement.idl
@@ -35,17 +35,17 @@
  * ***** END LICENSE BLOCK ***** */
 
 #include "nsIDOMSVGElement.idl"
 
 interface nsIDOMSVGAnimatedLength;
 interface nsIDOMSVGAnimatedEnumeration;
 interface nsIDOMSVGAnimatedInteger;
 
-[scriptable, uuid(9e81d4ae-190c-4b9d-a076-ebc52a7bf231)]
+[scriptable, uuid(56606fdd-9b9e-4b91-a34a-9504af3139dd)]
 interface nsIDOMSVGFilterElement
   : nsIDOMSVGElement
 /*
         The SVG DOM makes use of multiple interface inheritance.
         Since XPCOM only supports single interface inheritance,
         the best thing that we can do is to promise that whenever
         an object implements _this_ interface it will also
         implement the following interfaces. (We then have to QI to
--- a/dom/interfaces/svg/nsIDOMSVGFilters.idl
+++ b/dom/interfaces/svg/nsIDOMSVGFilters.idl
@@ -40,63 +40,63 @@
 interface nsIDOMSVGAnimatedLength;
 interface nsIDOMSVGAnimatedString;
 interface nsIDOMSVGAnimatedNumber;
 interface nsIDOMSVGAnimatedEnumeration;
 interface nsIDOMSVGAnimatedNumberList;
 interface nsIDOMSVGAnimatedInteger;
 interface nsIDOMSVGAnimatedBoolean;
 
-[scriptable, uuid(ab68567a-b830-4c46-9f2f-a28513a9e980)]
+[scriptable, uuid(8ec9c323-10dd-45ef-a301-4ecb9ec414dd)]
 interface nsIDOMSVGFilterPrimitiveStandardAttributes : nsIDOMSVGElement
 { 
     readonly attribute nsIDOMSVGAnimatedLength      x;
     readonly attribute nsIDOMSVGAnimatedLength      y;
     readonly attribute nsIDOMSVGAnimatedLength      width;
     readonly attribute nsIDOMSVGAnimatedLength      height;
     readonly attribute nsIDOMSVGAnimatedString      result;
 };
 
-[scriptable, uuid(8F4DAF4C-DE2D-450f-A373-449AD62E3800)]
+[scriptable, uuid(1644ea2b-8fdb-492d-a858-850b7bb570ed)]
 interface nsIDOMSVGFEBlendElement : nsIDOMSVGFilterPrimitiveStandardAttributes
 {
     const unsigned short SVG_MODE_UNKNOWN   = 0;
     const unsigned short SVG_MODE_NORMAL    = 1;
     const unsigned short SVG_MODE_MULTIPLY  = 2;
     const unsigned short SVG_MODE_SCREEN    = 3;
     const unsigned short SVG_MODE_DARKEN    = 4;
     const unsigned short SVG_MODE_LIGHTEN   = 5;
 
     readonly attribute nsIDOMSVGAnimatedString        in1;
     readonly attribute nsIDOMSVGAnimatedString        in2;
     readonly attribute nsIDOMSVGAnimatedEnumeration   mode;
 };
 
-[scriptable, uuid(0E966878-EBF1-4455-86FD-F4C7B1F24777)]
+[scriptable, uuid(94d552df-87ea-4eaf-8618-5de29a7a9dbe)]
 interface nsIDOMSVGFEColorMatrixElement : nsIDOMSVGFilterPrimitiveStandardAttributes
 {
     // Color Matrix Types
     const unsigned short SVG_FECOLORMATRIX_TYPE_UNKNOWN            = 0;
     const unsigned short SVG_FECOLORMATRIX_TYPE_MATRIX             = 1;
     const unsigned short SVG_FECOLORMATRIX_TYPE_SATURATE           = 2;
     const unsigned short SVG_FECOLORMATRIX_TYPE_HUE_ROTATE         = 3;
     const unsigned short SVG_FECOLORMATRIX_TYPE_LUMINANCE_TO_ALPHA = 4;
 
     readonly attribute nsIDOMSVGAnimatedString in1;
     readonly attribute nsIDOMSVGAnimatedEnumeration type;
     readonly attribute nsIDOMSVGAnimatedNumberList  values;
 };
 
-[scriptable, uuid(4de6b44a-f909-4948-bc43-5ee2ca6de55b)]
+[scriptable, uuid(2871a5c9-d4e5-420c-910c-c98fc2e8cad1)]
 interface nsIDOMSVGFEComponentTransferElement : nsIDOMSVGFilterPrimitiveStandardAttributes
 {
     readonly attribute nsIDOMSVGAnimatedString in1;
 };
 
-[scriptable, uuid(cb615c0f-8d4a-4e30-9695-a3dd6f4216ee)]
+[scriptable, uuid(1620e78a-cb9d-44ad-99f3-732168a403e6)]
 interface nsIDOMSVGComponentTransferFunctionElement : nsIDOMSVGElement
 {
     // Component Transfer Types
     const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN  = 0;
     const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY = 1;
     const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_TABLE    = 2;
     const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE = 3;
     const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_LINEAR   = 4;
@@ -106,17 +106,17 @@ interface nsIDOMSVGComponentTransferFunc
     readonly attribute nsIDOMSVGAnimatedNumberList  tableValues;
     readonly attribute nsIDOMSVGAnimatedNumber      slope;
     readonly attribute nsIDOMSVGAnimatedNumber      intercept;
     readonly attribute nsIDOMSVGAnimatedNumber      amplitude;
     readonly attribute nsIDOMSVGAnimatedNumber      exponent;
     readonly attribute nsIDOMSVGAnimatedNumber      offset;
 };
 
-[scriptable, uuid(6FF3C539-1A3B-4a3f-8ACD-354D349EB7FC)]
+[scriptable, uuid(12c63fba-b0f9-41ee-ad57-573650ebde89)]
 interface nsIDOMSVGFECompositeElement : nsIDOMSVGFilterPrimitiveStandardAttributes
 {
     // Operator Types
     const unsigned short SVG_OPERATOR_UNKNOWN    = 0;
     const unsigned short SVG_OPERATOR_OVER       = 1;
     const unsigned short SVG_OPERATOR_IN         = 2;
     const unsigned short SVG_OPERATOR_OUT        = 3;
     const unsigned short SVG_OPERATOR_ATOP       = 4;
@@ -130,75 +130,75 @@ interface nsIDOMSVGFECompositeElement : 
     readonly attribute nsIDOMSVGAnimatedNumber  k3;
     readonly attribute nsIDOMSVGAnimatedNumber  k4;
     readonly attribute nsIDOMSVGAnimatedEnumeration operator;
     
     void setK ( in float k1, in float k2, in float k3, in float k4 );
 
 };
 
-[scriptable, uuid(85719a5d-9688-4c5f-bad5-c21847515200)]
+[scriptable, uuid(f13456d1-04b9-45cb-9fbf-fc733d6a0279)]
 interface nsIDOMSVGFEFuncRElement : nsIDOMSVGComponentTransferFunctionElement
 {
 };
 
-[scriptable, uuid(28555e78-c6c2-4a98-af53-bfc2c6944295)]
+[scriptable, uuid(05709de9-e3a9-43c1-a820-585c3f4694be)]
 interface nsIDOMSVGFEFuncGElement : nsIDOMSVGComponentTransferFunctionElement
 {
 };
 
-[scriptable, uuid(8b139fe7-5d21-4af3-beda-414aa089b3fb)]
+[scriptable, uuid(7ed53e92-f831-4e5c-bdd4-ab769e27587e)]
 interface nsIDOMSVGFEFuncBElement : nsIDOMSVGComponentTransferFunctionElement
 {
 };
 
-[scriptable, uuid(fa48511c-283a-437f-9507-c309ac6f0f57)]
+[scriptable, uuid(30893867-f167-4238-bec2-fb0a65cdf779)]
 interface nsIDOMSVGFEFuncAElement : nsIDOMSVGComponentTransferFunctionElement
 {
 };
 
-[scriptable, uuid(43ff8d42-3380-4dbd-a916-7c2daa3ed7f4)]
+[scriptable, uuid(66a74ea4-5504-4a8b-9c3a-b0438615f15e)]
 interface nsIDOMSVGFEGaussianBlurElement : nsIDOMSVGFilterPrimitiveStandardAttributes
 { 
     readonly attribute nsIDOMSVGAnimatedString in1;
     readonly attribute nsIDOMSVGAnimatedNumber stdDeviationX;
     readonly attribute nsIDOMSVGAnimatedNumber stdDeviationY;
 
     void setStdDeviation ( in float stdDeviationX, in float stdDeviationY );
 };
 
-[scriptable, uuid(b860512c-2547-4d1f-bb43-b57b54d39014)]
+[scriptable, uuid(9932eb32-dee0-4848-b0a5-a6c0dfd21182)]
 interface nsIDOMSVGFEMergeElement : nsIDOMSVGFilterPrimitiveStandardAttributes
 {
 };
 
-[scriptable, uuid(540c3447-4b07-4bd3-84df-30f66b68df14)]
+[scriptable, uuid(695a89c2-8eab-4ddd-94e7-509bf2a4f6e8)]
 interface nsIDOMSVGFEMergeNodeElement : nsIDOMSVGElement { 
     readonly attribute nsIDOMSVGAnimatedString in1;
 };
 
-[scriptable, uuid(c080f191-b22c-4fc0-85d5-a79dc3fa7ec8)]
+[scriptable, uuid(15acdbf5-6203-4167-b7c1-c746f5dd2478)]
 interface nsIDOMSVGFEOffsetElement : nsIDOMSVGFilterPrimitiveStandardAttributes { 
     readonly attribute nsIDOMSVGAnimatedString in1;
     readonly attribute nsIDOMSVGAnimatedNumber dx;
     readonly attribute nsIDOMSVGAnimatedNumber dy;
 };
 
-[scriptable, uuid(2743af95-28c5-429d-9812-12b7b017887e)]
+[scriptable, uuid(cf267d0d-813a-4c67-be8e-e65937afba21)]
 interface nsIDOMSVGFEFloodElement : nsIDOMSVGFilterPrimitiveStandardAttributes
 {
 };
 
-[scriptable, uuid(ed042a81-39fc-4c89-9385-75758a2434b5)]
+[scriptable, uuid(380da0f2-f2f5-457e-a79d-7fab3da1eefb)]
 interface nsIDOMSVGFETileElement : nsIDOMSVGFilterPrimitiveStandardAttributes
 {
     readonly attribute nsIDOMSVGAnimatedString in1;
 };
 
-[scriptable, uuid(77bc4d70-0d49-4c81-b7a7-7432f0fe3e04)]
+[scriptable, uuid(20d41b65-e433-4742-b9e1-08238b139285)]
 interface nsIDOMSVGFETurbulenceElement : nsIDOMSVGFilterPrimitiveStandardAttributes
 { 
     // Turbulence Types
     const unsigned short SVG_TURBULENCE_TYPE_UNKNOWN      = 0;
     const unsigned short SVG_TURBULENCE_TYPE_FRACTALNOISE = 1;
     const unsigned short SVG_TURBULENCE_TYPE_TURBULENCE   = 2;
     // Stitch Options
     const unsigned short SVG_STITCHTYPE_UNKNOWN  = 0;
@@ -208,33 +208,33 @@ interface nsIDOMSVGFETurbulenceElement :
     readonly attribute nsIDOMSVGAnimatedNumber      baseFrequencyX;
     readonly attribute nsIDOMSVGAnimatedNumber      baseFrequencyY;
     readonly attribute nsIDOMSVGAnimatedInteger     numOctaves;
     readonly attribute nsIDOMSVGAnimatedNumber      seed;
     readonly attribute nsIDOMSVGAnimatedEnumeration stitchTiles;
     readonly attribute nsIDOMSVGAnimatedEnumeration type;
 };
 
-[scriptable, uuid(16154319-FB5F-4473-B360-5065B6096D33)]
+[scriptable, uuid(83508db0-be38-4929-8e91-7cfddb921f4a)]
 interface nsIDOMSVGFEMorphologyElement : nsIDOMSVGFilterPrimitiveStandardAttributes
 { 
     // Operator Types
     const unsigned short SVG_OPERATOR_UNKNOWN  = 0;
     const unsigned short SVG_OPERATOR_ERODE    = 1;
     const unsigned short SVG_OPERATOR_DILATE   = 2;
 
     readonly attribute nsIDOMSVGAnimatedString      in1;
     readonly attribute nsIDOMSVGAnimatedNumber      radiusX;
     readonly attribute nsIDOMSVGAnimatedNumber      radiusY;
     readonly attribute nsIDOMSVGAnimatedEnumeration operator;
     
     void setRadius ( in float rx, in float ry );
 };
 
-[scriptable, uuid(42109b58-a8c1-4078-b44c-ec1d5d6b9574)]
+[scriptable, uuid(5232e1f6-6845-4c29-9677-93852228ab2f)]
 interface nsIDOMSVGFEConvolveMatrixElement : nsIDOMSVGFilterPrimitiveStandardAttributes
 { 
     // Edge Mode Values
     const unsigned short SVG_EDGEMODE_UNKNOWN   = 0;
     const unsigned short SVG_EDGEMODE_DUPLICATE = 1;
     const unsigned short SVG_EDGEMODE_WRAP      = 2;
     const unsigned short SVG_EDGEMODE_NONE      = 3;
 
@@ -247,27 +247,27 @@ interface nsIDOMSVGFEConvolveMatrixEleme
     readonly attribute nsIDOMSVGAnimatedInteger     targetX;
     readonly attribute nsIDOMSVGAnimatedInteger     targetY;
     readonly attribute nsIDOMSVGAnimatedEnumeration edgeMode;
     readonly attribute nsIDOMSVGAnimatedNumber      kernelUnitLengthX;
     readonly attribute nsIDOMSVGAnimatedNumber      kernelUnitLengthY;
     readonly attribute nsIDOMSVGAnimatedBoolean     preserveAlpha;
 };
 
-[scriptable, uuid(2e9eb422-2398-4be9-a9b8-b1cc7aa9dd6f)]
+[scriptable, uuid(3834f5f7-bb9b-4ba4-9de5-6b12bca6fb46)]
 interface nsIDOMSVGFEDiffuseLightingElement :  nsIDOMSVGFilterPrimitiveStandardAttributes
 { 
   readonly attribute nsIDOMSVGAnimatedString in1;
   readonly attribute nsIDOMSVGAnimatedNumber surfaceScale;
   readonly attribute nsIDOMSVGAnimatedNumber diffuseConstant;
   readonly attribute nsIDOMSVGAnimatedNumber kernelUnitLengthX;
   readonly attribute nsIDOMSVGAnimatedNumber kernelUnitLengthY;
 };
 
-[scriptable, uuid(49c38287-a7c2-4895-a630-86d2b45df23c)]
+[scriptable, uuid(3e60f5df-f77a-4fe2-bcad-881865cfc21f)]
 interface nsIDOMSVGFESpecularLightingElement : nsIDOMSVGFilterPrimitiveStandardAttributes
 { 
   readonly attribute nsIDOMSVGAnimatedString in1;
   readonly attribute nsIDOMSVGAnimatedNumber surfaceScale;
   readonly attribute nsIDOMSVGAnimatedNumber specularConstant;
   readonly attribute nsIDOMSVGAnimatedNumber specularExponent;
   readonly attribute nsIDOMSVGAnimatedNumber kernelUnitLengthX;
   readonly attribute nsIDOMSVGAnimatedNumber kernelUnitLengthY;
@@ -293,27 +293,27 @@ interface nsIDOMSVGFESpotLightElement : 
   readonly attribute nsIDOMSVGAnimatedNumber z;
   readonly attribute nsIDOMSVGAnimatedNumber pointsAtX;
   readonly attribute nsIDOMSVGAnimatedNumber pointsAtY;
   readonly attribute nsIDOMSVGAnimatedNumber pointsAtZ;
   readonly attribute nsIDOMSVGAnimatedNumber specularExponent;
   readonly attribute nsIDOMSVGAnimatedNumber limitingConeAngle;
 };
 
-[scriptable, uuid(3250f5c9-9c76-4e77-96d8-5f0cc85f41c4)]
+[scriptable, uuid(d36089cf-ade0-48e8-9540-40ee35838f88)]
 interface nsIDOMSVGFEImageElement : nsIDOMSVGFilterPrimitiveStandardAttributes
 /*
   nsIDOMSVGURIReference,
   nsIDOMSVGLangSpace,
   nsIDOMSVGExternalResourcesRequired
 */
 {
 };
 
-[scriptable, uuid(80e1ea9c-eff3-490a-8c98-918963d2e7e9)]
+[scriptable, uuid(821533e9-9da9-4ea4-8d53-5fb9170fa952)]
 interface nsIDOMSVGFEDisplacementMapElement : nsIDOMSVGFilterPrimitiveStandardAttributes
 {
   // Channel Selectors
   const unsigned short SVG_CHANNEL_UNKNOWN = 0;
   const unsigned short SVG_CHANNEL_R       = 1;
   const unsigned short SVG_CHANNEL_G       = 2;
   const unsigned short SVG_CHANNEL_B       = 3;
   const unsigned short SVG_CHANNEL_A       = 4;
--- a/dom/interfaces/svg/nsIDOMSVGForeignObjectElem.idl
+++ b/dom/interfaces/svg/nsIDOMSVGForeignObjectElem.idl
@@ -35,17 +35,17 @@
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #include "nsIDOMSVGElement.idl"
 
 interface nsIDOMSVGAnimatedLength;
 
-[scriptable, uuid(fd9c9871-23fd-48eb-a65b-3842e9b0acbd)]
+[scriptable, uuid(a093460b-e3d0-4914-aa60-a4b31aa53276)]
 interface nsIDOMSVGForeignObjectElement
   : nsIDOMSVGElement
 /*
   The SVG DOM makes use of multiple interface inheritance.
   Since XPCOM only supports single interface inheritance,
   the best thing that we can do is to promise that whenever
   an object implements _this_ interface it will also
   implement the following interfaces. (We then have to QI to
--- a/dom/interfaces/svg/nsIDOMSVGGElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGGElement.idl
@@ -33,17 +33,17 @@
  * 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 "nsIDOMSVGElement.idl"
 
-[scriptable, uuid(0bd57cbd-a090-44aa-a61b-2fb876841194)]
+[scriptable, uuid(86317234-cf55-4ff0-8fed-de48557ae82e)]
 interface nsIDOMSVGGElement
   : nsIDOMSVGElement
 /*
   The SVG DOM makes use of multiple interface inheritance.
   Since XPCOM only supports single interface inheritance,
   the best thing that we can do is to promise that whenever
   an object implements _this_ interface it will also
   implement the following interfaces. (We then have to QI to
--- a/dom/interfaces/svg/nsIDOMSVGGradientElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGGradientElement.idl
@@ -45,17 +45,17 @@
  * For more information on this interface please see
  * http://www.w3.org/TR/SVG11/pservers.html
  *
  */
 
 interface nsIDOMSVGAnimatedEnumeration;
 interface nsIDOMSVGAnimatedTransformList;
 
-[scriptable, uuid(988b2de4-137b-4bb8-a15e-fe94038e9cf3)]
+[scriptable, uuid(8114186f-29ef-4642-b4e2-762f331661e5)]
 interface nsIDOMSVGGradientElement
   : nsIDOMSVGElement
 /*
         The SVG DOM makes use of multiple interface inheritance.
         Since XPCOM only supports single interface inheritance,
         the best thing that we can do is to promise that whenever
         an object implements _this_ interface it will also
         implement the following interfaces. (We then have to QI to
@@ -83,17 +83,17 @@ interface nsIDOMSVGGradientElement
  * For more information on this interface please see
  * http://www.w3.org/TR/SVG11/pservers.html
  *
  */
 
 // Linear gradient
 interface nsIDOMSVGAnimatedLength;
 
-[scriptable, uuid(7e15fce5-b208-43e1-952a-c570ebad0619)]
+[scriptable, uuid(44e59baf-4ca5-48af-9749-69b30be11917)]
 interface nsIDOMSVGLinearGradientElement
   : nsIDOMSVGGradientElement
 { 
   readonly attribute nsIDOMSVGAnimatedLength x1;
   readonly attribute nsIDOMSVGAnimatedLength y1;
   readonly attribute nsIDOMSVGAnimatedLength x2;
   readonly attribute nsIDOMSVGAnimatedLength y2;
 };
@@ -105,17 +105,17 @@ interface nsIDOMSVGLinearGradientElement
  * For more information on this interface please see
  * http://www.w3.org/TR/SVG11/pservers.html
  *
  */
 
 // Radial gradient
 interface nsIDOMSVGAnimatedLength;
 
-[scriptable, uuid(d0262ae1-31a4-44be-b82e-85e4cfe280fd)]
+[scriptable, uuid(67d79c33-76b6-421a-a7ff-bb6793a4fd46)]
 interface nsIDOMSVGRadialGradientElement
   : nsIDOMSVGGradientElement
 { 
   readonly attribute nsIDOMSVGAnimatedLength cx;
   readonly attribute nsIDOMSVGAnimatedLength cy;
   readonly attribute nsIDOMSVGAnimatedLength r;
   readonly attribute nsIDOMSVGAnimatedLength fx;
   readonly attribute nsIDOMSVGAnimatedLength fy;
--- a/dom/interfaces/svg/nsIDOMSVGImageElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGImageElement.idl
@@ -36,17 +36,17 @@
  *
  * ***** END LICENSE BLOCK ***** */
 
 #include "nsIDOMSVGElement.idl"
 
 interface nsIDOMSVGAnimatedLength;
 interface nsIDOMSVGAnimatedPreserveAspectRatio;
 
-[scriptable, uuid(43ae4efe-2610-4cce-8242-279e556a78fa)]
+[scriptable, uuid(aaf4a4a5-7016-47ca-b61d-47ec9152fc14)]
 interface nsIDOMSVGImageElement
   : nsIDOMSVGElement
 /*
         The SVG DOM makes use of multiple interface inheritance.
         Since XPCOM only supports single interface inheritance,
         the best thing that we can do is to promise that whenever
         an object implements _this_ interface it will also
         implement the following interfaces. (We then have to QI to
--- a/dom/interfaces/svg/nsIDOMSVGLineElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGLineElement.idl
@@ -35,17 +35,17 @@
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #include "nsIDOMSVGElement.idl"
 
 interface nsIDOMSVGAnimatedLength;
 
-[scriptable, uuid(4ea07ef3-ed66-4b41-8119-4afc6d0ed5af)]
+[scriptable, uuid(edee1921-78ca-49b7-94f8-261942bf320d)]
 interface nsIDOMSVGLineElement
   : nsIDOMSVGElement
 /*
         The SVG DOM makes use of multiple interface inheritance.
         Since XPCOM only supports single interface inheritance,
         the best thing that we can do is to promise that whenever
         an object implements _this_ interface it will also
         implement the following interfaces. (We then have to QI to
--- a/dom/interfaces/svg/nsIDOMSVGMarkerElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGMarkerElement.idl
@@ -46,17 +46,17 @@ interface nsIDOMSVGMatrix;
 /**
  * The nsIDOMSVGMarker interface is the interface to an SVG marker element.
  *
  * For more information on this interface please see
  * http://www.w3.org/TR/SVG11/painting.html#InterfaceSVGMarkerElement
  *
  */
 
-[scriptable, uuid(6a3b7b40-e65a-4e9c-9ee7-ca03ed0a18c7)]
+[scriptable, uuid(12e79be1-eac1-49b8-b644-d617445ae2b1)]
 interface nsIDOMSVGMarkerElement
   : nsIDOMSVGElement
 /*
         The SVG DOM makes use of multiple interface inheritance.
         Since XPCOM only supports single interface inheritance,
         the best thing that we can do is to promise that whenever
         an object implements _this_ interface it will also
         implement the following interfaces. (We then have to QI to
--- a/dom/interfaces/svg/nsIDOMSVGMaskElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGMaskElement.idl
@@ -34,17 +34,17 @@
  *
  * ***** END LICENSE BLOCK ***** */
 
 #include "nsIDOMSVGElement.idl"
 
 interface nsIDOMSVGAnimatedLength;
 interface nsIDOMSVGAnimatedEnumeration;
 
-[scriptable, uuid(fdd7039c-35b6-465a-b7a3-c98a815b583e)]
+[scriptable, uuid(9ec463fe-84d5-404b-9078-2e693e183b48)]
 interface nsIDOMSVGMaskElement
   : nsIDOMSVGElement
 /*
         The SVG DOM makes use of multiple interface inheritance.
         Since XPCOM only supports single interface inheritance,
         the best thing that we can do is to promise that whenever
         an object implements _this_ interface it will also
         implement the following interfaces. (We then have to QI to
--- a/dom/interfaces/svg/nsIDOMSVGMetadataElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGMetadataElement.idl
@@ -33,13 +33,13 @@
  * 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 "nsIDOMSVGElement.idl"
 
-[scriptable, uuid(94558064-140c-41a1-9cc9-4e9cdbf5c124)]
+[scriptable, uuid(a772c8e6-2755-4864-b249-b4a03c7554b4)]
 interface nsIDOMSVGMetadataElement
   : nsIDOMSVGElement
 {
 };
--- a/dom/interfaces/svg/nsIDOMSVGMpathElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGMpathElement.idl
@@ -38,17 +38,17 @@
 
 #include "nsIDOMSVGElement.idl"
 
 /**
  * For more information on this interface please see
  * http://www.w3.org/TR/SVG/animate.html#mpathElement
  */
 
-[scriptable, uuid(752f5ec1-eaf6-4cfa-887b-96bc69ec36b8)]
+[scriptable, uuid(39b7550c-26f7-475b-9ac5-a013935d0e60)]
 interface nsIDOMSVGMpathElement
   : nsIDOMSVGElement
 /*
   The SVG DOM makes use of multiple interface inheritance.
   Since XPCOM only supports single interface inheritance,
   the best thing that we can do is to promise that whenever
   an object implements _this_ interface it will also
   implement the following interfaces. (We then have to QI to
--- a/dom/interfaces/svg/nsIDOMSVGPathElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGPathElement.idl
@@ -55,17 +55,17 @@ interface nsIDOMSVGPathSegLinetoHorizont
 interface nsIDOMSVGPathSegLinetoHorizontalRel;
 interface nsIDOMSVGPathSegLinetoVerticalAbs;
 interface nsIDOMSVGPathSegLinetoVerticalRel;
 interface nsIDOMSVGPathSegCurvetoCubicSmoothAbs;
 interface nsIDOMSVGPathSegCurvetoCubicSmoothRel;
 interface nsIDOMSVGPathSegCurvetoQuadraticSmoothAbs;
 interface nsIDOMSVGPathSegCurvetoQuadraticSmoothRel;
 
-[scriptable, uuid(2b19e692-3338-440f-a998-3cb1e8474999)]
+[scriptable, uuid(d1a8894f-9fb1-43e8-b0a0-f8e4a416a505)]
 interface nsIDOMSVGPathElement
   : nsIDOMSVGElement
 /*
         The SVG DOM makes use of multiple interface inheritance.
         Since XPCOM only supports single interface inheritance,
         the best thing that we can do is to promise that whenever
         an object implements _this_ interface it will also
         implement the following interfaces. (We then have to QI to
--- a/dom/interfaces/svg/nsIDOMSVGPatternElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGPatternElement.idl
@@ -46,17 +46,17 @@
  * http://www.w3.org/TR/SVG11/pservers.html
  *
  */
 
 interface nsIDOMSVGAnimatedEnumeration;
 interface nsIDOMSVGAnimatedTransformList;
 interface nsIDOMSVGAnimatedLength;
 
-[scriptable, uuid(bc435244-b748-4e14-9e4c-219d5d3cb218)]
+[scriptable, uuid(962bbf20-7925-4e24-9ae5-ce3a5a39a191)]
 interface nsIDOMSVGPatternElement 
   : nsIDOMSVGElement
 /*
         The SVG DOM makes use of multiple interface inheritance.
         Since XPCOM only supports single interface inheritance,
         the best thing that we can do is to promise that whenever
         an object implements _this_ interface it will also
         implement the following interfaces. (We then have to QI to
--- a/dom/interfaces/svg/nsIDOMSVGPolygonElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGPolygonElement.idl
@@ -34,17 +34,17 @@
  * 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 "nsIDOMSVGElement.idl"
 
-[scriptable, uuid(9de04775-77c5-48b5-9f4a-8996a936bfb2)]
+[scriptable, uuid(4d43668c-de35-4da7-a565-a5f929ae30af)]
 interface nsIDOMSVGPolygonElement
   : nsIDOMSVGElement
 /*
         The SVG DOM makes use of multiple interface inheritance.
         Since XPCOM only supports single interface inheritance,
         the best thing that we can do is to promise that whenever
         an object implements _this_ interface it will also
         implement the following interfaces. (We then have to QI to
--- a/dom/interfaces/svg/nsIDOMSVGPolylineElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGPolylineElement.idl
@@ -33,17 +33,17 @@
  * 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 "nsIDOMSVGElement.idl"
 
-[scriptable, uuid(7b6e15cf-9793-41ee-adcc-cc1c206c80e6)]
+[scriptable, uuid(3f1c450e-3125-4098-9b4c-69d6befd8abf)]
 interface nsIDOMSVGPolylineElement
   : nsIDOMSVGElement
 /*
         The SVG DOM makes use of multiple interface inheritance.
         Since XPCOM only supports single interface inheritance,
         the best thing that we can do is to promise that whenever
         an object implements _this_ interface it will also
         implement the following interfaces. (We then have to QI to
--- a/dom/interfaces/svg/nsIDOMSVGRectElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGRectElement.idl
@@ -35,17 +35,17 @@
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #include "nsIDOMSVGElement.idl"
 
 interface nsIDOMSVGAnimatedLength;
 
-[scriptable, uuid(1695ca39-e40d-44dc-81db-a51b6fd234fa)]
+[scriptable, uuid(6b4696b6-dd54-4a13-9291-f58f1f1d5567)]
 interface nsIDOMSVGRectElement
   : nsIDOMSVGElement
 /*
         The SVG DOM makes use of multiple interface inheritance.
         Since XPCOM only supports single interface inheritance,
         the best thing that we can do is to promise that whenever
         an object implements _this_ interface it will also
         implement the following interfaces. (We then have to QI to
--- a/dom/interfaces/svg/nsIDOMSVGSVGElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGSVGElement.idl
@@ -50,17 +50,17 @@ interface nsIDOMSVGTransform;
 
 // undef the GetCurrentTime macro defined in WinBase.h from the MS Platform SDK
 %{C++
 #ifdef GetCurrentTime
 #undef GetCurrentTime
 #endif
 %}
 
-[scriptable, uuid(5255148c-425a-4de5-aefb-4f41d996d3ca)]
+[scriptable, uuid(aecf2c1a-065e-432f-9aeb-c3715246281e)]
 interface nsIDOMSVGSVGElement
   : nsIDOMSVGElement
 /*
         The SVG DOM makes use of multiple interface inheritance.
         Since XPCOM only supports single interface inheritance,
         the best thing that we can do is to promise that whenever
         an object implements _this_ interface it will also
         implement the following interfaces. (We then have to QI to
--- a/dom/interfaces/svg/nsIDOMSVGScriptElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGScriptElement.idl
@@ -33,17 +33,17 @@
  * 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 "nsIDOMSVGElement.idl"
 
-[scriptable, uuid(bbe0d0ee-e9ed-4f84-a6e4-e58f66530caa)]
+[scriptable, uuid(26525c48-f1fa-453b-b19a-6586b2d88e1d)]
 interface nsIDOMSVGScriptElement
   : nsIDOMSVGElement
 /*
         The SVG DOM makes use of multiple interface inheritance.
         Since XPCOM only supports single interface inheritance,
         the best thing that we can do is to promise that whenever
         an object implements _this_ interface it will also
         implement the following interfaces. (We then have to QI to
--- a/dom/interfaces/svg/nsIDOMSVGStopElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGStopElement.idl
@@ -44,17 +44,17 @@
  *
  * For more information on this interface please see
  * http://www.w3.org/TR/SVG11/pservers.html
  *
  */
 
 interface nsIDOMSVGAnimatedNumber;
 
-[scriptable, uuid(93169940-7663-4eab-af23-94a8a08c2654)]
+[scriptable, uuid(5e345b97-b718-4deb-a879-bbeb27ba7497)]
 interface nsIDOMSVGStopElement
   : nsIDOMSVGElement
 /*
         The SVG DOM makes use of multiple interface inheritance.
         Since XPCOM only supports single interface inheritance,
         the best thing that we can do is to promise that whenever
         an object implements _this_ interface it will also
         implement the following interfaces. (We then have to QI to
--- a/dom/interfaces/svg/nsIDOMSVGStyleElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGStyleElement.idl
@@ -33,17 +33,17 @@
  * 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 "nsIDOMSVGElement.idl"
 
-[scriptable, uuid(9af0d129-b366-4aa8-b7d8-8dce93148d91)]
+[scriptable, uuid(2ce28aa9-3b6c-4eb6-a42a-4c00dd7406f3)]
 interface nsIDOMSVGStyleElement
   : nsIDOMSVGElement
 {
   attribute DOMString         xmlspace;
                        // raises DOMException on setting
   attribute DOMString         type;
                        // raises DOMException on setting
   attribute DOMString         media;
--- a/dom/interfaces/svg/nsIDOMSVGSwitchElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGSwitchElement.idl
@@ -31,17 +31,17 @@
  * 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 "nsIDOMSVGElement.idl"
 
-[scriptable, uuid(7676f306-22c9-427e-bd71-2b1315851c93)]
+[scriptable, uuid(fb52b73c-3908-44c7-a390-2d40f8e8499c)]
 interface nsIDOMSVGSwitchElement
   : nsIDOMSVGElement
 /*
   The SVG DOM makes use of multiple interface inheritance.
   Since XPCOM only supports single interface inheritance,
   the best thing that we can do is to promise that whenever
   an object implements _this_ interface it will also
   implement the following interfaces. (We then have to QI to
--- a/dom/interfaces/svg/nsIDOMSVGSymbolElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGSymbolElement.idl
@@ -31,17 +31,17 @@
  * 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 "nsIDOMSVGElement.idl"
 
-[scriptable, uuid(86092181-a5db-4a89-be03-07dcc14d426e)]
+[scriptable, uuid(0e272bde-2660-49c9-a2d3-4652346e0ff6)]
 interface nsIDOMSVGSymbolElement
   : nsIDOMSVGElement
 /*
   The SVG DOM makes use of multiple interface inheritance.
   Since XPCOM only supports single interface inheritance,
   the best thing that we can do is to promise that whenever
   an object implements _this_ interface it will also
   implement the following interfaces. (We then have to QI to
--- a/dom/interfaces/svg/nsIDOMSVGTSpanElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGTSpanElement.idl
@@ -33,12 +33,12 @@
  * 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 "nsIDOMSVGTextPositionElem.idl"
 
-[scriptable, uuid(4a23cb1f-cf1e-437e-9524-8756f7928b2e)]
+[scriptable, uuid(99131b84-1858-4fbf-826e-35d5135ce6c3)]
 interface nsIDOMSVGTSpanElement : nsIDOMSVGTextPositioningElement
 { 
 };
--- a/dom/interfaces/svg/nsIDOMSVGTextContentElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGTextContentElement.idl
@@ -39,17 +39,17 @@
 #include "nsIDOMSVGElement.idl"
 
 interface nsIDOMSVGAnimatedLength;
 interface nsIDOMSVGAnimatedEnumeration;
 interface nsIDOMSVGPoint;
 interface nsIDOMSVGRect;
 
 
-[scriptable, uuid(87ad94bc-07c9-412b-b2d8-de245a2e84a5)]
+[scriptable, uuid(2dc007ee-b5f4-44e7-a516-9512d88f6347)]
 interface nsIDOMSVGTextContentElement
   : nsIDOMSVGElement
 /*
         The SVG DOM makes use of multiple interface inheritance.
         Since XPCOM only supports single interface inheritance,
         the best thing that we can do is to promise that whenever
         an object implements _this_ interface it will also
         implement the following interfaces. (We then have to QI to
--- a/dom/interfaces/svg/nsIDOMSVGTextElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGTextElement.idl
@@ -33,17 +33,17 @@
  * 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 "nsIDOMSVGTextPositionElem.idl"
 
-[scriptable, uuid(6d43b1b4-efb6-426d-9e65-4420c3e24688)]
+[scriptable, uuid(774d0445-e3c9-46c4-a1ac-347a6d34a308)]
 interface nsIDOMSVGTextElement : nsIDOMSVGTextPositioningElement
 /*
         The SVG DOM makes use of multiple interface inheritance.
         Since XPCOM only supports single interface inheritance,
         the best thing that we can do is to promise that whenever
         an object implements _this_ interface it will also
         implement the following interfaces. (We then have to QI to
         hop between them.)
--- a/dom/interfaces/svg/nsIDOMSVGTextPathElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGTextPathElement.idl
@@ -34,17 +34,17 @@
  *
  * ***** END LICENSE BLOCK ***** */
 
 #include "nsIDOMSVGTextContentElement.idl"
 
 interface nsIDOMSVGAnimatedLength;
 interface nsIDOMSVGAnimatedEnumeration;
 
-[scriptable, uuid(5c29a76c-3489-48fe-b9ea-ea0f5b196dff)]
+[scriptable, uuid(55c2dbe7-c3e2-4e45-aeb1-b81802ceec48)]
 interface nsIDOMSVGTextPathElement
   : nsIDOMSVGTextContentElement
 /*
         The SVG DOM makes use of multiple interface inheritance.
         Since XPCOM only supports single interface inheritance,
         the best thing that we can do is to promise that whenever
         an object implements _this_ interface it will also
         implement the following interfaces. (We then have to QI to
--- a/dom/interfaces/svg/nsIDOMSVGTextPositionElem.idl
+++ b/dom/interfaces/svg/nsIDOMSVGTextPositionElem.idl
@@ -36,17 +36,17 @@
  *
  * ***** END LICENSE BLOCK ***** */
 
 #include "nsIDOMSVGTextContentElement.idl"
 
 interface nsIDOMSVGAnimatedLengthList;
 interface nsIDOMSVGAnimatedNumberList;
 
-[scriptable, uuid(5d052835-8cb0-442c-9754-a8e616db1f89)]
+[scriptable, uuid(92b911b3-d822-4805-b6a3-7a698f88e720)]
 interface nsIDOMSVGTextPositioningElement : nsIDOMSVGTextContentElement
 { 
   readonly attribute nsIDOMSVGAnimatedLengthList x;
   readonly attribute nsIDOMSVGAnimatedLengthList y;
   readonly attribute nsIDOMSVGAnimatedLengthList dx;
   readonly attribute nsIDOMSVGAnimatedLengthList dy;
   readonly attribute nsIDOMSVGAnimatedNumberList rotate;
 };
--- a/dom/interfaces/svg/nsIDOMSVGTitleElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGTitleElement.idl
@@ -33,17 +33,17 @@
  * 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 "nsIDOMSVGElement.idl"
 
-[scriptable, uuid(524564b0-13a3-459b-bbec-ad66aea9f789)]
+[scriptable, uuid(ade32154-08ad-4575-9f15-47840700af90)]
 interface nsIDOMSVGTitleElement
   : nsIDOMSVGElement
 /*
   The SVG DOM makes use of multiple interface inheritance.
   Since XPCOM only supports single interface inheritance,
   the best thing that we can do is to promise that whenever
   an object implements _this_ interface it will also
   implement the following interfaces. (We then have to QI to
--- a/dom/interfaces/svg/nsIDOMSVGUseElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGUseElement.idl
@@ -33,17 +33,17 @@
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #include "nsIDOMSVGElement.idl"
 
 interface nsIDOMSVGAnimatedLength;
 
-[scriptable, uuid(d49a3ac7-e779-46c8-ae92-214420aa1b71)]
+[scriptable, uuid(686a8d0b-e0d7-4443-970e-22e22018f4f1)]
 interface nsIDOMSVGUseElement
   : nsIDOMSVGElement
 /*
   The SVG DOM makes use of multiple interface inheritance.
   Since XPCOM only supports single interface inheritance,
   the best thing that we can do is to promise that whenever
   an object implements _this_ interface it will also
   implement the following interfaces. (We then have to QI to
--- a/dom/interfaces/xpath/nsIDOMXPathNamespace.idl
+++ b/dom/interfaces/xpath/nsIDOMXPathNamespace.idl
@@ -37,16 +37,16 @@
  * ***** END LICENSE BLOCK ***** */
 
 /**
  * Corresponds to http://www.w3.org/TR/2002/WD-DOM-Level-3-XPath-20020208
  */
 
 #include "nsIDOMNode.idl"
 
-[scriptable, uuid(75506f87-b504-11d5-a7f2-ca108ab8b6fc)]
+[scriptable, uuid(978f4c11-3b29-40af-8c29-a4e0689f2776)]
 interface nsIDOMXPathNamespace : nsIDOMNode
 {
   // XPathNodeType
   const unsigned short      XPATH_NAMESPACE_NODE           = 13;
 
   readonly attribute nsIDOMElement          ownerElement;
 };
--- a/dom/interfaces/xul/nsIDOMXULContainerElement.idl
+++ b/dom/interfaces/xul/nsIDOMXULContainerElement.idl
@@ -34,26 +34,26 @@
  * 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 "nsIDOMXULElement.idl"
 interface nsIDOMXULContainerElement;
 
-[scriptable, uuid(4650e55f-4777-4271-8b62-9603a7dd4614)]
+[scriptable, uuid(608d604f-79b4-4fe0-8a2c-49a007496642)]
 interface nsIDOMXULContainerItemElement : nsIDOMXULElement
 {
   /**
    * Returns the parent container if any.
    */
   readonly attribute nsIDOMXULContainerElement parentContainer;
 };
 
-[scriptable, uuid(bc07c626-4294-43ae-9b0a-e726de0adcad)]
+[scriptable, uuid(73acdda3-c6a5-4a89-a01a-0f776eba870d)]
 interface nsIDOMXULContainerElement : nsIDOMXULContainerItemElement
 {
   /**
    * Creates an item for the given label and value and appends it to the
    * container.
    *
    * @param aLabel - the label for the new item
    * @param aValue - the value of the new item
--- a/dom/interfaces/xul/nsIDOMXULElement.idl
+++ b/dom/interfaces/xul/nsIDOMXULElement.idl
@@ -41,17 +41,17 @@
 
 interface nsIRDFCompositeDataSource;
 interface nsIXULTemplateBuilder;
 interface nsIRDFResource;
 interface nsIControllers;
 interface nsIBoxObject;
 
 
-[scriptable, uuid(30a4a815-b42a-4f0b-9c10-1e7f727cd135)]
+[scriptable, uuid(f096a67f-a541-47f4-bc6a-2c87353a016c)]
 interface nsIDOMXULElement : nsIDOMElement
 {
   attribute DOMString                 id;
   attribute DOMString                 className;
 
   // Layout properties
   attribute DOMString align;
   attribute DOMString dir;
--- a/dom/interfaces/xul/nsIDOMXULTreeElement.idl
+++ b/dom/interfaces/xul/nsIDOMXULTreeElement.idl
@@ -40,17 +40,17 @@
 interface nsITreeColumns;
 interface nsITreeView;
 interface nsIDOMXULTextBoxElement;
 
 /**
  * @status UNDER_DEVELOPMENT
  */
 
-[scriptable, uuid(2f7d124f-eb51-4baa-baba-eeed051b4da0)]
+[scriptable, uuid(a0b49228-588e-47ac-b9d0-afa2876e7b0d)]
 interface nsIDOMXULTreeElement : nsIDOMXULElement
 {
 
   readonly attribute nsITreeColumns columns;
 
   attribute nsITreeView view;
 
   readonly attribute nsIDOMElement body;
--- a/dom/tests/mochitest/dom-level2-core/Makefile.in
+++ b/dom/tests/mochitest/dom-level2-core/Makefile.in
@@ -287,40 +287,24 @@ include $(topsrcdir)/config/rules.mk
 		test_nodeissupported02.html \
 		test_nodeissupported03.html \
 		test_nodeissupported04.html \
 		test_nodeissupported05.html \
 		$(NULL)
 
 _TEST_FILES_F	= \
 		test_nodenormalize01.html \
-		test_nodesetprefix01.html \
-		test_nodesetprefix02.html \
-		test_nodesetprefix03.html \
-		test_nodesetprefix04.html \
-		test_nodesetprefix05.html \
-		test_nodesetprefix06.html \
-		test_nodesetprefix07.html \
-		test_nodesetprefix08.html \
-		test_nodesetprefix09.html \
 		test_normalize01.html \
 		test_ownerDocument01.html \
 		test_ownerElement01.html \
 		test_ownerElement02.html \
 		test_prefix01.html \
 		test_prefix02.html \
 		test_prefix03.html \
 		test_prefix04.html \
-		test_prefix05.html \
-		test_prefix06.html \
-		test_prefix07.html \
-		test_prefix08.html \
-		test_prefix09.html \
-		test_prefix10.html \
-		test_prefix11.html \
 		test_publicId01.html \
 		test_removeAttributeNS01.html \
 		test_removeAttributeNS02.html \
 		test_removeNamedItemNS01.html \
 		test_removeNamedItemNS02.html \
 		test_removeNamedItemNS03.html \
 		test_setAttributeNS01.html \
 		test_setAttributeNS02.html \
deleted file mode 100644
--- a/dom/tests/mochitest/dom-level2-core/test_nodesetprefix01.html
+++ /dev/null
@@ -1,128 +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 http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>http://www.w3.org/2001/DOM-Test-Suite/level2/core/nodesetprefix01</title>
-<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css">
-<script type="text/javascript" src="/MochiKit/packed.js"></script><script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script><script type="text/javascript" src="DOMTestCase.js"></script><script type="text/javascript" src="exclusions.js"></script><script type="text/javascript">
-// expose test function names
-function exposeTestFunctionNames()
-{
-return ['nodesetprefix01'];
-}
-
-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();
-       setImplementationAttribute("namespaceAware", true);
-
-      docsLoaded = 0;
-      
-      var docRef = null;
-      if (typeof(this.doc) != 'undefined') {
-        docRef = this.doc;
-      }
-      docsLoaded += preload(docRef, "doc", "staff");
-        
-       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();
-    markTodos();
-    SimpleTest.finish();
-  }
-}
-
-var docName = 'nodesetprefix01';
-
-
-/**
-* 
-	The method setPrefix sets the namespace prefix of this node.  Note that setting this attribute, 
-	when permitted, changes the nodeName attribute, which holds the qualified name, as well as the 
-	tagName and name attributes of the Element and Attr interfaces, when applicable.
-	
-	Create a new element node with a namespace prefix.  Add it to a new DocumentFragment Node without
-	a prefix.  Call setPrefix on the elemen node.  Check if the prefix was set correctly on the element.
-
-* @author IBM
-* @author Neil Delima
-* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-NodeNSPrefix
-*/
-function nodesetprefix01() {
-   var success;
-    if(checkInitialization(builder, "nodesetprefix01") != null) return;
-    var doc;
-      var docFragment;
-      var element;
-      var elementTagName;
-      var elementNodeName;
-      var appendedChild;
-      
-      var docRef = null;
-      if (typeof(this.doc) != 'undefined') {
-        docRef = this.doc;
-      }
-      doc = load(docRef, "doc", "staff");
-      docFragment = doc.createDocumentFragment();
-      element = doc.createElementNS("http://www.w3.org/DOM/Test","emp:address");
-      appendedChild = docFragment.appendChild(element);
-      element.prefix = "dmstc";
-
-      elementTagName = element.tagName;
-
-      elementNodeName = element.nodeName;
-
-      assertEquals("nodesetprefix01_tagname","dmstc:address",elementTagName);
-       assertEquals("nodesetprefix01_nodeName","dmstc:address",elementNodeName);
-       
-}
-
-</script>
-</head>
-<body>
-<h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/nodesetprefix01</h2>
-<p></p>
-<p>
-Copyright (c) 2001-2004 World Wide Web Consortium, 
-(Massachusetts Institute of Technology, European Research Consortium 
-for Informatics and Mathematics, Keio University). All 
-Rights Reserved. This work is distributed under the <a href="http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231">W3C(r) Software License</a> 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>
-</body>
-</html>
deleted file mode 100644
--- a/dom/tests/mochitest/dom-level2-core/test_nodesetprefix02.html
+++ /dev/null
@@ -1,134 +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 http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>http://www.w3.org/2001/DOM-Test-Suite/level2/core/nodesetprefix02</title>
-<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css">
-<script type="text/javascript" src="/MochiKit/packed.js"></script><script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script><script type="text/javascript" src="DOMTestCase.js"></script><script type="text/javascript" src="exclusions.js"></script><script type="text/javascript">
-// expose test function names
-function exposeTestFunctionNames()
-{
-return ['nodesetprefix02'];
-}
-
-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();
-       setImplementationAttribute("namespaceAware", true);
-
-      docsLoaded = 0;
-      
-      var docRef = null;
-      if (typeof(this.doc) != 'undefined') {
-        docRef = this.doc;
-      }
-      docsLoaded += preload(docRef, "doc", "staffNS");
-        
-       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();
-    markTodos();
-    SimpleTest.finish();
-  }
-}
-
-var docName = 'nodesetprefix02';
-
-
-/**
-* 
-	The method setPrefix sets the namespace prefix of this node.  Note that setting this attribute, 
-	when permitted, changes the nodeName attribute, which holds the qualified name, as well as the 
-	tagName and name attributes of the Element and Attr interfaces, when applicable.
-
-	Create a new attribute node and add it to an element node with an existing attribute having
-	the same localName as this attribute but different namespaceURI.  Change the prefix of the
-	newly created attribute using setPrefix.  Check if the new attribute nodeName has changed
-	and the existing attribute is the same.
-
-* @author IBM
-* @author Neil Delima
-* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-NodeNSPrefix
-*/
-function nodesetprefix02() {
-   var success;
-    if(checkInitialization(builder, "nodesetprefix02") != null) return;
-    var doc;
-      var element;
-      var attribute;
-      var newAttribute;
-      var setNode;
-      var elementList;
-      var attrName;
-      var newAttrName;
-      
-      var docRef = null;
-      if (typeof(this.doc) != 'undefined') {
-        docRef = this.doc;
-      }
-      doc = load(docRef, "doc", "staffNS");
-      elementList = doc.getElementsByTagName("address");
-      element = elementList.item(1);
-      newAttribute = doc.createAttributeNS("http://www.w3.org/DOM/Test","test:address");
-      setNode = element.setAttributeNodeNS(newAttribute);
-      newAttribute.prefix = "dom";
-
-      attribute = element.getAttributeNodeNS("http://www.usa.com","domestic");
-      attrName = attribute.nodeName;
-
-      newAttrName = newAttribute.nodeName;
-
-      assertEquals("nodesetprefix02_attrName","dmstc:domestic",attrName);
-       assertEquals("nodesetprefix02_newAttrName","dom:address",newAttrName);
-       
-}
-
-</script>
-</head>
-<body>
-<h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/nodesetprefix02</h2>
-<p></p>
-<p>
-Copyright (c) 2001-2004 World Wide Web Consortium, 
-(Massachusetts Institute of Technology, European Research Consortium 
-for Informatics and Mathematics, Keio University). All 
-Rights Reserved. This work is distributed under the <a href="http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231">W3C(r) Software License</a> 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>
-</body>
-</html>
deleted file mode 100644
--- a/dom/tests/mochitest/dom-level2-core/test_nodesetprefix03.html
+++ /dev/null
@@ -1,124 +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 http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>http://www.w3.org/2001/DOM-Test-Suite/level2/core/nodesetprefix03</title>
-<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css">
-<script type="text/javascript" src="/MochiKit/packed.js"></script><script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script><script type="text/javascript" src="DOMTestCase.js"></script><script type="text/javascript" src="exclusions.js"></script><script type="text/javascript">
-// expose test function names
-function exposeTestFunctionNames()
-{
-return ['nodesetprefix03'];
-}
-
-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();
-       setImplementationAttribute("namespaceAware", true);
-
-      docsLoaded = 0;
-      
-      var docRef = null;
-      if (typeof(this.doc) != 'undefined') {
-        docRef = this.doc;
-      }
-      docsLoaded += preload(docRef, "doc", "staffNS");
-        
-       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();
-    markTodos();
-    SimpleTest.finish();
-  }
-}
-
-var docName = 'nodesetprefix03';
-
-
-/**
-* 
-	The method setPrefix raises a NAMESPACE_ERR if the namespaceURI of this node is null.
-	
-	Create a new element node without a namespace prefix.  Call setPrefix on the newly created elemenent node.  
-	Check if a NAMESPACE_ERR is thrown.
-
-* @author IBM
-* @author Neil Delima
-* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-NodeNSPrefix
-*/
-function nodesetprefix03() {
-   var success;
-    if(checkInitialization(builder, "nodesetprefix03") != null) return;
-    var doc;
-      var element;
-      
-      var docRef = null;
-      if (typeof(this.doc) != 'undefined') {
-        docRef = this.doc;
-      }
-      doc = load(docRef, "doc", "staffNS");
-      element = doc.createElement("address");
-      
-	{
-		success = false;
-		try {
-            element.prefix = "test";
-
-        }
-		catch(ex) {
-      success = (typeof(ex.code) != 'undefined' && ex.code == 14);
-		}
-		assertTrue("throw_NAMESPACE_ERR",success);
-	}
-
-}
-
-</script>
-</head>
-<body>
-<h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/nodesetprefix03</h2>
-<p></p>
-<p>
-Copyright (c) 2001-2004 World Wide Web Consortium, 
-(Massachusetts Institute of Technology, European Research Consortium 
-for Informatics and Mathematics, Keio University). All 
-Rights Reserved. This work is distributed under the <a href="http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231">W3C(r) Software License</a> 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>
-</body>
-</html>
deleted file mode 100644
--- a/dom/tests/mochitest/dom-level2-core/test_nodesetprefix04.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 http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>http://www.w3.org/2001/DOM-Test-Suite/level2/core/nodesetprefix04</title>
-<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css">
-<script type="text/javascript" src="/MochiKit/packed.js"></script><script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script><script type="text/javascript" src="DOMTestCase.js"></script><script type="text/javascript" src="exclusions.js"></script><script type="text/javascript">
-// expose test function names
-function exposeTestFunctionNames()
-{
-return ['nodesetprefix04'];
-}
-
-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();
-       setImplementationAttribute("namespaceAware", true);
-       setImplementationAttribute("validating", true);
-
-      docsLoaded = 0;
-      
-      var docRef = null;
-      if (typeof(this.doc) != 'undefined') {
-        docRef = this.doc;
-      }
-      docsLoaded += preload(docRef, "doc", "staffNS");
-        
-       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();
-    markTodos();
-    SimpleTest.finish();
-  }
-}
-
-var docName = 'nodesetprefix04';
-
-
-/**
-* 
-	The method setPrefix raises a NAMESPACE_ERR if the namespaceURI of this node is null.
-
-	Retreive the a default Attribute node which does not have a namespace prefix. Call the setPrefix
-	method on it.  Check if a NAMESPACE_ERR is thrown.
-
-* @author IBM
-* @author Neil Delima
-* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-NodeNSPrefix
-* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=259
-*/
-function nodesetprefix04() {
-   var success;
-    if(checkInitialization(builder, "nodesetprefix04") != null) return;
-    var doc;
-      var element;
-      var attribute;
-      var elementList;
-      var nullNS = null;
-
-      
-      var docRef = null;
-      if (typeof(this.doc) != 'undefined') {
-        docRef = this.doc;
-      }
-      doc = load(docRef, "doc", "staffNS");
-      elementList = doc.getElementsByTagName("emp:employee");
-      element = elementList.item(0);
-      assertNotNull("empEmployeeNotNull",element);
-attribute = element.getAttributeNodeNS(nullNS,"defaultAttr");
-      
-	{
-		success = false;
-		try {
-            attribute.prefix = "test";
-
-        }
-		catch(ex) {
-      success = (typeof(ex.code) != 'undefined' && ex.code == 14);
-		}
-		assertTrue("nodesetprefix04",success);
-	}
-
-}
-
-</script>
-</head>
-<body>
-<h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/nodesetprefix04</h2>
-<p></p>
-<p>
-Copyright (c) 2001-2004 World Wide Web Consortium, 
-(Massachusetts Institute of Technology, European Research Consortium 
-for Informatics and Mathematics, Keio University). All 
-Rights Reserved. This work is distributed under the <a href="http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231">W3C(r) Software License</a> 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>
-</body>
-</html>
deleted file mode 100644
--- a/dom/tests/mochitest/dom-level2-core/test_nodesetprefix05.html
+++ /dev/null
@@ -1,136 +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 http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>http://www.w3.org/2001/DOM-Test-Suite/level2/core/nodesetprefix05</title>
-<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css">
-<script type="text/javascript" src="/MochiKit/packed.js"></script><script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script><script type="text/javascript" src="DOMTestCase.js"></script><script type="text/javascript" src="exclusions.js"></script><script type="text/javascript">
-// expose test function names
-function exposeTestFunctionNames()
-{
-return ['nodesetprefix05'];
-}
-
-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();
-       setImplementationAttribute("namespaceAware", true);
-
-      docsLoaded = 0;
-      
-      var docRef = null;
-      if (typeof(this.doc) != 'undefined') {
-        docRef = this.doc;
-      }
-      docsLoaded += preload(docRef, "doc", "staffNS");
-        
-       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();
-    markTodos();
-    SimpleTest.finish();
-  }
-}
-
-var docName = 'nodesetprefix05';
-
-
-/**
-* 
-	The method setPrefix raises a NAMESPACE_ERR if the specified prefix is malformed.
-
-	Create a new namespace aware element node and call the setPrefix method on it with several malformed
-	prefix values.  Check if a NAMESPACE_ERR is thrown.
-
-* @author IBM
-* @author Neil Delima
-* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-NodeNSPrefix
-*/
-function nodesetprefix05() {
-   var success;
-    if(checkInitialization(builder, "nodesetprefix05") != null) return;
-    var doc;
-      var element;
-      var prefixValue;
-      prefixValues = new Array();
-      prefixValues[0] = "_:";
-      prefixValues[1] = ":0";
-      prefixValues[2] = ":";
-      prefixValues[3] = "_::";
-      prefixValues[4] = "a:0:c";
-
-      
-      var docRef = null;
-      if (typeof(this.doc) != 'undefined') {
-        docRef = this.doc;
-      }
-      doc = load(docRef, "doc", "staffNS");
-      element = doc.createElementNS("http://www.w3.org/DOM/Test/L2","dom:elem");
-      for(var indexN65616 = 0;indexN65616 < prefixValues.length; indexN65616++) {
-      prefixValue = prefixValues[indexN65616];
-      
-	{
-		success = false;
-		try {
-            element.prefix = prefixValue;
-
-        }
-		catch(ex) {
-      success = (typeof(ex.code) != 'undefined' && ex.code == 14);
-		}
-		assertTrue("throw_NAMESPACE_ERR",success);
-	}
-
-	}
-   
-}
-
-</script>
-</head>
-<body>
-<h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/nodesetprefix05</h2>
-<p></p>
-<p>
-Copyright (c) 2001-2004 World Wide Web Consortium, 
-(Massachusetts Institute of Technology, European Research Consortium 
-for Informatics and Mathematics, Keio University). All 
-Rights Reserved. This work is distributed under the <a href="http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231">W3C(r) Software License</a> 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>
-</body>
-</html>
deleted file mode 100644
--- a/dom/tests/mochitest/dom-level2-core/test_nodesetprefix06.html
+++ /dev/null
@@ -1,125 +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 http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>http://www.w3.org/2001/DOM-Test-Suite/level2/core/nodesetprefix06</title>
-<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css">
-<script type="text/javascript" src="/MochiKit/packed.js"></script><script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script><script type="text/javascript" src="DOMTestCase.js"></script><script type="text/javascript" src="exclusions.js"></script><script type="text/javascript">
-// expose test function names
-function exposeTestFunctionNames()
-{
-return ['nodesetprefix06'];
-}
-
-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", "staffNS");
-        
-       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();
-    markTodos();
-    SimpleTest.finish();
-  }
-}
-
-var docName = 'nodesetprefix06';
-
-
-/**
-* 
-	The method setPrefix raises a NAMESPACE_ERR if the specified prefix is "xml" and the namespaceURI 
-	of this node is different from "http://www.w3.org/XML/1998/namespace".
-
-	Invoke the setPrefix method on this Element object with namespaceURI that is different from
-	http://www..w3.org/xml/1998/namespace and a prefix whose values is xml.  
-	Check if the NAMESPACE_ERR was thrown.
-
-* @author IBM
-* @author Neil Delima
-* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-NodeNSPrefix
-*/
-function nodesetprefix06() {
-   var success;
-    if(checkInitialization(builder, "nodesetprefix06") != null) return;
-    var doc;
-      var element;
-      
-      var docRef = null;
-      if (typeof(this.doc) != 'undefined') {
-        docRef = this.doc;
-      }
-      doc = load(docRef, "doc", "staffNS");
-      element = doc.createElementNS("http://www.w3.org/DOM/Test/L2","dom:elem");
-      
-	{
-		success = false;
-		try {
-            element.prefix = "xml";
-
-        }
-		catch(ex) {
-      success = (typeof(ex.code) != 'undefined' && ex.code == 14);
-		}
-		assertTrue("throw_NAMESPACE_ERR",success);
-	}
-
-}
-
-</script>
-</head>
-<body>
-<h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/nodesetprefix06</h2>
-<p></p>
-<p>
-Copyright (c) 2001-2004 World Wide Web Consortium, 
-(Massachusetts Institute of Technology, European Research Consortium 
-for Informatics and Mathematics, Keio University). All 
-Rights Reserved. This work is distributed under the <a href="http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231">W3C(r) Software License</a> 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>
-</body>
-</html>
deleted file mode 100644
--- a/dom/tests/mochitest/dom-level2-core/test_nodesetprefix07.html
+++ /dev/null
@@ -1,126 +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 http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>http://www.w3.org/2001/DOM-Test-Suite/level2/core/nodesetprefix07</title>
-<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css">
-<script type="text/javascript" src="/MochiKit/packed.js"></script><script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script><script type="text/javascript" src="DOMTestCase.js"></script><script type="text/javascript" src="exclusions.js"></script><script type="text/javascript">
-// expose test function names
-function exposeTestFunctionNames()
-{
-return ['nodesetprefix07'];
-}
-
-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", "staffNS");
-        
-       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();
-    markTodos();
-    SimpleTest.finish();
-  }
-}
-
-var docName = 'nodesetprefix07';
-
-
-/**
-* 
-	The method setPrefix raises a NAMESPACE_ERR if this node is an attribute and the specified 
-	prefix is "xmlns" and the namespaceURI of this node is different from 
-	"http://www.w3.org/2000/xmlns/".
-
-	Create a new attribute node whose namespaceURI is different form "http://www.w3.org/2000/xmlns/"
-	and node prefix is "xmlns".
-	Check if the NAMESPACE_ERR was thrown.
-
-* @author IBM
-* @author Neil Delima
-* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-NodeNSPrefix
-*/
-function nodesetprefix07() {
-   var success;
-    if(checkInitialization(builder, "nodesetprefix07") != null) return;
-    var doc;
-      var attribute;
-      
-      var docRef = null;
-      if (typeof(this.doc) != 'undefined') {
-        docRef = this.doc;
-      }
-      doc = load(docRef, "doc", "staffNS");
-      attribute = doc.createAttributeNS("http://www.w3.org/DOM/Test/L2","abc:elem");
-      
-	{
-		success = false;
-		try {
-            attribute.prefix = "xmlns";
-
-        }
-		catch(ex) {
-      success = (typeof(ex.code) != 'undefined' && ex.code == 14);
-		}
-		assertTrue("throw_NAMESPACE_ERR",success);
-	}
-
-}
-
-</script>
-</head>
-<body>
-<h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/nodesetprefix07</h2>
-<p></p>
-<p>
-Copyright (c) 2001-2004 World Wide Web Consortium, 
-(Massachusetts Institute of Technology, European Research Consortium 
-for Informatics and Mathematics, Keio University). All 
-Rights Reserved. This work is distributed under the <a href="http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231">W3C(r) Software License</a> 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>
-</body>
-</html>
deleted file mode 100644
--- a/dom/tests/mochitest/dom-level2-core/test_nodesetprefix08.html
+++ /dev/null
@@ -1,128 +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 http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>http://www.w3.org/2001/DOM-Test-Suite/level2/core/nodesetprefix08</title>
-<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css">
-<script type="text/javascript" src="/MochiKit/packed.js"></script><script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script><script type="text/javascript" src="DOMTestCase.js"></script><script type="text/javascript" src="exclusions.js"></script><script type="text/javascript">
-// expose test function names
-function exposeTestFunctionNames()
-{
-return ['nodesetprefix08'];
-}
-
-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", "staffNS");
-        
-       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();
-    markTodos();
-    SimpleTest.finish();
-  }
-}
-
-var docName = 'nodesetprefix08';
-
-
-/**
-* 
-	The method setPrefix raises a NAMESPACE_ERR if this node is an attribute and the qualifiedName 
-	of this node is "xmlns
-
-	Retreive an attribute node whose qualifiedName is xmlns.  Try setting a prefix on this node.
-	Check if the NAMESPACE_ERR was thrown.
-
-* @author IBM
-* @author Neil Delima
-* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-NodeNSPrefix
-*/
-function nodesetprefix08() {
-   var success;
-    if(checkInitialization(builder, "nodesetprefix08") != null) return;
-    var doc;
-      var element;
-      var elementList;
-      var attribute;
-      
-      var docRef = null;
-      if (typeof(this.doc) != 'undefined') {
-        docRef = this.doc;
-      }
-      doc = load(docRef, "doc", "staffNS");
-      elementList = doc.getElementsByTagName("employee");
-      element = elementList.item(0);
-      attribute = element.getAttributeNode("xmlns");
-      
-	{
-		success = false;
-		try {
-            attribute.prefix = "xml";
-
-        }
-		catch(ex) {
-      success = (typeof(ex.code) != 'undefined' && ex.code == 14);
-		}
-		assertTrue("throw_NAMESPACE_ERR",success);
-	}
-
-}
-
-</script>
-</head>
-<body>
-<h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/nodesetprefix08</h2>
-<p></p>
-<p>
-Copyright (c) 2001-2004 World Wide Web Consortium, 
-(Massachusetts Institute of Technology, European Research Consortium 
-for Informatics and Mathematics, Keio University). All 
-Rights Reserved. This work is distributed under the <a href="http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231">W3C(r) Software License</a> 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>
-</body>
-</html>
deleted file mode 100644
--- a/dom/tests/mochitest/dom-level2-core/test_nodesetprefix09.html
+++ /dev/null
@@ -1,124 +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 http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>http://www.w3.org/2001/DOM-Test-Suite/level2/core/nodesetprefix09</title>
-<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css">
-<script type="text/javascript" src="/MochiKit/packed.js"></script><script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script><script type="text/javascript" src="DOMTestCase.js"></script><script type="text/javascript" src="exclusions.js"></script><script type="text/javascript">
-// expose test function names
-function exposeTestFunctionNames()
-{
-return ['nodesetprefix09'];
-}
-
-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", "staffNS");
-        
-       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();
-    markTodos();
-    SimpleTest.finish();
-  }
-}
-
-var docName = 'nodesetprefix09';
-
-
-/**
-* 
-	The method setPrefix raises a INVALID_CHARACTER_ERR if the specified prefix contains an illegal character.
-
-	Create a new namespace aware element node and call the setPrefix method on it with a prefix having 
-	an invalid character.  Check if a NAMESPACE_ERR is thrown.
-
-* @author IBM
-* @author Neil Delima
-* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-NodeNSPrefix
-*/
-function nodesetprefix09() {
-   var success;
-    if(checkInitialization(builder, "nodesetprefix09") != null) return;
-    var doc;
-      var value = "#$%&'()@";
-      var element;
-      
-      var docRef = null;
-      if (typeof(this.doc) != 'undefined') {
-        docRef = this.doc;
-      }
-      doc = load(docRef, "doc", "staffNS");
-      element = doc.createElementNS("http://www.w3.org/DOM/Test/L2","dom:elem");
-      
-	{
-		success = false;
-		try {
-            element.prefix = value;
-
-        }
-		catch(ex) {
-      success = (typeof(ex.code) != 'undefined' && ex.code == 5);
-		}
-		assertTrue("throw_INVALID_CHARACTER_ERR",success);
-	}
-
-}
-
-</script>
-</head>
-<body>
-<h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/nodesetprefix09</h2>
-<p></p>
-<p>
-Copyright (c) 2001-2004 World Wide Web Consortium, 
-(Massachusetts Institute of Technology, European Research Consortium 
-for Informatics and Mathematics, Keio University). All 
-Rights Reserved. This work is distributed under the <a href="http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231">W3C(r) Software License</a> 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>
-</body>
-</html>
deleted file mode 100644
--- a/dom/tests/mochitest/dom-level2-core/test_prefix05.html
+++ /dev/null
@@ -1,135 +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 http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>http://www.w3.org/2001/DOM-Test-Suite/level2/core/prefix05</title>
-<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css">
-<script type="text/javascript" src="/MochiKit/packed.js"></script><script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script><script type="text/javascript" src="DOMTestCase.js"></script><script type="text/javascript" src="exclusions.js"></script><script type="text/javascript">
-// expose test function names
-function exposeTestFunctionNames()
-{
-return ['prefix05'];
-}
-
-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", "staffNS");
-        
-       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();
-    markTodos();
-    SimpleTest.finish();
-  }
-}
-
-var docName = 'prefix05';
-
-
-/**
-* 
-    The "setPrefix(prefix)" method raises a 
-    NAMESPACE_ERR DOMException if the specified node is an attribute
-    and the specified prefix is xmlns and the namespaceURI is different from
-    http://www.w3.org/2000/xmlns.
-    
-    Attempt to insert "xmlns" as the new namespace prefix on the emp:domestic
-    attribute within the emp:address node.
-    An exception should be raised since the namespaceURI of this node is not 
-    http://www.w3.org/2000/xmlns.
-
-* @author NIST
-* @author Mary Brady
-* @see http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-258A00AF')/constant[@name='NAMESPACE_ERR'])
-* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-NodeNSPrefix
-* @see http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-NodeNSPrefix')/setraises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NAMESPACE_ERR'])
-*/
-function prefix05() {
-   var success;
-    if(checkInitialization(builder, "prefix05") != null) return;
-    var doc;
-      var elementList;
-      var addrNode;
-      var addrAttr;
-      
-      var docRef = null;
-      if (typeof(this.doc) != 'undefined') {
-        docRef = this.doc;
-      }
-      doc = load(docRef, "doc", "staffNS");
-      elementList = doc.getElementsByTagName("emp:address");
-      addrNode = elementList.item(0);
-      assertNotNull("empAddrNotNull",addrNode);
-addrAttr = addrNode.getAttributeNode("emp:domestic");
-      
-	{
-		success = false;
-		try {
-            addrAttr.prefix = "xmlns";
-
-        }
-		catch(ex) {
-      success = (typeof(ex.code) != 'undefined' && ex.code == 14);
-		}
-		assertTrue("throw_NAMESPACE_ERR",success);
-	}
-
-}
-
-</script>
-</head>
-<body>
-<h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/prefix05</h2>
-<p></p>
-<p>
-Copyright (c) 2001-2004 World Wide Web Consortium, 
-(Massachusetts Institute of Technology, European Research Consortium 
-for Informatics and Mathematics, Keio University). All 
-Rights Reserved. This work is distributed under the <a href="http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231">W3C(r) Software License</a> 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>
-</body>
-</html>
deleted file mode 100644
--- a/dom/tests/mochitest/dom-level2-core/test_prefix06.html
+++ /dev/null
@@ -1,131 +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 http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>http://www.w3.org/2001/DOM-Test-Suite/level2/core/prefix06</title>
-<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css">
-<script type="text/javascript" src="/MochiKit/packed.js"></script><script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script><script type="text/javascript" src="DOMTestCase.js"></script><script type="text/javascript" src="exclusions.js"></script><script type="text/javascript">
-// expose test function names
-function exposeTestFunctionNames()
-{
-return ['prefix06'];
-}
-
-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();
-       setImplementationAttribute("namespaceAware", true);
-
-      docsLoaded = 0;
-      
-      var docRef = null;
-      if (typeof(this.doc) != 'undefined') {
-        docRef = this.doc;
-      }
-      docsLoaded += preload(docRef, "doc", "staffNS");
-        
-       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();
-    markTodos();
-    SimpleTest.finish();
-  }
-}
-
-var docName = 'prefix06';
-
-
-/**
-* 
-    The "setPrefix(prefix)" method raises a 
-    INVALID_CHARACTER_ERR DOMException if the specified
-    prefix contains an illegal character.
-    
-    Attempt to insert a new namespace prefix on the first employee node.
-    An exception should be raised since the namespace prefix has an invalid 
-    character.
-
-* @author NIST
-* @author Mary Brady
-* @see http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR'])
-* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-NodeNSPrefix
-* @see http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-NodeNSPrefix')/setraises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR'])
-*/
-function prefix06() {
-   var success;
-    if(checkInitialization(builder, "prefix06") != null) return;
-    var doc;
-      var elementList;
-      var employeeNode;
-      
-      var docRef = null;
-      if (typeof(this.doc) != 'undefined') {
-        docRef = this.doc;
-      }
-      doc = load(docRef, "doc", "staffNS");
-      elementList = doc.getElementsByTagName("employee");
-      employeeNode = elementList.item(0);
-      
-	{
-		success = false;
-		try {
-            employeeNode.prefix = "pre^fix xmlns='http//www.nist.gov'";
-
-        }
-		catch(ex) {
-      success = (typeof(ex.code) != 'undefined' && ex.code == 5);
-		}
-		assertTrue("throw_INVALID_CHARACTER_ERR",success);
-	}
-
-}
-
-</script>
-</head>
-<body>
-<h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/prefix06</h2>
-<p></p>
-<p>
-Copyright (c) 2001-2004 World Wide Web Consortium, 
-(Massachusetts Institute of Technology, European Research Consortium 
-for Informatics and Mathematics, Keio University). All 
-Rights Reserved. This work is distributed under the <a href="http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231">W3C(r) Software License</a> 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>
-</body>
-</html>
deleted file mode 100644
--- a/dom/tests/mochitest/dom-level2-core/test_prefix07.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 http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>http://www.w3.org/2001/DOM-Test-Suite/level2/core/prefix07</title>
-<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css">
-<script type="text/javascript" src="/MochiKit/packed.js"></script><script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script><script type="text/javascript" src="DOMTestCase.js"></script><script type="text/javascript" src="exclusions.js"></script><script type="text/javascript">
-// expose test function names
-function exposeTestFunctionNames()
-{
-return ['prefix07'];
-}
-
-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", "staffNS");
-        
-       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();
-    markTodos();
-    SimpleTest.finish();
-  }
-}
-
-var docName = 'prefix07';
-
-
-/**
-* 
-    The "setPrefix(prefix)" method raises a 
-    NAMESPACE_ERR DOMException if the specified
-    prefix if malformed.
-    
-    Attempt to insert a new namespace prefix on the second employee node.
-    An exception should be raised since the namespace prefix is malformed. 
-
-* @author NIST
-* @author Mary Brady
-* @see http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-258A00AF')/constant[@name='NAMESPACE_ERR'])
-* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-NodeNSPrefix
-* @see http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-NodeNSPrefix')/setraises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NAMESPACE_ERR'])
-*/
-function prefix07() {
-   var success;
-    if(checkInitialization(builder, "prefix07") != null) return;
-    var doc;
-      var elementList;
-      var employeeNode;
-      
-      var docRef = null;
-      if (typeof(this.doc) != 'undefined') {
-        docRef = this.doc;
-      }
-      doc = load(docRef, "doc", "staffNS");
-      elementList = doc.getElementsByTagName("employee");
-      employeeNode = elementList.item(0);
-      
-	{
-		success = false;
-		try {
-            employeeNode.prefix = "emp::";
-
-        }
-		catch(ex) {
-      success = (typeof(ex.code) != 'undefined' && ex.code == 14);
-		}
-		assertTrue("throw_NAMESPACE_ERR",success);
-	}
-
-}
-
-</script>
-</head>
-<body>
-<h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/prefix07</h2>
-<p></p>
-<p>
-Copyright (c) 2001-2004 World Wide Web Consortium, 
-(Massachusetts Institute of Technology, European Research Consortium 
-for Informatics and Mathematics, Keio University). All 
-Rights Reserved. This work is distributed under the <a href="http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231">W3C(r) Software License</a> 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>
-</body>
-</html>
deleted file mode 100644
--- a/dom/tests/mochitest/dom-level2-core/test_prefix08.html
+++ /dev/null
@@ -1,152 +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 http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>http://www.w3.org/2001/DOM-Test-Suite/level2/core/prefix08</title>
-<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css">
-<script type="text/javascript" src="/MochiKit/packed.js"></script><script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script><script type="text/javascript" src="DOMTestCase.js"></script><script type="text/javascript" src="exclusions.js"></script><script type="text/javascript">
-// expose test function names
-function exposeTestFunctionNames()
-{
-return ['prefix08'];
-}
-
-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();
-       setImplementationAttribute("namespaceAware", true);
-
-      docsLoaded = 0;
-      
-      var docRef = null;
-      if (typeof(this.doc) != 'undefined') {
-        docRef = this.doc;
-      }
-      docsLoaded += preload(docRef, "doc", "staff");
-        
-       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();
-    markTodos();
-    SimpleTest.finish();
-  }
-}
-
-var docName = 'prefix08';
-
-
-/**
-* 
-  The "setPrefix(prefix)" method causes the 
-  DOMException NO_MODIFICATION_ALLOWED_ERR to be raised
-  if the node is readonly.
-  
-  Obtain the children of the THIRD "gender" element.  The elements
-  content is an entity reference.  Get the FIRST item 
-  from the entity reference and execute the "setPrefix(prefix)" method.
-  This causes a NO_MODIFICATION_ALLOWED_ERR DOMException to be thrown.
-
-* @author NIST
-* @author Mary Brady
-* @see http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-258A00AF')/constant[@name='NO_MODIFICATION_ALLOWED_ERR'])
-* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-NodeNSPrefix
-* @see http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-NodeNSPrefix')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NO_MODIFICATION_ALLOWED_ERR'])
-*/
-function prefix08() {
-   var success;
-    if(checkInitialization(builder, "prefix08") != null) return;
-    var doc;
-      var genderList;
-      var genderNode;
-      var entRef;
-      var entElement;
-      var createdNode;
-      var nodeType;
-      
-      var docRef = null;
-      if (typeof(this.doc) != 'undefined') {
-        docRef = this.doc;
-      }
-      doc = load(docRef, "doc", "staff");
-      genderList = doc.getElementsByTagName("gender");
-      genderNode = genderList.item(2);
-      entRef = genderNode.firstChild;
-
-      nodeType = entRef.nodeType;
-
-      
-	if(
-	(1 == nodeType)
-	) {
-	entRef = doc.createEntityReference("ent4");
-      assertNotNull("createdEntRefNotNull",entRef);
-
-	}
-	entElement = entRef.firstChild;
-
-      assertNotNull("entElement",entElement);
-createdNode = doc.createElement("text3");
-      
-	{
-		success = false;
-		try {
-            entElement.prefix = "newPrefix";
-
-        }
-		catch(ex) {
-      success = (typeof(ex.code) != 'undefined' && ex.code == 7);
-		}
-		assertTrue("throw_NO_MODIFICATION_ALLOWED_ERR",success);
-	}
-
-}
-
-</script>
-</head>
-<body>
-<h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/prefix08</h2>
-<p></p>
-<p>
-Copyright (c) 2001-2004 World Wide Web Consortium, 
-(Massachusetts Institute of Technology, European Research Consortium 
-for Informatics and Mathematics, Keio University). All 
-Rights Reserved. This work is distributed under the <a href="http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231">W3C(r) Software License</a> 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>
-</body>
-</html>
deleted file mode 100644
--- a/dom/tests/mochitest/dom-level2-core/test_prefix09.html
+++ /dev/null
@@ -1,134 +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 http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>http://www.w3.org/2001/DOM-Test-Suite/level2/core/prefix09</title>
-<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css">
-<script type="text/javascript" src="/MochiKit/packed.js"></script><script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script><script type="text/javascript" src="DOMTestCase.js"></script><script type="text/javascript" src="exclusions.js"></script><script type="text/javascript">
-// expose test function names
-function exposeTestFunctionNames()
-{
-return ['prefix09'];
-}
-
-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();
-       setImplementationAttribute("namespaceAware", true);
-
-      docsLoaded = 0;
-      
-      var docRef = null;
-      if (typeof(this.doc) != 'undefined') {
-        docRef = this.doc;
-      }
-      docsLoaded += preload(docRef, "doc", "staffNS");
-        
-       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();
-    markTodos();
-    SimpleTest.finish();
-  }
-}
-
-var docName = 'prefix09';
-
-
-/**
-* 
-    The "setPrefix(prefix)" method raises a 
-    NAMESPACE_ERR DOMException if the specified node is an attribute
-    and the qualifiedName of this node is xmlns. 
-    
-    Attempt to set the prefix on the xmlns attribute within the fourth address
-    element.
-    An exception should be raised since the qualifiedName of this attribute
-    is "xmlns". 
-
-* @author NIST
-* @author Mary Brady
-* @see http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-258A00AF')/constant[@name='NAMESPACE_ERR'])
-* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-NodeNSPrefix
-* @see http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-NodeNSPrefix')/setraises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NAMESPACE_ERR'])
-*/
-function prefix09() {
-   var success;
-    if(checkInitialization(builder, "prefix09") != null) return;
-    var doc;
-      var elementList;
-      var addrNode;
-      var addrAttr;
-      
-      var docRef = null;
-      if (typeof(this.doc) != 'undefined') {
-        docRef = this.doc;
-      }
-      doc = load(docRef, "doc", "staffNS");
-      elementList = doc.getElementsByTagName("address");
-      addrNode = elementList.item(3);
-      addrAttr = addrNode.getAttributeNode("xmlns");
-      
-	{
-		success = false;
-		try {
-            addrAttr.prefix = "xxx";
-
-        }
-		catch(ex) {
-      success = (typeof(ex.code) != 'undefined' && ex.code == 14);
-		}
-		assertTrue("throw_NAMESPACE_ERR",success);
-	}
-
-}
-
-</script>
-</head>
-<body>
-<h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/prefix09</h2>
-<p></p>
-<p>
-Copyright (c) 2001-2004 World Wide Web Consortium, 
-(Massachusetts Institute of Technology, European Research Consortium 
-for Informatics and Mathematics, Keio University). All 
-Rights Reserved. This work is distributed under the <a href="http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231">W3C(r) Software License</a> 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>
-</body>
-</html>
deleted file mode 100644
--- a/dom/tests/mochitest/dom-level2-core/test_prefix10.html
+++ /dev/null
@@ -1,131 +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 http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>http://www.w3.org/2001/DOM-Test-Suite/level2/core/prefix10</title>
-<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css">
-<script type="text/javascript" src="/MochiKit/packed.js"></script><script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script><script type="text/javascript" src="DOMTestCase.js"></script><script type="text/javascript" src="exclusions.js"></script><script type="text/javascript">
-// expose test function names
-function exposeTestFunctionNames()
-{
-return ['prefix10'];
-}
-
-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", "staffNS");
-        
-       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();
-    markTodos();
-    SimpleTest.finish();
-  }
-}
-
-var docName = 'prefix10';
-
-
-/**
-* 
-    The "setPrefix(prefix)" method raises a 
-    NAMESPACE_ERR DOMException if the specified
-    prefix is xml and the namespaceURI is different from
-    http://www.w3.org/XML/1998/namespace.
-    
-    Attempt to insert "xml" as the new namespace prefix on the first employee node.
-    An exception should be raised since the namespaceURI of this node is not 
-    http://www.w3.org/XML/1998/namespace.
-
-* @author NIST
-* @author Mary Brady
-* @see http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-258A00AF')/constant[@name='NAMESPACE_ERR'])
-* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-NodeNSPrefix
-* @see http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-NodeNSPrefix')/setraises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NAMESPACE_ERR'])
-*/
-function prefix10() {
-   var success;
-    if(checkInitialization(builder, "prefix10") != null) return;
-    var doc;
-      var elementList;
-      var employeeNode;
-      
-      var docRef = null;
-      if (typeof(this.doc) != 'undefined') {
-        docRef = this.doc;
-      }
-      doc = load(docRef, "doc", "staffNS");
-      elementList = doc.getElementsByTagName("employee");
-      employeeNode = elementList.item(1);
-      
-	{
-		success = false;
-		try {
-            employeeNode.prefix = "xml";
-
-        }
-		catch(ex) {
-      success = (typeof(ex.code) != 'undefined' && ex.code == 14);
-		}
-		assertTrue("throw_NAMESPACE_ERR",success);
-	}
-
-}
-
-</script>
-</head>
-<body>
-<h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/prefix10</h2>
-<p></p>
-<p>
-Copyright (c) 2001-2004 World Wide Web Consortium, 
-(Massachusetts Institute of Technology, European Research Consortium 
-for Informatics and Mathematics, Keio University). All 
-Rights Reserved. This work is distributed under the <a href="http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231">W3C(r) Software License</a> 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>
-</body>
-</html>
deleted file mode 100644
--- a/dom/tests/mochitest/dom-level2-core/test_prefix11.html
+++ /dev/null
@@ -1,145 +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 http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>http://www.w3.org/2001/DOM-Test-Suite/level2/core/prefix11</title>
-<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css">
-<script type="text/javascript" src="/MochiKit/packed.js"></script><script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script><script type="text/javascript" src="DOMTestCase.js"></script><script type="text/javascript" src="exclusions.js"></script><script type="text/javascript">
-// expose test function names
-function exposeTestFunctionNames()
-{
-return ['prefix11'];
-}
-
-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", "staffNS");
-        
-       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();
-    markTodos();
-    SimpleTest.finish();
-  }
-}
-
-var docName = 'prefix11';
-
-
-/**
-* 
-    The "setPrefix(prefix)" method raises a 
-    NAMESPACE_ERR DOMException if the specified
-    prefix is set on a node with a namespaceURI that is null.
-    
-    Attempt to insert a new namespace prefix on the second employee node.
-    An exception should be raised since the namespace prefix is set
-    on a node whose namespaceURI is null. 
-
-* @author NIST
-* @author Mary Brady
-* @see http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-258A00AF')/constant[@name='NAMESPACE_ERR'])
-* @see http://www.w3.org/TR/DOM-Level-2-Core/core#
-* @see http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('')/setraises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NAMESPACE_ERR'])
-*/
-function prefix11() {
-   var success;
-    if(checkInitialization(builder, "prefix11") != null) return;
-    var doc;
-      var elementList;
-      var employeeNode;
-      var namespaceURI;
-      var nullNS = null;
-
-      
-      var docRef = null;
-      if (typeof(this.doc) != 'undefined') {
-        docRef = this.doc;
-      }
-      doc = load(docRef, "doc", "staffNS");
-      elementList = doc.getElementsByTagName("employee");
-      employeeNode = elementList.item(1);
-      
-	if(
-	
-	(builder.contentType == "image/svg+xml")
-
-	) {
-	employeeNode = doc.createElementNS(nullNS,"employee");
-      
-	}
-	namespaceURI = employeeNode.namespaceURI;
-
-      
-	{
-		success = false;
-		try {
-            employeeNode.prefix = "employee1";
-
-        }
-		catch(ex) {
-      success = (typeof(ex.code) != 'undefined' && ex.code == 14);
-		}
-		assertTrue("throw_NAMESPACE_ERR",success);
-	}
-assertNull("employeeNS",namespaceURI);
-    
-}
-
-</script>
-</head>
-<body>
-<h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/prefix11</h2>
-<p></p>
-<p>
-Copyright (c) 2001-2004 World Wide Web Consortium, 
-(Massachusetts Institute of Technology, European Research Consortium 
-for Informatics and Mathematics, Keio University). All 
-Rights Reserved. This work is distributed under the <a href="http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231">W3C(r) Software License</a> 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>
-</body>
-</html>