Backed out changeset edd01aafe372
authorRobert O'Callahan <robert@ocallahan.org>
Mon, 02 Aug 2010 15:20:05 +1200
changeset 48697 5115309958f995bc6af241d7e427e3ea75a81c6c
parent 48694 edd01aafe372d16bd18d856d2d37f887323cb70b
child 48698 3abcda8e8ca5f13b05aca42500543436bdeb18fa
push id14769
push userrocallahan@mozilla.com
push dateMon, 02 Aug 2010 03:20:36 +0000
treeherdermozilla-central@3abcda8e8ca5 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
milestone2.0b3pre
backs outedd01aafe372d16bd18d856d2d37f887323cb70b
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
Backed out changeset edd01aafe372
content/html/content/src/nsHTMLImageElement.cpp
dom/base/nsDOMClassInfo.cpp
dom/interfaces/html/Makefile.in
dom/interfaces/html/nsIDOMHTMLImageElement.idl
dom/interfaces/html/nsIDOMNSHTMLImageElement.idl
js/src/xpconnect/src/dom_quickstubs.qsconf
--- a/content/html/content/src/nsHTMLImageElement.cpp
+++ b/content/html/content/src/nsHTMLImageElement.cpp
@@ -30,16 +30,17 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 #include "nsIDOMHTMLImageElement.h"
+#include "nsIDOMNSHTMLImageElement.h"
 #include "nsIDOMEventTarget.h"
 #include "nsGenericHTMLElement.h"
 #include "nsImageLoadingContent.h"
 #include "nsGkAtoms.h"
 #include "nsStyleConsts.h"
 #include "nsPresContext.h"
 #include "nsMappedAttributes.h"
 #include "nsIJSNativeInitializer.h"
@@ -75,16 +76,17 @@
 
 #include "nsLayoutUtils.h"
 
 // XXX nav attrs: suppress
 
 class nsHTMLImageElement : public nsGenericHTMLElement,
                            public nsImageLoadingContent,
                            public nsIDOMHTMLImageElement,
