Bug 735031 - Make Fullscreen API work with DOMElements rather than only HTML Elements. r=cpearce,smaug
authorDiogo Golovanevsky Monteiro <diogo.gmt@gmail.com>
Sat, 24 Mar 2012 17:37:04 +1300
changeset 93555 4c2c3a714ebe2e689630874ea350d3f67db969bf
parent 93554 164c27136716da933ab0f7cd5d16adeccc492d16
child 93556 20a01901480f5d107d74df171f77f09acfed80f8
child 93567 deba21d63d211aca4544aae779974209e7f17c51
push id886
push userlsblakk@mozilla.com
push dateMon, 04 Jun 2012 19:57:52 +0000
treeherdermozilla-beta@bbd8d5efd6d1 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerscpearce, smaug
bugs735031
milestone14.0a1
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 735031 - Make Fullscreen API work with DOMElements rather than only HTML Elements. r=cpearce,smaug
content/base/src/nsDocument.cpp
content/base/src/nsGenericElement.cpp
content/html/content/src/nsGenericHTMLElement.cpp
content/html/content/src/nsGenericHTMLElement.h
content/html/content/test/Makefile.in
content/html/content/test/file_fullscreen-svg-element.html
content/html/content/test/test_fullscreen-api.html
dom/interfaces/core/nsIDOMDocument.idl
dom/interfaces/core/nsIDOMElement.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/nsIDOMHTMLCommandElement.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/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/nsIDOMHTMLMenuItemElement.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/nsIDOMHTMLProgressElement.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/nsIDOMSVGAnimateElement.idl
dom/interfaces/svg/nsIDOMSVGAnimateMotionElement.idl
dom/interfaces/svg/nsIDOMSVGAnimateTransformElement.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/nsIDOMSVGSetElement.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/xul/nsIDOMXULButtonElement.idl
dom/interfaces/xul/nsIDOMXULCheckboxElement.idl
dom/interfaces/xul/nsIDOMXULContainerElement.idl
dom/interfaces/xul/nsIDOMXULControlElement.idl
dom/interfaces/xul/nsIDOMXULDescriptionElement.idl
dom/interfaces/xul/nsIDOMXULElement.idl
dom/interfaces/xul/nsIDOMXULImageElement.idl
dom/interfaces/xul/nsIDOMXULLabelElement.idl
dom/interfaces/xul/nsIDOMXULLabeledControlEl.idl
dom/interfaces/xul/nsIDOMXULMenuListElement.idl
dom/interfaces/xul/nsIDOMXULMultSelectCntrlEl.idl
dom/interfaces/xul/nsIDOMXULPopupElement.idl
dom/interfaces/xul/nsIDOMXULSelectCntrlEl.idl
dom/interfaces/xul/nsIDOMXULSelectCntrlItemEl.idl
dom/interfaces/xul/nsIDOMXULTextboxElement.idl
dom/interfaces/xul/nsIDOMXULTreeElement.idl
rdf/base/idl/xulstubs.idl
--- a/content/base/src/nsDocument.cpp
+++ b/content/base/src/nsDocument.cpp
@@ -8962,17 +8962,17 @@ nsDocument::RequestFullScreen(Element* a
   sFullScreenDoc = do_GetWeakReference(static_cast<nsIDocument*>(this));
 
 #ifdef DEBUG
   // Note assertions must run before SetWindowFullScreen() as that does
   // synchronous event dispatch which can run script which exits full-screen!
   NS_ASSERTION(GetFullScreenElement() == aElement,
                "Full-screen element should be the requested element!");
   NS_ASSERTION(IsFullScreenDoc(), "Should be full-screen doc");
-  nsCOMPtr<nsIDOMHTMLElement> fse;
+  nsCOMPtr<nsIDOMElement> fse;
   GetMozFullScreenElement(getter_AddRefs(fse));
   nsCOMPtr<nsIContent> c(do_QueryInterface(fse));
   NS_ASSERTION(c->AsElement() == aElement,
     "GetMozFullScreenElement should match GetFullScreenElement()");
 #endif
 
   // Make the window full-screen. Note we must make the state changes above
   // before making the window full-screen, as then the document reports as
@@ -8980,17 +8980,17 @@ nsDocument::RequestFullScreen(Element* a
   // enabling chrome to distinguish between browser and dom full-screen
   // modes. Also note that nsGlobalWindow::SetFullScreen() (which
   // SetWindowFullScreen() calls) proxies to the root window in its hierarchy,
   // and does not operate on the a per-nsIDOMWindow basis.
   SetWindowFullScreen(this, true);
 }
 
 NS_IMETHODIMP
-nsDocument::GetMozFullScreenElement(nsIDOMHTMLElement **aFullScreenElement)
+nsDocument::GetMozFullScreenElement(nsIDOMElement **aFullScreenElement)
 {
   NS_ENSURE_ARG_POINTER(aFullScreenElement);
   *aFullScreenElement = nsnull;
   if (IsFullScreenDoc()) {
     // Must have a full-screen element while in full-screen mode.
     NS_ENSURE_STATE(GetFullScreenElement());
     CallQueryInterface(GetFullScreenElement(), aFullScreenElement);
   }
--- a/content/base/src/nsGenericElement.cpp
+++ b/content/base/src/nsGenericElement.cpp
@@ -6412,8 +6412,34 @@ nsINode::Contains(const nsINode* aOther)
 
 nsresult
 nsINode::Contains(nsIDOMNode* aOther, bool* aReturn)
 {
   nsCOMPtr<nsINode> node = do_QueryInterface(aOther);
   *aReturn = Contains(node);
   return NS_OK;
 }
+
+nsresult nsGenericElement::MozRequestFullScreen()
+{
+  // Only grant full-screen requests if this is called from inside a trusted
+  // event handler (i.e. inside an event handler for a user initiated event).
+  // This stops the full-screen from being abused similar to the popups of old,
+  // and it also makes it harder for bad guys' script to go full-screen and
+  // spoof the browser chrome/window and phish logins etc.
+  if (!nsContentUtils::IsRequestFullScreenAllowed()) {
+    nsContentUtils::ReportToConsole(nsIScriptError::warningFlag,
+                                    "DOM", OwnerDoc(),
+                                    nsContentUtils::eDOM_PROPERTIES,
+                                    "FullScreenDeniedNotInputDriven");
+    nsRefPtr<nsAsyncDOMEvent> e =
+      new nsAsyncDOMEvent(OwnerDoc(),
+                          NS_LITERAL_STRING("mozfullscreenerror"),
+                          true,
+                          false);
+    e->PostDOMEvent();
+    return NS_OK;
+  }
+
+  OwnerDoc()->AsyncRequestFullScreen(this);
+
+  return NS_OK;
+}
--- a/content/html/content/src/nsGenericHTMLElement.cpp
+++ b/content/html/content/src/nsGenericHTMLElement.cpp
@@ -3215,42 +3215,16 @@ nsGenericHTMLElement::Blur()
 nsresult
 nsGenericHTMLElement::Focus()
 {
   nsIFocusManager* fm = nsFocusManager::GetFocusManager();
   nsCOMPtr<nsIDOMElement> elem = do_QueryInterface(this);
   return fm ? fm->SetFocus(elem, 0) : NS_OK;
 }
 
-nsresult nsGenericHTMLElement::MozRequestFullScreen()
-{
-  // Only grant full-screen requests if this is called from inside a trusted
-  // event handler (i.e. inside an event handler for a user initiated event).
-  // This stops the full-screen from being abused similar to the popups of old,
-  // and it also makes it harder for bad guys' script to go full-screen and
-  // spoof the browser chrome/window and phish logins etc.
-  if (!nsContentUtils::IsRequestFullScreenAllowed()) {
-    nsContentUtils::ReportToConsole(nsIScriptError::warningFlag,
-                                    "DOM", OwnerDoc(),
-                                    nsContentUtils::eDOM_PROPERTIES,
-                                    "FullScreenDeniedNotInputDriven");
-    nsRefPtr<nsAsyncDOMEvent> e =
-      new nsAsyncDOMEvent(OwnerDoc(),
-                          NS_LITERAL_STRING("mozfullscreenerror"),
-                          true,
-                          false);
-    e->PostDOMEvent();
-    return NS_OK;
-  }
-
-  OwnerDoc()->AsyncRequestFullScreen(this);
-
-  return NS_OK;
-}
-
 nsresult nsGenericHTMLElement::Click()
 {
   if (HasFlag(NODE_HANDLING_CLICK))
     return NS_OK;
 
   // Strong in case the event kills it
   nsCOMPtr<nsIDocument> doc = GetCurrentDoc();
 
--- a/content/html/content/src/nsGenericHTMLElement.h
+++ b/content/html/content/src/nsGenericHTMLElement.h
@@ -127,17 +127,16 @@ public:
   nsresult GetOffsetParent(nsIDOMElement** aOffsetParent);
   NS_IMETHOD GetInnerHTML(nsAString& aInnerHTML);
   NS_IMETHOD SetInnerHTML(const nsAString& aInnerHTML);
   NS_IMETHOD GetOuterHTML(nsAString& aOuterHTML);
   NS_IMETHOD SetOuterHTML(const nsAString& aOuterHTML);
   NS_IMETHOD InsertAdjacentHTML(const nsAString& aPosition,
                                 const nsAString& aText);
   nsresult ScrollIntoView(bool aTop, PRUint8 optional_argc);
-  nsresult MozRequestFullScreen();
   // Declare Focus(), Blur(), GetTabIndex(), SetTabIndex(), GetHidden(),
   // SetHidden(), GetSpellcheck(), SetSpellcheck(), and GetDraggable() such that
   // classes that inherit interfaces with those methods properly override them.
   NS_IMETHOD Focus();
   NS_IMETHOD Blur();
   NS_IMETHOD Click();
   NS_IMETHOD GetTabIndex(PRInt32 *aTabIndex);
   NS_IMETHOD SetTabIndex(PRInt32 aTabIndex);
@@ -1524,19 +1523,16 @@ PR_STATIC_ASSERT(ELEMENT_TYPE_SPECIFIC_B
   NS_SCRIPTABLE NS_IMETHOD GetOffsetLeft(PRInt32* aOffsetLeft) { \
     return _to GetOffsetLeft(aOffsetLeft); \
   } \
   NS_SCRIPTABLE NS_IMETHOD GetOffsetWidth(PRInt32* aOffsetWidth) { \
     return _to GetOffsetWidth(aOffsetWidth); \
   } \
   NS_SCRIPTABLE NS_IMETHOD GetOffsetHeight(PRInt32* aOffsetHeight) { \
     return _to GetOffsetHeight(aOffsetHeight); \
-  } \
-  NS_SCRIPTABLE NS_IMETHOD MozRequestFullScreen() { \
-    return _to MozRequestFullScreen(); \
   }
 
 /**
  * A macro to declare the NS_NewHTMLXXXElement() functions.
  */
 #define NS_DECLARE_NS_NEW_HTML_ELEMENT(_elementName)                       \
 nsGenericHTMLElement*                                                      \
 NS_NewHTML##_elementName##Element(already_AddRefed<nsINodeInfo> aNodeInfo, \
--- a/content/html/content/test/Makefile.in
+++ b/content/html/content/test/Makefile.in
@@ -288,16 +288,17 @@ include $(topsrcdir)/config/rules.mk
 		file_fullscreen-plugins.html \
 		file_fullscreen-denied.html \
 		file_fullscreen-denied-inner.html \
 		file_fullscreen-hidden.html \
 		file_fullscreen-navigation.html \
 		file_fullscreen-esc-exit.html \
 		file_fullscreen-esc-exit-inner.html \
 		file_fullscreen-rollback.html \
+		file_fullscreen-svg-element.html \
 		test_li_attributes_reflection.html \
 		test_ol_attributes_reflection.html \
 		test_bug651956.html \
 		test_bug694503.html \
 		test_object_plugin_nav.html \
 		$(NULL)
 
 _BROWSER_TEST_FILES = \
new file mode 100644
--- /dev/null
+++ b/content/html/content/test/file_fullscreen-svg-element.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML>
+<html>
+  <!--
+  https://bugzilla.mozilla.org/show_bug.cgi?id=735031
+  Bug 735031 - Fullscreen API implementation assumes an HTML Element
+  -->
+  <head>
+    <title>Bug 735031</title>
+    <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js">
+    </script>
+    <script type="application/javascript" src="/tests/SimpleTest/EventUtils.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=73503">
+      Mozilla Bug 735031</a>
+
+    <svg width="100" height="100" viewbox="0 0 100 100">
+        <rect id="svg-elem" x="10" y="10" width="50" height="50"
+        fill="black" stroke="blue" stroke-width="2"/>
+    </svg>
+
+    <pre id="test">
+      <script type="application/javascript">
+        /*
+         * Test for Bug 735031
+         * Test locking non-html element.
+         */
+        function begin() {
+          var elem = document.getElementById("svg-elem")
+            , elemWasLocked = false;
+
+          document.addEventListener("mozfullscreenchange", function (e) {
+            if (document.mozFullScreenElement === elem) {
+              elemWasLocked = true;
+              document.mozCancelFullScreen();
+            } else {
+              opener.ok(elemWasLocked, "Expected SVG elem to become locked.");
+              opener.nextTest();
+            }
+          }, false);
+          elem.mozRequestFullScreen();
+        }
+      </script>
+    </pre>
+  </body>
+</html>
--- a/content/html/content/test/test_fullscreen-api.html
+++ b/content/html/content/test/test_fullscreen-api.html
@@ -36,16 +36,17 @@ SpecialPowers.setBoolPref("full-screen-a
 var gTestWindows = [
   "file_fullscreen-rollback.html",
   "file_fullscreen-esc-exit.html",
   "file_fullscreen-denied.html",
   "file_fullscreen-api.html",
   "file_fullscreen-api-keys.html",
   "file_fullscreen-plugins.html",
   "file_fullscreen-hidden.html",
+  "file_fullscreen-svg-element.html",
   "file_fullscreen-navigation.html"
 ];
 
 var testWindow = null;
 var gTestIndex = 0;
 
 const isWinXP = navigator.userAgent.indexOf("Windows NT 5.1") != -1;
 const isOSXLion = navigator.userAgent.indexOf("Mac OS X 10.7") != -1;
--- a/dom/interfaces/core/nsIDOMDocument.idl
+++ b/dom/interfaces/core/nsIDOMDocument.idl
@@ -61,17 +61,17 @@ interface nsIDOMLocation;
  * 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(d7cdd08e-1bfd-4bc3-9742-d66586781ee2)]
+[scriptable, uuid(ac4942fe-1679-4000-aaa7-41dee590a120)]
 interface nsIDOMDocument : nsIDOMNode
 {
   readonly attribute nsIDOMDocumentType         doctype;
   readonly attribute nsIDOMDOMImplementation    implementation;
   readonly attribute nsIDOMElement              documentElement;
   nsIDOMElement                 createElement(in DOMString tagName)
                                   raises(DOMException);
   nsIDOMDocumentFragment        createDocumentFragment();
@@ -364,17 +364,17 @@ interface nsIDOMDocument : nsIDOMNode
                           in nsIDOMElement aImageElement);
   
   /**
    * Element which is currently the full-screen element as per the DOM
    * full-screen api.
    *
    * @see <https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI>
    */
-  readonly attribute nsIDOMHTMLElement mozFullScreenElement;
+  readonly attribute nsIDOMElement mozFullScreenElement;
 
   /**
    * Causes the document to leave DOM full-screen mode, if it's in
    * full-screen mode, as per the DOM full-screen api.
    *
    * @see <https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI>
    */
   void mozCancelFullScreen();   
--- a/dom/interfaces/core/nsIDOMElement.idl
+++ b/dom/interfaces/core/nsIDOMElement.idl
@@ -44,17 +44,17 @@
 /**
  * The nsIDOMElement interface represents an element in an HTML or 
  * XML document. 
  *
  * For more information on this interface please see 
  * http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#interface-element
  */
 
-[scriptable, uuid(f561753a-1d4f-40c1-b147-ea955fc6fd94)]
+[scriptable, uuid(295e05d9-9174-48ae-bc59-d7e6a8757726)]
 interface nsIDOMElement : nsIDOMNode
 {
   readonly attribute DOMString        tagName;
 
   /**
    * Returns a DOMTokenList object reflecting the class attribute.
    */
   readonly attribute nsIDOMDOMTokenList classList;
@@ -214,9 +214,18 @@ interface nsIDOMElement : nsIDOMNode
    */
   void setCapture([optional] in boolean retargetToElement);
 
   /**
    * If this element has captured the mouse, release the capture. If another
    * element has captured the mouse, this method has no effect.
    */
   void releaseCapture();
+
+  // Mozilla extensions
+  /**
+   * Requests that this element be made the full-screen element, as per the DOM
+   * full-screen api.
+   *
+   * @see <https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI>
+   */
+  void mozRequestFullScreen();
 };
--- 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(b53a4bab-0065-468b-810a-4c4659a04f00)]
+[scriptable, uuid(2ba0cbad-d03e-424d-a47f-560541192bc3)]
 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(44a9c8e1-2c95-41e4-86f1-96033a452a4d)]
+[scriptable, uuid(8ca68d9c-1701-47e0-87d4-ddf9d36609a2)]
 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(962eefd6-8728-4626-82b4-b008aaca00d4)]
+[scriptable, uuid(27b49244-7752-43d4-8f2c-e22f26ebea0e)]
 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(293d9f21-df16-4706-91d5-f6381f9db554)]
+[scriptable, uuid(eaf79702-058c-4a02-b5e5-5606b3d60255)]
 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(390c059a-0a26-4a44-96b6-3f8817bf92e9)]
+[scriptable, uuid(ecf4ed75-83b0-4a96-af11-d6cefab59dc0)]
 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(595249b7-c889-4e3b-9bc2-a309cab26319)]
+[scriptable, uuid(b0cde271-9773-43dd-a5c4-22159bd6addb)]
 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(9b845be3-5097-42ec-a3d1-a4082dd7ad8d)]
+[scriptable, uuid(66a5612b-66e4-4455-b805-6df735889e8d)]
 interface nsIDOMHTMLBaseElement : nsIDOMHTMLElement
 {
            attribute DOMString        href;
            attribute DOMString        target;
 };
--- a/dom/interfaces/html/nsIDOMHTMLBodyElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLBodyElement.idl
@@ -49,17 +49,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(fbc08701-776e-47d8-8b14-12b27aadc180)]
+[scriptable, uuid(9b4bd03e-cc71-4fab-b0b8-51156c666cb4)]
 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(1de3c266-5dc3-4438-8537-379879bfa425)]
+[scriptable, uuid(6b78685d-1ef4-4d89-9d6b-823c3dac361f)]
 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
@@ -51,17 +51,17 @@
  *
  * @status UNDER_DEVELOPMENT
  */
 
 interface nsIDOMFile;
 interface nsIVariant;
 interface nsIInputStreamCallback;
 