+                           public nsIDOMNSHTMLImageElement,
                            public nsIJSNativeInitializer
 {
 public:
   nsHTMLImageElement(already_AddRefed<nsINodeInfo> aNodeInfo);
   virtual ~nsHTMLImageElement();
 
   // nsISupports
   NS_DECL_ISUPPORTS_INHERITED
@@ -96,16 +98,19 @@ public:
   NS_FORWARD_NSIDOMELEMENT(nsGenericHTMLElement::)
 
   // nsIDOMHTMLElement
   NS_FORWARD_NSIDOMHTMLELEMENT(nsGenericHTMLElement::)
 
   // nsIDOMHTMLImageElement
   NS_DECL_NSIDOMHTMLIMAGEELEMENT
 
+  // nsIDOMNSHTMLImageElement
+  NS_DECL_NSIDOMNSHTMLIMAGEELEMENT
+
   // override from nsGenericHTMLElement
   NS_IMETHOD GetDraggable(PRBool* aDraggable);
 
   // nsIJSNativeInitializer
   NS_IMETHOD Initialize(nsISupports* aOwner, JSContext* aContext,
                         JSObject* aObj, PRUint32 argc, jsval* argv);
 
   // nsIContent
@@ -188,18 +193,19 @@ nsHTMLImageElement::~nsHTMLImageElement(
 NS_IMPL_ADDREF_INHERITED(nsHTMLImageElement, nsGenericElement)
 NS_IMPL_RELEASE_INHERITED(nsHTMLImageElement, nsGenericElement)
 
 
 DOMCI_NODE_DATA(HTMLImageElement, nsHTMLImageElement)
 
 // QueryInterface implementation for nsHTMLImageElement
 NS_INTERFACE_TABLE_HEAD(nsHTMLImageElement)
-  NS_HTML_CONTENT_INTERFACE_TABLE5(nsHTMLImageElement,
+  NS_HTML_CONTENT_INTERFACE_TABLE6(nsHTMLImageElement,
                                    nsIDOMHTMLImageElement,
+                                   nsIDOMNSHTMLImageElement,
                                    nsIJSNativeInitializer,
                                    imgIDecoderObserver,
                                    nsIImageLoadingContent,
                                    imgIContainerObserver)
   NS_HTML_CONTENT_INTERFACE_TABLE_TO_MAP_SEGUE(nsHTMLImageElement,
                                                nsGenericHTMLElement)
 NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLImageElement)
 
--- a/dom/base/nsDOMClassInfo.cpp
+++ b/dom/base/nsDOMClassInfo.cpp
@@ -270,16 +270,17 @@
 #include "nsIDOMNSHTMLFrameElement.h"
 #include "nsIDOMHTMLHRElement.h"
 #include "nsIDOMNSHTMLHRElement.h"
 #include "nsIDOMHTMLHeadElement.h"
 #include "nsIDOMHTMLHeadingElement.h"
 #include "nsIDOMHTMLHtmlElement.h"
 #include "nsIDOMHTMLIFrameElement.h"
 #include "nsIDOMHTMLImageElement.h"
+#include "nsIDOMNSHTMLImageElement.h"
 #include "nsIDOMHTMLInputElement.h"
 #include "nsIDOMNSHTMLInputElement.h"
 #include "nsIDOMHTMLIsIndexElement.h"
 #include "nsIDOMHTMLLIElement.h"
 #include "nsIDOMHTMLLabelElement.h"
 #include "nsIDOMHTMLLegendElement.h"
 #include "nsIDOMHTMLLinkElement.h"
 #include "nsIDOMHTMLMapElement.h"
@@ -2542,16 +2543,17 @@ nsDOMClassInfo::Init()
 #ifdef MOZ_SVG
     DOM_CLASSINFO_MAP_ENTRY(nsIDOMGetSVGDocument)
 #endif
     DOM_CLASSINFO_GENERIC_HTML_MAP_ENTRIES
   DOM_CLASSINFO_MAP_END
 
   DOM_CLASSINFO_MAP_BEGIN(HTMLImageElement, nsIDOMHTMLImageElement)
     DOM_CLASSINFO_MAP_ENTRY(nsIDOMHTMLImageElement)
+    DOM_CLASSINFO_MAP_ENTRY(nsIDOMNSHTMLImageElement)
     DOM_CLASSINFO_GENERIC_HTML_MAP_ENTRIES
   DOM_CLASSINFO_MAP_END
 
   DOM_CLASSINFO_MAP_BEGIN(HTMLInputElement, nsIDOMHTMLInputElement)
     DOM_CLASSINFO_MAP_ENTRY(nsIDOMHTMLInputElement)
     DOM_CLASSINFO_MAP_ENTRY(nsIDOMNSHTMLInputElement)
     DOM_CLASSINFO_GENERIC_HTML_MAP_ENTRIES
   DOM_CLASSINFO_MAP_END
--- a/dom/interfaces/html/Makefile.in
+++ b/dom/interfaces/html/Makefile.in
@@ -66,16 +66,17 @@ SDK_XPIDLSRCS =					\
 	nsIDOMHTMLFormElement.idl		\
 	nsIDOMHTMLFrameElement.idl		\
 	nsIDOMHTMLFrameSetElement.idl		\
 	nsIDOMHTMLHRElement.idl			\
 	nsIDOMHTMLHeadElement.idl		\
 	nsIDOMHTMLHeadingElement.idl		\
 	nsIDOMHTMLHtmlElement.idl		\
 	nsIDOMHTMLIFrameElement.idl		\
+	nsIDOMHTMLImageElement.idl		\
 	nsIDOMHTMLInputElement.idl		\
 	nsIDOMHTMLIsIndexElement.idl		\
 	nsIDOMHTMLLIElement.idl			\
 	nsIDOMHTMLLabelElement.idl		\
 	nsIDOMHTMLLegendElement.idl		\
 	nsIDOMHTMLLinkElement.idl		\
 	nsIDOMHTMLMapElement.idl		\
 	nsIDOMHTMLMenuElement.idl		\
--- a/dom/interfaces/html/nsIDOMHTMLImageElement.idl
+++ b/dom/interfaces/html/nsIDOMHTMLImageElement.idl
@@ -42,35 +42,28 @@
 /**
  * The nsIDOMHTMLImageElement interface is the interface to a [X]HTML
  * img element.
  *
  * For more information on this interface please see
  * http://www.w3.org/TR/DOM-Level-2-HTML/
  */
 
-[scriptable, uuid(3fc9c313-49b9-4315-b39f-7166cf362e10)]
+[scriptable, uuid(a6cf90ab-15b3-11d2-932e-00805f8add32)]
 interface nsIDOMHTMLImageElement : nsIDOMHTMLElement
 {
+           attribute DOMString        name;
+           attribute DOMString        align;
            attribute DOMString        alt;
+           attribute DOMString        border;
+  // Modified in DOM Level 2:
+           attribute long             height;
+  // Modified in DOM Level 2:
+           attribute long             hspace;
+           attribute boolean          isMap;
+           attribute DOMString        longDesc;
            attribute DOMString        src;
            attribute DOMString        useMap;
-           attribute boolean          isMap;
+  // Modified in DOM Level 2:
+           attribute long             vspace;
+  // Modified in DOM Level 2:
            attribute long             width;
-           attribute long             height;
-  readonly attribute long             naturalWidth;
-  readonly attribute long             naturalHeight;
-  readonly attribute boolean          complete;
-
-
-           attribute DOMString        name;
-           attribute DOMString        align;
-           attribute DOMString        border;
-           attribute long             hspace;       
-           attribute DOMString        longDesc;
-           attribute long             vspace;
-           attribute DOMString        lowsrc;
-
-  // These attributes are offsets from the closest view (to mimic
-  // NS4's "offset-from-layer" behavior).
-  readonly attribute long             x;
-  readonly attribute long             y;
 };
--- a/dom/interfaces/html/nsIDOMNSHTMLImageElement.idl
+++ b/dom/interfaces/html/nsIDOMNSHTMLImageElement.idl
@@ -0,0 +1,55 @@
+/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is mozilla.org code.
+ *
+ * The Initial Developer of the Original Code is
+ * Netscape Communications Corporation.
+ * Portions created by the Initial Developer are Copyright (C) 2000
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ *   Vidur Apparao <vidur@netscape.com> (original author)
+ *   Johnny Stenback <jst@netscape.com>
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either of the GNU General Public License Version 2 or later (the "GPL"),
+ * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+#include "domstubs.idl"
+
+[scriptable, uuid(a6cf90c7-15b3-11d2-932e-00805f8add32)]
+interface nsIDOMNSHTMLImageElement : nsISupports
+{
+           attribute DOMString        lowsrc;
+  readonly attribute boolean          complete;
+
+  readonly attribute long             naturalHeight;
+  readonly attribute long             naturalWidth;
+
+  // These attributes are offsets from the closest view (to mimic
+  // NS4's "offset-from-layer" behavior).
+  readonly attribute long             x;
+  readonly attribute long             y;
+};
--- a/js/src/xpconnect/src/dom_quickstubs.qsconf
+++ b/js/src/xpconnect/src/dom_quickstubs.qsconf
@@ -252,17 +252,16 @@ members = [
     'nsIDOMHTMLFrameSetElement.rows',
     'nsIDOMHTMLFrameSetElement.cols',
     'nsIDOMHTMLIFrameElement.src',
     'nsIDOMHTMLIFrameElement.contentDocument',
     'nsIDOMHTMLImageElement.src',
     'nsIDOMHTMLImageElement.name',
     'nsIDOMHTMLImageElement.height',
     'nsIDOMHTMLImageElement.width',
-    'nsIDOMHTMLImageElement.complete',
     'nsIDOMHTMLInputElement.defaultChecked',
     'nsIDOMHTMLInputElement.disabled',
     'nsIDOMHTMLInputElement.select',
     'nsIDOMHTMLInputElement.checked',
     'nsIDOMHTMLInputElement.type',
     'nsIDOMHTMLInputElement.form',
     'nsIDOMHTMLInputElement.src',
     'nsIDOMHTMLInputElement.name',
@@ -339,16 +338,17 @@ members = [
     'nsIDOMNSHTMLElement.offsetParent',
     'nsIDOMNSHTMLElement.innerHTML',
     'nsIDOMNSHTMLElement.offsetLeft',
     'nsIDOMNSHTMLElement.offsetTop',
     'nsIDOMNSHTMLElement.offsetHeight',
     'nsIDOMNSHTMLElement.offsetWidth',
     'nsIDOMNSHTMLElement.scrollIntoView',
     'nsIDOMNSHTMLFrameElement.contentWindow',
+    'nsIDOMNSHTMLImageElement.complete',
     'nsIDOMNSHTMLInputElement.files',
     'nsIDOMNSHTMLInputElement.textLength',
     'nsIDOMNSHTMLInputElement.selectionStart',
     'nsIDOMNSHTMLInputElement.selectionEnd',
     'nsIDOMNSHTMLInputElement.setSelectionRange',
     'nsIDOMNSHTMLOptionCollection.selectedIndex',
     'nsIDOMNSHTMLOptionCollection.add',
     'nsIDOMNSHTMLTextAreaElement.setSelectionRange',