-[scriptable, uuid(8cddbc86-f384-40ac-835b-fe3e00630cad)]
+[scriptable, uuid(21296a59-25d8-45fb-8c27-290044c88922)]
 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/nsIDOMHTMLCommandElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLCommandElement.idl
@@ -41,17 +41,17 @@
  * <command> element.
  *
  * For more information on this interface, please see
  * http://www.whatwg.org/specs/web-apps/current-work/#the-command-element
  *
  * @status UNDER_DEVELOPMENT
  */
 
-[scriptable, uuid(cd779d00-7b8a-4c2c-baeb-45c09d9b6728)]
+[scriptable, uuid(2ee6f391-342a-42b9-a9f6-f0f7e6d1701b)]
 interface nsIDOMHTMLCommandElement : nsIDOMHTMLElement
 {
            attribute DOMString        type;
            attribute DOMString        label;
            attribute DOMString        icon;
            attribute boolean          disabled;
            attribute boolean          defaultChecked;
            attribute boolean          checked;
--- 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(be500158-e7b4-468e-8a02-9cb5b699dfc3)]
+[scriptable, uuid(0344a153-f2c7-4d0c-9b4c-b7616db89728)]
 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(e81861c0-8522-4e5b-8d3c-869cce3db4b9)]
+[scriptable, uuid(a652777e-9ad9-4afe-861d-172f888c2f46)]
 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(296eb015-904f-456c-a55c-ac7c828536a4)]
+[scriptable, uuid(c60c67d6-ef9a-40ce-8608-9c837da7fbbc)]
 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(37ac66bd-a7ba-4280-93bb-889f1f94494b)]
+[scriptable, uuid(32b88969-3c24-4c4b-be73-13b29a73cc81)]
 interface nsIDOMHTMLDivElement : nsIDOMHTMLElement
 {
            attribute DOMString        align;
 };
--- a/dom/interfaces/html/nsIDOMHTMLDocument.idl
+++ b/dom/interfaces/html/nsIDOMHTMLDocument.idl
@@ -42,17 +42,17 @@
 /**
  * The nsIDOMHTMLDocument interface is the interface to a [X]HTML
  * document object.
  *
  * @see <http://www.whatwg.org/html/>
  */
 interface nsISelection;
 
-[scriptable, uuid(cc1af020-6543-429c-82d7-840cda3be0b9)]
+[scriptable, uuid(0d59c4f0-2272-4a72-8197-da6f86353ec1)]
 interface nsIDOMHTMLDocument : nsIDOMDocument
 {
   readonly attribute DOMString            URL;
            attribute DOMString            domain;
            attribute DOMString            cookie;
   // returns "BackCompat" if we're in quirks mode,
   // or "CSS1Compat" if we're in strict mode
   readonly attribute DOMString            compatMode;
--- a/dom/interfaces/html/nsIDOMHTMLElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLElement.idl
@@ -48,17 +48,17 @@ interface nsIDOMHTMLMenuElement;
  * tree.
  *
  * 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(3de9f8c1-5d76-4d2e-b6b9-334c6eb0c113)]
+[scriptable, uuid(b5d80fa5-91bc-4b3b-b8bc-1becb563ae15)]
 interface nsIDOMHTMLElement : nsIDOMElement
 {
   // metadata attributes
            attribute DOMString        id;
            attribute DOMString        title;
            attribute DOMString        lang;
            attribute DOMString        dir;
            attribute DOMString        className;
@@ -93,19 +93,9 @@ interface nsIDOMHTMLElement : nsIDOMElem
 
   // CSSOM View
   [optional_argc] void scrollIntoView([optional] in boolean top);
   readonly attribute nsIDOMElement    offsetParent;
   readonly attribute long             offsetTop;
   readonly attribute long             offsetLeft;
   readonly attribute long             offsetWidth;
   readonly attribute long             offsetHeight;
-
-
-  // Mozilla extensions
-  /**
-   * Requests that this element be made the full-screen element, as per the DOM
-   * full-screen api.
-   *
-   * @see <https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI>
-   */
-  void mozRequestFullScreen();  
 };
--- 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(8e3d4e85-27e8-4ba1-b837-248a01a60002)]
+[scriptable, uuid(e4c2af44-3a99-47d7-b9b2-4ccc5c832618)]
 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(91f19c37-4763-4963-a38a-ce3101fd3729)]
+[scriptable, uuid(7b26c8d8-f802-4b04-b114-b44201000faf)]
 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(e044a106-3f5c-44d6-a49a-a0a0b8eb1b56)]
+[scriptable, uuid(833bb94c-5069-4d79-8228-d658d90cf970)]
 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(b0fa651a-134c-4b20-ba4d-35b956a4fc50)]
+[scriptable, uuid(13a92ac0-7b39-4a5b-8c0d-e75064646c62)]
 interface nsIDOMHTMLFormElement : nsIDOMHTMLElement
 {
            attribute DOMString            acceptCharset;
            attribute DOMString            action;
            attribute DOMString            autocomplete;
            attribute DOMString            enctype;
            attribute DOMString            encoding;
            attribute DOMString            method;
--- 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(4b529afd-ada8-4a2c-a70b-a4e2ead2329d)]
+[scriptable, uuid(1169be36-b8b6-4a8e-9456-274409fce393)]
 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
@@ -49,17 +49,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(7df308ed-97bc-4646-b827-c74ba98c3132)]
+[scriptable, uuid(1c2925dc-8374-4ed8-8981-a38445b6e4ed)]
 interface nsIDOMHTMLFrameSetElement : nsIDOMHTMLElement
 {
            attribute DOMString        cols;
            attribute DOMString        rows;
 
            [implicit_jscontext] attribute jsval            onafterprint;
            [implicit_jscontext] attribute jsval            onbeforeprint;
            [implicit_jscontext] attribute jsval            onbeforeunload;
--- a/dom/interfaces/html/nsIDOMHTMLHRElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLHRElement.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(cc4919f4-3123-4e03-a49c-82abaad84f2f)]
+[scriptable, uuid(cc836228-8f6e-4a8d-a973-3931e4660ed2)]
 interface nsIDOMHTMLHRElement : nsIDOMHTMLElement
 {
            attribute DOMString        align;
            attribute boolean          noShade;
            attribute DOMString        size;
            attribute DOMString        width;
            attribute DOMString        color;
 };
--- a/dom/interfaces/html/nsIDOMHTMLHeadElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLHeadElement.idl
@@ -45,12 +45,12 @@
  *
  * 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(dcffcf96-c4be-4c4d-a8db-05ca19212053)]
+[scriptable, uuid(8d2107f9-d045-40eb-915b-9de87a950ce7)]
 interface nsIDOMHTMLHeadElement : nsIDOMHTMLElement
 {
 };
--- 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(bf25942d-acb2-4a88-87b3-ebd498a60158)]
+[scriptable, uuid(ee1169f0-67d8-4f2a-af10-016ba3bf9794)]
 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(11064dea-f7bb-4e92-88a9-54a5cacb9bb8)]
+[scriptable, uuid(f44f6721-1cb3-4a98-b458-2a1a29c25e2f)]
 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(d4e870bd-452c-4860-b93c-f4ee00ba33f6)]
+[scriptable, uuid(0ead5a5c-e4d3-4e4d-88b8-7c9dc9d2665c)]
 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(3ed7023f-24be-4cd6-984c-c182a6b67bf9)]
+[scriptable, uuid(cb711ec9-17e8-4259-9045-ca9ad128f62e)]
 interface nsIDOMHTMLImageElement : nsIDOMHTMLElement
 {
            attribute DOMString        alt;
            attribute DOMString        src;
            attribute DOMString        crossOrigin;
            attribute DOMString        useMap;
            attribute boolean          isMap;
            attribute unsigned long    width;
--- 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(6b1175a5-70dd-4c26-be99-9e780c32550d)]
+[scriptable, uuid(0c8e11b5-94f3-405a-aa1b-c5e7eec4ba4d)]
 interface nsIDOMHTMLInputElement : nsIDOMHTMLElement
 {
            attribute DOMString             accept;
            attribute DOMString             alt;
 
            attribute DOMString             autocomplete;
            attribute boolean               autofocus;
            attribute boolean               defaultChecked;
--- 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(681be589-da8b-4bf9-a7e0-6f29a5ac91bb)]
+[scriptable, uuid(f4949a2d-ca29-47a8-88f3-c83570f9e3d4)]
 interface nsIDOMHTMLLIElement : nsIDOMHTMLElement
 {
            attribute DOMString           type;
            attribute long                value;
 };
--- a/dom/interfaces/html/nsIDOMHTMLLabelElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLLabelElement.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(9f176054-6e79-4235-b4b9-061beddb4ac4)]
+[scriptable, uuid(4e5d92a3-8f9b-438d-98d8-42a1526369be)]
 interface nsIDOMHTMLLabelElement : nsIDOMHTMLElement
 {
   readonly attribute nsIDOMHTMLFormElement form;
            attribute DOMString             htmlFor;
   readonly attribute nsIDOMHTMLElement     control;
 };
--- a/dom/interfaces/html/nsIDOMHTMLLegendElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLLegendElement.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(0482fb35-dba0-4675-bf7b-aed33b575f38)]
+[scriptable, uuid(1fbae5ab-036e-4941-8b09-754ab8f217cc)]
 interface nsIDOMHTMLLegendElement : nsIDOMHTMLElement
 {
   readonly attribute nsIDOMHTMLFormElement form;
            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(0c8d524d-d3fc-44dd-8f6a-59069e33ded4)]
+[scriptable, uuid(36c22a1c-d53d-4e59-bb84-c8e538ba9621)]
 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(b99c31bc-76d0-43bc-a912-f839ec89c829)]
+[scriptable, uuid(39ed3fe6-1ff6-4d1d-bf77-7a10a35bfccc)]
 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(6733a409-fab3-45e1-af23-9af8c361bdfd)]
+[scriptable, uuid(60ea8009-022b-4e65-a452-054b0483182e)]
 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,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(321392c8-9eb1-47db-a41c-5dc466949e8a)]
+[scriptable, uuid(be2d054e-e9cd-45bd-b075-58783cdca8a4)]
 interface nsIDOMHTMLMenuElement : nsIDOMHTMLElement
 {
            attribute boolean          compact;
 
            attribute DOMString        type;
            attribute DOMString        label;
 };
--- a/dom/interfaces/html/nsIDOMHTMLMenuItemElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLMenuItemElement.idl
@@ -38,12 +38,12 @@
 
 /**
  * The nsIDOMHTMLMenuItemElement interface is the interface to a HTML
  * <menuitem> element.
  *
  * @status UNDER_DEVELOPMENT
  */
 
-[scriptable, uuid(66a84ce5-2346-42ca-b6e4-7cc8ec9e621d)]
+[scriptable, uuid(74ffab29-3a81-4099-8f38-55b1ad3a6988)]
 interface nsIDOMHTMLMenuItemElement : nsIDOMHTMLCommandElement
 {
 };
--- 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(1817a7fa-6f13-44f8-8a45-7f8f1fe7c252)]
+[scriptable, uuid(75f9f39c-7389-4acb-9100-cda379151b12)]
 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(40552a5e-7fea-42cb-b65d-4d8c0827d03c)]
+[scriptable, uuid(34cc420e-ac88-44ac-817f-6c6bf39e5dc1)]
 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(08a25a61-f2a3-4eff-b208-ad05805e62e7)]
+[scriptable, uuid(bdae649e-9cfd-4010-b9f6-5ff29c75aeaa)]
 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(dbb14d7b-05ce-4abd-a980-9aedede612af)]
+[scriptable, uuid(b85a1d53-77b8-4550-98ae-d9c4339f2ef9)]
 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(45685a23-a6c0-48d3-83f9-7b3bba1bd995)]
+[scriptable, uuid(466575ed-ea87-459e-931e-978877db9d41)]
 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(ec3cfb59-a945-4821-8ea6-2448970e7639)]
+[scriptable, uuid(f3cbd120-a456-41bf-807e-1aa648c02363)]
 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(8f321988-6fe2-4714-8ba9-12c819fea2ed)]
+[scriptable, uuid(b13de107-dd83-4b1b-8970-c25a0890e799)]
 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(5874cbcf-8a14-49d6-ac5f-52d3dc6df529)]
+[scriptable, uuid(c3f56887-058b-4143-ac75-de01fbd088c7)]
 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(1f0685fb-bf49-4c39-b08d-7d75b1e5e493)]
+[scriptable, uuid(9e2e501c-28a0-420c-9a4d-476db717ea41)]
 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(1b24b515-7227-40dc-ad53-ad2a55d281d4)]
+[scriptable, uuid(75825309-f449-451f-a252-c3ac83c857af)]
 interface nsIDOMHTMLPreElement : nsIDOMHTMLElement
 {
            attribute long             width;
 };
--- a/dom/interfaces/html/nsIDOMHTMLProgressElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLProgressElement.idl
@@ -42,17 +42,17 @@
  * <progress> element.
  *
  * For more information on this interface, please see
  * http://www.whatwg.org/specs/web-apps/current-work/#the-progress-element
  *
  * @status UNDER_DEVELOPMENT
  */
 
-[scriptable, uuid(d74f904b-d3cd-47c3-a863-753fe22c19ab)]
+[scriptable, uuid(6312474b-9c6c-4eb4-8408-2a1754799e30)]
 interface nsIDOMHTMLProgressElement : nsIDOMHTMLElement
 {
            attribute double value;
            attribute double max;
   readonly attribute double position;
   readonly attribute nsIDOMHTMLFormElement form;
   /**
    * The labels attribute will be done with bug 567740.
--- 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(9b20c533-a94f-4644-9763-1f414ebbe9b1)]
+[scriptable, uuid(e6a8a758-079c-4411-a3e5-b9c47f3e92b1)]
 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(8b79bf24-d127-4b63-a798-f44bee76204d)]
+[scriptable, uuid(aa028093-b990-4b57-b0d4-e82d80ca85b1)]
 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(6f0a4fee-3aea-4bb7-85cb-d4881a55ca43)]
+[scriptable, uuid(828961d4-cca1-4024-aaf1-dc0e0d1e6d98)]
 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(df8ecfef-92e5-419e-81d4-900a7cf3c3c3)]
+[scriptable, uuid(cff81c92-fefa-4d0f-8d07-a4d98fabb6b6)]
 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(04c29aaa-2239-42a9-ade0-0ba3134c1a8e)]
+[scriptable, uuid(6687fa89-8141-421c-bd76-70f9b89bccc9)]
 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(22cfd967-a21d-4bed-a759-0928ff4dfcd0)]
+[scriptable, uuid(77d7863a-1a8d-4c25-9b3a-33ef760c78e5)]
 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(61bf360a-a6b7-4928-96de-b54742f8b4b8)]
+[scriptable, uuid(89cc7b76-0c34-42c1-93b8-1db28d54ce67)]
 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(d933a77b-35f3-41ec-b73f-8ae80bb7cf73)]
+[scriptable, uuid(f8656d47-dea5-4f00-bc63-a6a9c12e2a14)]
 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(7b9d43a6-7e9e-4618-970b-29eb3547d506)]
+[scriptable, uuid(f9710237-bd89-4411-a67a-cf972430e3cc)]
 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(f76a1d42-25b9-41b9-a58e-7d934e1be0a2)]
+[scriptable, uuid(365b26ba-b077-4a98-8a0f-9691ac6677f1)]
 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(4940c93c-b83e-4101-b9de-c33139cc5a3a)]
+[scriptable, uuid(3c402173-8315-43ed-9e2c-130b159d7c8f)]
 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
@@ -48,17 +48,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(0ad0571c-f8ba-44e2-b5aa-5e1c93fae7c0)]
+[scriptable, uuid(81efc7a5-ea76-494c-a3ce-02556afba337)]
 interface nsIDOMHTMLTextAreaElement : nsIDOMHTMLElement
 {
            attribute boolean               autofocus;
            attribute unsigned long         cols;
            attribute boolean               disabled;
   readonly attribute nsIDOMHTMLFormElement form;
            attribute long                  maxLength;
            attribute DOMString             name;
--- 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(c569199b-328a-433d-8d40-fe858988625e)]
+[scriptable, uuid(1c03280b-324b-4c83-bfdf-76738cdc70c1)]
 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(e9bec981-dd3e-4849-85b9-2f4f30ba5152)]
+[scriptable, uuid(dfe7d584-6330-44de-a46f-a0e9d55fa9f4)]
 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(50c480fa-d3dc-49ad-a21d-d4d5f7aec44e)]
+[scriptable, uuid(d74ee527-8397-4a09-b161-f9bcb0382924)]
 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(2274055b-8b3a-4a5a-8d72-5d5aea07021a)]
+[scriptable, uuid(9904233c-1345-440d-aa0f-1d3dd4457d83)]
 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(0e0081ce-8b9d-4c26-baeb-a5e99f5126f9)]
+[scriptable, uuid(bc060816-4cab-4552-af1f-39e15e6f4f59)]
 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(e86efca6-0391-4e9a-83dc-90b3b761a690)]
+[scriptable, uuid(289aa3c3-9724-48a3-81cc-a0bc7c1f1fea)]
 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/nsIDOMSVGAnimateElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGAnimateElement.idl
@@ -32,10 +32,10 @@
  * 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 "nsIDOMSVGAnimationElement.idl"
 
-[scriptable, uuid(01a99850-013b-4821-97fd-798732c8cc53)]
+[scriptable, uuid(a662ffce-086f-4c5b-886b-78acb654db10)]
 interface nsIDOMSVGAnimateElement : nsIDOMSVGAnimationElement {};
--- a/dom/interfaces/svg/nsIDOMSVGAnimateMotionElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGAnimateMotionElement.idl
@@ -32,10 +32,10 @@
  * 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 "nsIDOMSVGAnimationElement.idl"
 
-[scriptable, uuid(29d02159-1517-49dc-8a83-8824fb166c09)]
+[scriptable, uuid(3d1d0c0d-9d5b-4e30-9fc8-97ec7e49ec18)]
 interface nsIDOMSVGAnimateMotionElement : nsIDOMSVGAnimationElement { };
--- a/dom/interfaces/svg/nsIDOMSVGAnimateTransformElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGAnimateTransformElement.idl
@@ -32,10 +32,10 @@
  * 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 "nsIDOMSVGAnimationElement.idl"
 
-[scriptable, uuid(62e30f49-3566-4415-8971-b0ddd2c8bf97)]
+[scriptable, uuid(1c7be1dc-a799-4837-865f-4c0bd1e51255)]
 interface nsIDOMSVGAnimateTransformElement : nsIDOMSVGAnimationElement {};
--- 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(412616f5-b7a0-4160-9c64-5c328cb73836)]
+[scriptable, uuid(2dfaf726-a479-4a9d-8e16-cd5d07696eea)]
 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(9c3e3e1f-0332-4b6c-8699-554edb3a972f)]
+[scriptable, uuid(79314559-4561-4259-9839-f9b8df90e050)]
 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(384359ad-7c3f-4638-9364-95e4d42b4c0c)]
+[scriptable, uuid(77909883-71d3-46a4-87df-baab182eea6c)]
 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(e6dd64f2-c59b-4c0f-85fb-63b748c20057)]
+[scriptable, uuid(50a7b30c-fbad-4f60-baca-a6e018e66a06)]
 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(e97484c1-5b32-4e7e-8ad6-e04ea8100d3f)]
+[scriptable, uuid(18c4a5f0-9f12-4f7a-bc14-91d575238a34)]
 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,15 +34,15 @@
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
 #include "nsIDOMDocument.idl"
 
 interface nsIDOMSVGSVGElement;
 
-[scriptable, uuid(4368b131-bfe9-4f34-848d-00139217c1d1)]
+[scriptable, uuid(b3c5a715-ccee-48e4-8d2b-dcf7fa6ccb7c)]
 interface nsIDOMSVGDocument : nsIDOMDocument
 {
   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(dbb1b49c-dce5-43fe-97ea-e249b5620aa2)]
+[scriptable, uuid(0eb0952f-05a9-44e8-ab48-66bed5641ebf)]
 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(6dff169d-43b8-4727-8dc2-b14c897951a3)]
+[scriptable, uuid(a19b7c99-3b3f-4860-aa94-d66789afa021)]
 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(d4ffe017-20da-44eb-8111-9e814be8d313)]
+[scriptable, uuid(34bf1f97-ec77-48b4-9f3b-c61ef957ebf7)]
 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(0baad34c-3937-4a62-8098-5988ad6d3582)]
+[scriptable, uuid(f96cedb9-568c-43d0-b07f-565d5116ae34)]
 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(15d091f6-ffdd-4b22-90d3-45671a3a153c)]
+[scriptable, uuid(215023bc-e4d6-473d-b0fd-db96727b9e0d)]
 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(9865eca2-ec73-4241-b17c-3707a84801a0)]
+[scriptable, uuid(92205955-4d55-4097-9b93-b38d7e5a72e4)]
 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(8dd308d2-19b0-4d0a-a600-fc97cc278840)]
+[scriptable, uuid(69612612-c893-4d2c-902d-5a4887ebfe0a)]
 interface nsIDOMSVGFEComponentTransferElement : nsIDOMSVGFilterPrimitiveStandardAttributes
 {
     readonly attribute nsIDOMSVGAnimatedString in1;
 };
 
-[scriptable, uuid(8d1c623f-81d0-494d-abf4-089447d71e19)]
+[scriptable, uuid(1b758c80-c6f2-4f57-a8cf-964c98c8d0f0)]
 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(4c817cff-3eb1-4aa3-86cc-6c1d26304d51)]
+[scriptable, uuid(71142479-68eb-44a3-9964-19faa09c4720)]
 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(16cc0d3d-7d9d-4994-8e22-51a2ca8bc286)]
+[scriptable, uuid(4f358571-3dcb-4ac5-990b-19e3fd355d43)]
 interface nsIDOMSVGFEFuncRElement : nsIDOMSVGComponentTransferFunctionElement
 {
 };
 
-[scriptable, uuid(28140f4f-11b0-4aaa-988f-91183de9174d)]
+[scriptable, uuid(a2b6baf7-4f8a-4b3a-86e9-6e232ad25889)]
 interface nsIDOMSVGFEFuncGElement : nsIDOMSVGComponentTransferFunctionElement
 {
 };
 
-[scriptable, uuid(3d7b80be-be90-4d5f-bd7f-ad8a41e25650)]
+[scriptable, uuid(b6d6522d-6721-453b-99f9-a08349d84dd0)]
 interface nsIDOMSVGFEFuncBElement : nsIDOMSVGComponentTransferFunctionElement
 {
 };
 
-[scriptable, uuid(52cf6761-4ff7-467f-9828-0fb2f51a70cf)]
+[scriptable, uuid(70c084fc-d823-43b3-b4f1-476387b40079)]
 interface nsIDOMSVGFEFuncAElement : nsIDOMSVGComponentTransferFunctionElement
 {
 };
 
-[scriptable, uuid(aa828fdd-855c-4def-b911-0305521e6b3c)]
+[scriptable, uuid(bd19cfb2-5259-4551-abf5-3f9a9967ccf0)]
 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(680478f7-e018-448e-a5f8-994737a1f3cc)]
+[scriptable, uuid(ebb57b0d-e198-4f10-b5a9-4ab5b0729c85)]
 interface nsIDOMSVGFEMergeElement : nsIDOMSVGFilterPrimitiveStandardAttributes
 {
 };
 
-[scriptable, uuid(556ae82f-a713-4075-8b1a-a484c147b55e)]
+[scriptable, uuid(5b701f2f-b636-4bbb-8d2a-c74fa79b0280)]
 interface nsIDOMSVGFEMergeNodeElement : nsIDOMSVGElement { 
     readonly attribute nsIDOMSVGAnimatedString in1;
 };
 
-[scriptable, uuid(5528a83d-6dd5-48a0-917a-e67d688d76ed)]
+[scriptable, uuid(15746ca6-8b27-4cc1-bd84-3422d3aea18c)]
 interface nsIDOMSVGFEOffsetElement : nsIDOMSVGFilterPrimitiveStandardAttributes { 
     readonly attribute nsIDOMSVGAnimatedString in1;
     readonly attribute nsIDOMSVGAnimatedNumber dx;
     readonly attribute nsIDOMSVGAnimatedNumber dy;
 };
 
-[scriptable, uuid(610e2fe0-3d6a-4cf0-8df6-b65da8d29367)]
+[scriptable, uuid(436ca74a-eba8-4a50-8947-c180eb612a34)]
 interface nsIDOMSVGFEFloodElement : nsIDOMSVGFilterPrimitiveStandardAttributes
 {
 };
 
-[scriptable, uuid(4590fc6a-5dc1-45bc-9e86-0af377d6ecbd)]
+[scriptable, uuid(4cf173d3-6b67-4e2c-8050-61412e6e9d7c)]
 interface nsIDOMSVGFETileElement : nsIDOMSVGFilterPrimitiveStandardAttributes
 {
     readonly attribute nsIDOMSVGAnimatedString in1;
 };
 
-[scriptable, uuid(bec76206-825d-40c9-bded-0810daafb117)]
+[scriptable, uuid(9235e6a7-ba2c-4a41-9e80-20735159014b)]
 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(7246ba36-0dd1-43fc-8536-908e8985b77a)]
+[scriptable, uuid(b994b0e3-cff1-4550-bfb2-f5de7679acb9)]
 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(812fdfe3-93fd-4787-9909-7158d839ea69)]
+[scriptable, uuid(b64766fa-c393-4985-a775-deedb5b07ed2)]
 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,73 +247,73 @@ 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(3683aa0d-9d2f-45cd-8bc8-9b8a79e519b7)]
+[scriptable, uuid(47343967-4da5-4309-a3a4-c37ffab05b1f)]
 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(f3a96e7a-48db-4d75-b16a-368f7fa39482)]
+[scriptable, uuid(b647355f-1be8-40da-9c3b-05dce4c0eaa4)]
 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;
 };
 
-[scriptable, uuid(bcd675cb-8794-4083-a6f4-1577a6c23f2b)]
+[scriptable, uuid(1073827f-77e5-4096-81c5-6ebffefe258b)]
 interface nsIDOMSVGFEDistantLightElement : nsIDOMSVGElement { 
   readonly attribute nsIDOMSVGAnimatedNumber azimuth;
   readonly attribute nsIDOMSVGAnimatedNumber elevation;
 };
 
-[scriptable, uuid(57786525-10bd-4599-9bc0-f2a76ff10178)]
+[scriptable, uuid(d75d49ad-4265-4774-aa5c-02e4cdbfa2b1)]
 interface nsIDOMSVGFEPointLightElement : nsIDOMSVGElement { 
   readonly attribute nsIDOMSVGAnimatedNumber x;
   readonly attribute nsIDOMSVGAnimatedNumber y;
   readonly attribute nsIDOMSVGAnimatedNumber z;
 };
 
-[scriptable, uuid(4bc6bd22-7faf-409e-acff-0d554ff93b2e)]
+[scriptable, uuid(8cbaa2ea-159d-4b28-a963-8e42979eae84)]
 interface nsIDOMSVGFESpotLightElement : nsIDOMSVGElement { 
   readonly attribute nsIDOMSVGAnimatedNumber x;
   readonly attribute nsIDOMSVGAnimatedNumber y;
   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(477bb1c0-4923-467f-a0ce-85cbe87c2324)]
+[scriptable, uuid(f46d36a1-5ea5-4152-9d73-2dd967c3a709)]
 interface nsIDOMSVGFEImageElement : nsIDOMSVGFilterPrimitiveStandardAttributes
 /*
   nsIDOMSVGURIReference,
   nsIDOMSVGLangSpace,
   nsIDOMSVGExternalResourcesRequired
 */
 {
 };
 
-[scriptable, uuid(7a7548ed-f578-433b-b6b3-d034f5f19f44)]
+[scriptable, uuid(84db9e0e-ea0b-4906-8929-d97b4fd637c3)]
 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(7639563d-b19c-46d3-afb4-1bef937e8c29)]
+[scriptable, uuid(aa51c975-0450-4deb-9c15-a0b8c01ca4e2)]
 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(a5b4fa2e-65fb-4e9a-bb1b-00106a4fd813)]
+[scriptable, uuid(55235238-a7ae-4342-adf1-226069810dbc)]
 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(9c21dbc3-09bf-4905-ab84-b86c3f7471ce)]
+[scriptable, uuid(c0eda839-02d3-4133-b088-6cd6cbbc3c99)]
 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(42f66e56-ea42-4c75-a190-0dc5ad19afa4)]
+[scriptable, uuid(90e26673-027a-42fc-915c-de60d39cfd41)]
 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(6b4b82a3-424f-41bc-b748-0cdec4a7f419)]
+[scriptable, uuid(8d87299d-ed91-4a9c-8aa7-3ac24ad8785b)]
 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(048da3ff-aa94-4988-8f5c-3aae4a630008)]
+[scriptable, uuid(31fdac45-fc15-4b09-a755-bcc641edac29)]
 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(0db4b4ba-01f4-4aba-8054-084febfc96ae)]
+[scriptable, uuid(1ae0646a-8a4a-4ba6-a0d1-bc87f8146fa1)]
 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(df5bb334-0f72-4188-ae8d-467cec5019bf)]
+[scriptable, uuid(f5f93dff-7abc-4a13-a659-6c256d80e598)]
 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(90670735-4ea4-4d68-b6ef-15c93c3b922c)]
+[scriptable, uuid(5540ae8e-5798-4399-b711-0eca44ab29cc)]
 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(08953b06-59da-4d19-a551-31ebf92fd6f4)]
+[scriptable, uuid(5e919004-5f14-4eee-9622-4e130cc8e821)]
 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(f419e51b-3054-4cff-b55a-f096cf06f1c9)]
+[scriptable, uuid(f1fb5fb2-efa7-455c-b307-8d2203badadd)]
 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(8fd0f541-49c2-484d-a34c-a24eb25fe286)]
+[scriptable, uuid(661a4651-8530-44fc-b163-fa3eb6db7fa9)]
 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(b8b4500d-e389-42b6-ae54-dd163d6c7c03)]
+[scriptable, uuid(1dfae3d2-49d3-48a5-a0f0-8d71dbad5fb6)]
 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(c6f0dbd7-ad84-4566-bc57-715bc617ff27)]
+[scriptable, uuid(f734e5b0-15f2-4a38-98ef-5539fd13765c)]
 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(e0269dec-7084-4ef5-8dbd-7e41c6e820da)]
+[scriptable, uuid(14595952-41f3-48ea-a3be-c0d088ede062)]
 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(578f6b8f-1e40-43e4-95a5-422fbd093006)]
+[scriptable, uuid(77ef1fe9-c589-4b7e-b626-85036974e870)]
 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(19198100-d373-408b-9b75-4c6c6310ea5b)]
+[scriptable, uuid(716cca1f-9512-4350-a492-d034eb45e547)]
 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(6f529794-2f07-466b-8cd8-69f88c004089)]
+[scriptable, uuid(2a837684-cf83-4fea-af06-fd1f351f901b)]
 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/nsIDOMSVGSetElement.idl
+++ b/dom/interfaces/svg/nsIDOMSVGSetElement.idl
@@ -32,10 +32,10 @@
  * 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 "nsIDOMSVGAnimationElement.idl"
 
-[scriptable, uuid(11e4330d-fb38-4ab8-b580-3c2ff5228e6d)]
+[scriptable, uuid(a3afd23f-da69-4cfb-8e0e-80f427301619)]
 interface nsIDOMSVGSetElement : nsIDOMSVGAnimationElement {};
--- 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(48c7dbd2-d24a-438d-884f-26840f4727a9)]
+[scriptable, uuid(cfbd6716-568f-4cab-8e55-7cd5f9050716)]
 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(65fbceac-b2ab-483a-ba74-ceeb7594727e)]
+[scriptable, uuid(48f78866-ea65-4199-ad3d-b8d289fe9277)]
 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(8a7fe157-6591-449c-b05a-40556efa5499)]
+[scriptable, uuid(7b0a1f88-401f-4f0d-92e8-45ac3bfc3d85)]
 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(5eb4ffa0-84c0-4b7e-b123-dfe780a3a210)]
+[scriptable, uuid(f512634f-f69f-48ae-90f0-89b695cdba51)]
 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(25ff6d97-2527-4f26-be2c-114df7370ba6)]
+[scriptable, uuid(26e33f1d-a657-419a-882c-d94a1fa63e2b)]
 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(c866157b-f49b-41a0-89a9-1b54644843b9)]
+[scriptable, uuid(c3cab232-a0c0-418a-9410-bc09261d4701)]
 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(09702cc5-e882-40a5-a301-1bbfea30b941)]
+[scriptable, uuid(fbd5ea26-3e8d-4a6e-a9c4-3013e2ddca1b)]
 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(a396f465-0333-48df-b5b7-e29d5a6b40f9)]
+[scriptable, uuid(e01999af-1ec4-4669-aa70-f2347d90264f)]
 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(dbc9a9bd-56a5-4d7f-b3fd-bcd2f1d38920)]
+[scriptable, uuid(716f0adc-3e78-4c12-aa64-b8a85af8129b)]
 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(8c463198-1272-45ca-89cb-40a37733611b)]
+[scriptable, uuid(b65bd7ad-6c0f-437d-b4fa-d0652f7497f0)]
 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(04c1aeb1-259c-41a6-9221-c2f1bdf5ca5f)]
+[scriptable, uuid(9d5c4ac2-645f-478d-bd44-68d2f1d9d466)]
 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/xul/nsIDOMXULButtonElement.idl
+++ b/dom/interfaces/xul/nsIDOMXULButtonElement.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 "nsIDOMXULLabeledControlEl.idl"
 
-[scriptable, uuid(432faebf-2578-4878-8721-b0863284e6d1)]
+[scriptable, uuid(b2057c12-27d6-45e3-ab8e-aec74217d32c)]
 interface nsIDOMXULButtonElement : nsIDOMXULLabeledControlElement {
   const short CHECKSTATE_UNCHECKED = 0;
   const short CHECKSTATE_CHECKED = 1;
   const short CHECKSTATE_MIXED = 2;
 
   attribute DOMString type;
   attribute DOMString dlgType;
 
--- a/dom/interfaces/xul/nsIDOMXULCheckboxElement.idl
+++ b/dom/interfaces/xul/nsIDOMXULCheckboxElement.idl
@@ -35,17 +35,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 "nsIDOMElement.idl"
 #include "nsIDOMXULLabeledControlEl.idl"
 
-[scriptable, uuid(f206d13f-6d1f-48b8-9cda-cefef3549457)]
+[scriptable, uuid(2873c8d4-4098-4a30-a98d-ec1684c2fd87)]
 interface nsIDOMXULCheckboxElement : nsIDOMXULLabeledControlElement {
   const short CHECKSTATE_UNCHECKED = 0;
   const short CHECKSTATE_CHECKED = 1;
   const short CHECKSTATE_MIXED = 2;
 
   attribute boolean checked;
   attribute long checkState;
   attribute boolean autoCheck;
--- 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(42897cc8-190f-4483-a2c1-807fc76d9e78)]
+[scriptable, uuid(156c66b4-6dd2-47e7-8090-f7cdea63dec3)]
 interface nsIDOMXULContainerItemElement : nsIDOMXULElement
 {
   /**
    * Returns the parent container if any.
    */
   readonly attribute nsIDOMXULContainerElement parentContainer;
 };
 
-[scriptable, uuid(ffa9129c-d183-4a2d-82e0-18135a57286e)]
+[scriptable, uuid(237192dc-8b36-4f6c-9883-1047949e8399)]
 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/nsIDOMXULControlElement.idl
+++ b/dom/interfaces/xul/nsIDOMXULControlElement.idl
@@ -37,17 +37,17 @@
  *
  * ***** END LICENSE BLOCK ***** */
 
 #include "nsIDOMElement.idl"
 #include "nsIDOMXULElement.idl"
 
 interface nsIControllers;
 
-[scriptable, uuid(ffbc1cee-6dd5-4716-b383-255b1e89fb16)]
+[scriptable, uuid(2574d3c9-07b5-44b2-8bec-890329623696)]
 interface nsIDOMXULControlElement : nsIDOMXULElement {
   attribute boolean disabled;
   attribute long tabIndex;
   
 // XXX defined in XULElement, but should be defined here
 //  readonly attribute nsIControllers controllers;
   
 //  void focus();
--- a/dom/interfaces/xul/nsIDOMXULDescriptionElement.idl
+++ b/dom/interfaces/xul/nsIDOMXULDescriptionElement.idl
@@ -35,15 +35,15 @@
  * 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 "nsIDOMXULElement.idl"
 
-[scriptable, uuid(c812217d-560d-48d4-b517-df42140d45cd)]
+[scriptable, uuid(eb1a8ac7-b106-4af1-9c96-159cee1f8cc4)]
 interface nsIDOMXULDescriptionElement : nsIDOMXULElement {
   attribute boolean disabled;
   attribute boolean crop;
   attribute DOMString value;
 };
 
--- 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(5e0a7c2c-fdb6-459d-a67b-549181218c31)]
+[scriptable, uuid(3a07dead-39e5-4dad-bc68-6ef369994126)]
 interface nsIDOMXULElement : nsIDOMElement
 {
   attribute DOMString                 id;
   attribute DOMString                 className;
 
   // Layout properties
   attribute DOMString align;
   attribute DOMString dir;
--- a/dom/interfaces/xul/nsIDOMXULImageElement.idl
+++ b/dom/interfaces/xul/nsIDOMXULImageElement.idl
@@ -32,13 +32,13 @@
  * 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 "nsIDOMElement.idl"
 #include "nsIDOMXULElement.idl"
 
-[scriptable, uuid(857a58a8-af19-4301-90ff-673bd8477cb9)]
+[scriptable, uuid(320a5a86-3f38-4631-acfc-dbe9dd5316fe)]
 interface nsIDOMXULImageElement : nsIDOMXULElement {
   attribute DOMString src;
 };
 
--- a/dom/interfaces/xul/nsIDOMXULLabelElement.idl
+++ b/dom/interfaces/xul/nsIDOMXULLabelElement.idl
@@ -34,14 +34,14 @@
  * 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 "nsIDOMXULDescriptionElement.idl"
 
-[scriptable, uuid(6020c1bd-e19a-4014-aa55-15bcf23272bd)]
+[scriptable, uuid(68af51d9-3fd0-429d-98e9-959f83d34ae6)]
 interface nsIDOMXULLabelElement : nsIDOMXULDescriptionElement {
   attribute DOMString accessKey;
   attribute DOMString control;
 };
 
--- a/dom/interfaces/xul/nsIDOMXULLabeledControlEl.idl
+++ b/dom/interfaces/xul/nsIDOMXULLabeledControlEl.idl
@@ -35,17 +35,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 "nsIDOMElement.idl"
 #include "nsIDOMXULControlElement.idl"
 
-[scriptable, uuid(0c5cb578-f2da-4699-82d8-173798a89c5b)]
+[scriptable, uuid(0fda2256-4a1c-41b1-bafb-908ae09f4858)]
 interface nsIDOMXULLabeledControlElement : nsIDOMXULControlElement {
   attribute DOMString crop;
   attribute DOMString image;
   attribute DOMString label;
   attribute DOMString accessKey;
   attribute DOMString command;
 
 //  void doCommand();
--- a/dom/interfaces/xul/nsIDOMXULMenuListElement.idl
+++ b/dom/interfaces/xul/nsIDOMXULMenuListElement.idl
@@ -35,17 +35,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 "nsIDOMXULSelectCntrlEl.idl"
 interface nsIDOMXULTextBoxElement;
 
-[scriptable, uuid(625ed65c-53cb-4994-9185-40dbb7816482)]
+[scriptable, uuid(de18d11b-8380-44c9-9e57-94c90431e370)]
 interface nsIDOMXULMenuListElement : nsIDOMXULSelectControlElement {
   attribute boolean editable;
   attribute boolean open;
   
   // label of selected option or value of textfield for editable menu lists
   readonly attribute DOMString label;
 
   attribute DOMString crop;
--- a/dom/interfaces/xul/nsIDOMXULMultSelectCntrlEl.idl
+++ b/dom/interfaces/xul/nsIDOMXULMultSelectCntrlEl.idl
@@ -34,17 +34,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 "nsIDOMXULSelectCntrlEl.idl"
 
-[scriptable, uuid(98c367ca-ac5b-493c-83e9-1b6a67aee57b)]
+[scriptable, uuid(ad5a4cb8-8dce-46df-b85a-7894dac66463)]
 interface nsIDOMXULMultiSelectControlElement : nsIDOMXULSelectControlElement
 {
   attribute DOMString selType;
 
   attribute nsIDOMXULSelectControlItemElement currentItem;
   attribute long currentIndex;
 
   readonly attribute nsIDOMNodeList selectedItems;
--- a/dom/interfaces/xul/nsIDOMXULPopupElement.idl
+++ b/dom/interfaces/xul/nsIDOMXULPopupElement.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 "nsIDOMElement.idl"
 #include "nsIDOMXULElement.idl"
 
-[scriptable, uuid(da02c027-1768-46df-99cc-a88f29cd70f6)]
+[scriptable, uuid(e8beb7ac-63dd-4c9a-8da4-b2ebd9e4d60f)]
 interface nsIDOMXULPopupElement : nsIDOMXULElement {
   const unsigned short      BEFORE_START                   = 1;
   const unsigned short      BEFORE_END                     = 2;
   const unsigned short      AFTER_START                    = 3;
   const unsigned short      AFTER_END                      = 4;
   const unsigned short      START_BEFORE                   = 5;
   const unsigned short      START_AFTER                    = 6;
   const unsigned short      END_BEFORE                     = 7;
--- a/dom/interfaces/xul/nsIDOMXULSelectCntrlEl.idl
+++ b/dom/interfaces/xul/nsIDOMXULSelectCntrlEl.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 "nsIDOMXULControlElement.idl"
 interface nsIDOMXULSelectControlItemElement;
 
-[scriptable, uuid(628edef3-4e9c-472f-b6af-09b02c29eb9c)]
+[scriptable, uuid(5cc7f3ab-a244-4674-9d86-6509b7fd3025)]
 interface nsIDOMXULSelectControlElement : nsIDOMXULControlElement {
   attribute nsIDOMXULSelectControlItemElement selectedItem;
   attribute long selectedIndex;
 
   attribute DOMString value;
   
   nsIDOMXULSelectControlItemElement appendItem(in DOMString label, in DOMString value);
   nsIDOMXULSelectControlItemElement insertItemAt(in long index, in DOMString label, in DOMString value);
--- a/dom/interfaces/xul/nsIDOMXULSelectCntrlItemEl.idl
+++ b/dom/interfaces/xul/nsIDOMXULSelectCntrlItemEl.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 "nsIDOMXULElement.idl"
 interface nsIDOMXULSelectControlElement;
 
-[scriptable, uuid(8768e500-fd83-462e-8e2a-3e3ac40014d5)]
+[scriptable, uuid(ad66674e-cf5f-40f0-8053-87aa9ddfac62)]
 interface nsIDOMXULSelectControlItemElement : nsIDOMXULElement {
   attribute boolean disabled;
   attribute DOMString crop;
   attribute DOMString image;
   attribute DOMString label;
   attribute DOMString accessKey;
   attribute DOMString command;
   
--- a/dom/interfaces/xul/nsIDOMXULTextboxElement.idl
+++ b/dom/interfaces/xul/nsIDOMXULTextboxElement.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 "nsIDOMXULLabeledControlEl.idl"
 interface nsIDOMHTMLInputElement;
 
-[scriptable, uuid(ebbd6bfd-d889-4321-9b29-027b8dbaecf6)]
+[scriptable, uuid(0fa9b092-952f-4e54-aa05-5025448c104f)]
 interface nsIDOMXULTextBoxElement : nsIDOMXULControlElement
 {
   // inputField may be any type of editable field, such as an
   // HTML <input type="text"> or <textarea>
   readonly attribute nsIDOMNode inputField;
 
   readonly attribute long textLength;
   attribute long maxLength;
--- 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(8b57c2be-c8c4-44fc-bc80-4f311bc18aa4)]
+[scriptable, uuid(cba7143b-73fc-4974-b93d-7e3f6b18d645)]
 interface nsIDOMXULTreeElement : nsIDOMXULElement
 {
 
   readonly attribute nsITreeColumns columns;
 
   attribute nsITreeView view;
 
   readonly attribute nsIDOMElement body;
--- a/rdf/base/idl/xulstubs.idl
+++ b/rdf/base/idl/xulstubs.idl
@@ -41,20 +41,20 @@
 /* C++ should ignore this file because there are real DOM interfaces
    elsewhere, so if 0 it out
 */
 #if 0
 %}
 
 #include "domstubs.idl"
 
-[scriptable, uuid(f28b7d89-5724-4cc5-9eba-5b61d65f1db5)]
+[scriptable, uuid(7f4b6b5d-7982-417c-bcd4-2fcddd35b404)]
 interface nsIDOMXULElement : nsIDOMElement {};
 
-[scriptable, uuid(543d62b9-39b4-4c8e-8629-1e6a58b94304)]
+[scriptable, uuid(318f68f5-1840-475f-a656-7c3f09bd3252)]
 interface nsIDOMXULTreeElement : nsIDOMXULElement {};
 
 [scriptable, uuid(f3c50361-14fe-11d3-bf87-00105a1b0627)]
 interface nsIDOMXULCommandDispatcher : nsISupports {};
 
 [scriptable, uuid(17ddd8c0-c5f8-11d2-a6ae-00104bde6048)]
 interface nsIDOMXULDocument : nsISupports {};