From 1112717c7c94243295c99af82fe53443bdcf8516 Mon Sep 17 00:00:00 2001 From: David Zbarsky Date: Wed, 7 Aug 2013 16:23:08 -0400 Subject: [PATCH] Bug 901060 - Make nsGenericHTMLElement implement nsIDOMHTMLElement r=bz --- content/base/public/Element.h | 2 + content/base/public/FragmentOrElement.h | 18 - content/base/src/Element.cpp | 16 + content/base/src/FragmentOrElement.cpp | 8 - content/base/src/nsContentAreaDragDrop.cpp | 8 +- content/base/src/nsDocument.cpp | 9 +- content/base/src/nsObjectLoadingContent.cpp | 4 +- .../html/content/public/HTMLAudioElement.h | 9 - .../html/content/public/HTMLCanvasElement.h | 11 - .../html/content/public/HTMLVideoElement.h | 11 - .../html/content/src/HTMLAnchorElement.cpp | 15 +- content/html/content/src/HTMLAnchorElement.h | 11 - content/html/content/src/HTMLAreaElement.cpp | 15 +- content/html/content/src/HTMLAreaElement.h | 11 - content/html/content/src/HTMLAudioElement.cpp | 13 +- content/html/content/src/HTMLBRElement.cpp | 13 +- content/html/content/src/HTMLBRElement.h | 10 - content/html/content/src/HTMLBodyElement.cpp | 11 +- content/html/content/src/HTMLBodyElement.h | 10 - .../html/content/src/HTMLButtonElement.cpp | 4 +- content/html/content/src/HTMLButtonElement.h | 12 +- .../html/content/src/HTMLCanvasElement.cpp | 4 +- content/html/content/src/HTMLDataElement.cpp | 7 - content/html/content/src/HTMLDataElement.h | 16 +- .../html/content/src/HTMLDataListElement.cpp | 3 +- .../html/content/src/HTMLDataListElement.h | 14 +- content/html/content/src/HTMLDivElement.cpp | 11 +- content/html/content/src/HTMLDivElement.h | 11 - content/html/content/src/HTMLElement.cpp | 25 +- .../html/content/src/HTMLFieldSetElement.cpp | 4 +- .../html/content/src/HTMLFieldSetElement.h | 10 - content/html/content/src/HTMLFontElement.cpp | 9 - content/html/content/src/HTMLFontElement.h | 16 +- content/html/content/src/HTMLFormElement.cpp | 11 +- content/html/content/src/HTMLFormElement.h | 11 - content/html/content/src/HTMLFrameElement.cpp | 13 +- content/html/content/src/HTMLFrameElement.h | 10 - .../html/content/src/HTMLFrameSetElement.cpp | 13 +- .../html/content/src/HTMLFrameSetElement.h | 10 - content/html/content/src/HTMLHRElement.cpp | 13 +- content/html/content/src/HTMLHRElement.h | 10 - .../html/content/src/HTMLHeadingElement.cpp | 13 +- content/html/content/src/HTMLHeadingElement.h | 10 - .../html/content/src/HTMLIFrameElement.cpp | 12 +- content/html/content/src/HTMLIFrameElement.h | 10 - content/html/content/src/HTMLImageElement.cpp | 4 +- content/html/content/src/HTMLImageElement.h | 10 - content/html/content/src/HTMLInputElement.cpp | 7 +- content/html/content/src/HTMLInputElement.h | 11 +- content/html/content/src/HTMLLIElement.cpp | 12 +- content/html/content/src/HTMLLIElement.h | 10 - content/html/content/src/HTMLLabelElement.cpp | 18 +- content/html/content/src/HTMLLabelElement.h | 12 +- .../html/content/src/HTMLLegendElement.cpp | 11 - content/html/content/src/HTMLLegendElement.h | 18 +- content/html/content/src/HTMLLinkElement.cpp | 4 +- content/html/content/src/HTMLLinkElement.h | 10 - content/html/content/src/HTMLMapElement.cpp | 4 +- content/html/content/src/HTMLMapElement.h | 11 - content/html/content/src/HTMLMenuElement.cpp | 15 +- content/html/content/src/HTMLMenuElement.h | 11 - .../html/content/src/HTMLMenuItemElement.cpp | 13 +- .../html/content/src/HTMLMenuItemElement.h | 11 - content/html/content/src/HTMLMetaElement.cpp | 13 +- content/html/content/src/HTMLMetaElement.h | 11 - content/html/content/src/HTMLMeterElement.cpp | 9 - content/html/content/src/HTMLMeterElement.h | 17 +- content/html/content/src/HTMLModElement.cpp | 10 - content/html/content/src/HTMLModElement.h | 17 +- .../html/content/src/HTMLObjectElement.cpp | 4 +- content/html/content/src/HTMLObjectElement.h | 11 - .../html/content/src/HTMLOptGroupElement.cpp | 15 +- .../html/content/src/HTMLOptGroupElement.h | 9 - .../html/content/src/HTMLOptionElement.cpp | 17 +- content/html/content/src/HTMLOptionElement.h | 11 - .../content/src/HTMLOptionsCollection.cpp | 16 +- .../html/content/src/HTMLOutputElement.cpp | 4 +- content/html/content/src/HTMLOutputElement.h | 11 - .../html/content/src/HTMLParagraphElement.cpp | 12 +- .../html/content/src/HTMLParagraphElement.h | 11 - content/html/content/src/HTMLPreElement.cpp | 11 +- content/html/content/src/HTMLPreElement.h | 11 - .../html/content/src/HTMLProgressElement.cpp | 8 - .../html/content/src/HTMLProgressElement.h | 17 +- .../content/src/HTMLPropertiesCollection.h | 2 +- .../html/content/src/HTMLScriptElement.cpp | 21 +- content/html/content/src/HTMLScriptElement.h | 13 +- .../html/content/src/HTMLSelectElement.cpp | 8 +- content/html/content/src/HTMLSelectElement.h | 11 - .../html/content/src/HTMLSharedElement.cpp | 4 +- content/html/content/src/HTMLSharedElement.h | 14 - .../content/src/HTMLSharedListElement.cpp | 4 +- .../html/content/src/HTMLSharedListElement.h | 14 - .../content/src/HTMLSharedObjectElement.cpp | 4 +- .../content/src/HTMLSharedObjectElement.h | 14 - .../html/content/src/HTMLSourceElement.cpp | 15 +- content/html/content/src/HTMLSourceElement.h | 11 - content/html/content/src/HTMLSpanElement.cpp | 9 - content/html/content/src/HTMLSpanElement.h | 17 +- content/html/content/src/HTMLStyleElement.cpp | 4 +- content/html/content/src/HTMLStyleElement.h | 12 +- .../content/src/HTMLTableCaptionElement.cpp | 12 +- .../content/src/HTMLTableCaptionElement.h | 11 - .../html/content/src/HTMLTableCellElement.cpp | 13 +- .../html/content/src/HTMLTableCellElement.h | 10 - .../html/content/src/HTMLTableColElement.cpp | 8 - .../html/content/src/HTMLTableColElement.h | 17 +- content/html/content/src/HTMLTableElement.cpp | 6 +- content/html/content/src/HTMLTableElement.h | 10 - .../html/content/src/HTMLTableRowElement.cpp | 3 +- .../html/content/src/HTMLTableRowElement.h | 14 +- .../content/src/HTMLTableSectionElement.cpp | 3 +- .../content/src/HTMLTableSectionElement.h | 14 +- .../html/content/src/HTMLTemplateElement.cpp | 3 +- .../html/content/src/HTMLTemplateElement.h | 14 +- .../html/content/src/HTMLTextAreaElement.cpp | 4 +- .../html/content/src/HTMLTextAreaElement.h | 11 - content/html/content/src/HTMLTimeElement.cpp | 7 - content/html/content/src/HTMLTimeElement.h | 16 +- content/html/content/src/HTMLTitleElement.cpp | 21 +- content/html/content/src/HTMLTitleElement.h | 11 - content/html/content/src/HTMLTrackElement.cpp | 5 +- content/html/content/src/HTMLTrackElement.h | 11 - .../html/content/src/HTMLUnknownElement.cpp | 8 - content/html/content/src/HTMLUnknownElement.h | 15 - content/html/content/src/HTMLVideoElement.cpp | 10 +- .../html/content/src/nsGenericHTMLElement.cpp | 58 +- .../html/content/src/nsGenericHTMLElement.h | 541 ++++++++---------- .../content/src/nsGenericHTMLFrameElement.cpp | 8 +- .../content/src/nsGenericHTMLFrameElement.h | 3 +- .../mathml/content/src/nsMathMLElement.cpp | 16 +- content/xml/content/src/nsXMLElement.cpp | 10 +- .../content/src/nsXULContextMenuBuilder.cpp | 3 +- content/xul/content/src/nsXULElement.cpp | 2 +- dom/base/nsDOMClassInfoID.h | 3 +- .../html/nsIDOMHTMLAnchorElement.idl | 4 +- .../html/nsIDOMHTMLAppletElement.idl | 4 +- dom/interfaces/html/nsIDOMHTMLAreaElement.idl | 4 +- .../html/nsIDOMHTMLAudioElement.idl | 2 +- dom/interfaces/html/nsIDOMHTMLBRElement.idl | 4 +- dom/interfaces/html/nsIDOMHTMLBaseElement.idl | 4 +- dom/interfaces/html/nsIDOMHTMLBodyElement.idl | 4 +- .../html/nsIDOMHTMLButtonElement.idl | 4 +- .../html/nsIDOMHTMLCanvasElement.idl | 4 +- .../html/nsIDOMHTMLDirectoryElement.idl | 4 +- dom/interfaces/html/nsIDOMHTMLDivElement.idl | 4 +- dom/interfaces/html/nsIDOMHTMLElement.idl | 1 + .../html/nsIDOMHTMLEmbedElement.idl | 4 +- .../html/nsIDOMHTMLFieldSetElement.idl | 4 +- dom/interfaces/html/nsIDOMHTMLFormElement.idl | 4 +- .../html/nsIDOMHTMLFrameElement.idl | 4 +- .../html/nsIDOMHTMLFrameSetElement.idl | 4 +- dom/interfaces/html/nsIDOMHTMLHRElement.idl | 4 +- dom/interfaces/html/nsIDOMHTMLHeadElement.idl | 4 +- .../html/nsIDOMHTMLHeadingElement.idl | 4 +- dom/interfaces/html/nsIDOMHTMLHtmlElement.idl | 4 +- .../html/nsIDOMHTMLIFrameElement.idl | 4 +- .../html/nsIDOMHTMLImageElement.idl | 4 +- .../html/nsIDOMHTMLInputElement.idl | 4 +- dom/interfaces/html/nsIDOMHTMLLIElement.idl | 4 +- .../html/nsIDOMHTMLLabelElement.idl | 4 +- dom/interfaces/html/nsIDOMHTMLLinkElement.idl | 4 +- dom/interfaces/html/nsIDOMHTMLMapElement.idl | 4 +- .../html/nsIDOMHTMLMediaElement.idl | 4 +- dom/interfaces/html/nsIDOMHTMLMenuElement.idl | 4 +- .../html/nsIDOMHTMLMenuItemElement.idl | 4 +- dom/interfaces/html/nsIDOMHTMLMetaElement.idl | 4 +- .../html/nsIDOMHTMLOListElement.idl | 4 +- .../html/nsIDOMHTMLObjectElement.idl | 4 +- .../html/nsIDOMHTMLOptGroupElement.idl | 4 +- .../html/nsIDOMHTMLOptionElement.idl | 4 +- .../html/nsIDOMHTMLParagraphElement.idl | 4 +- dom/interfaces/html/nsIDOMHTMLPreElement.idl | 4 +- .../html/nsIDOMHTMLQuoteElement.idl | 4 +- .../html/nsIDOMHTMLScriptElement.idl | 4 +- .../html/nsIDOMHTMLSelectElement.idl | 4 +- .../html/nsIDOMHTMLSourceElement.idl | 4 +- .../html/nsIDOMHTMLStyleElement.idl | 4 +- .../html/nsIDOMHTMLTableCaptionElem.idl | 4 +- .../html/nsIDOMHTMLTableCellElement.idl | 4 +- .../html/nsIDOMHTMLTableElement.idl | 4 +- .../html/nsIDOMHTMLTextAreaElement.idl | 4 +- .../html/nsIDOMHTMLTitleElement.idl | 4 +- .../html/nsIDOMHTMLUListElement.idl | 4 +- .../html/nsIDOMHTMLVideoElement.idl | 2 +- dom/plugins/base/nsPluginInstanceOwner.cpp | 4 +- .../browser/webBrowser/nsContextMenuInfo.cpp | 4 +- .../webbrowserpersist/src/Makefile.in | 5 + .../src/nsWebBrowserPersist.cpp | 16 +- layout/forms/nsFileControlFrame.cpp | 5 +- .../satchel/nsFormFillController.cpp | 21 +- 191 files changed, 582 insertions(+), 1668 deletions(-) diff --git a/content/base/public/Element.h b/content/base/public/Element.h index 4cef125dfd4d..10ee69a8c773 100644 --- a/content/base/public/Element.h +++ b/content/base/public/Element.h @@ -133,6 +133,8 @@ public: NS_DECLARE_STATIC_IID_ACCESSOR(NS_ELEMENT_IID) + NS_IMETHOD QueryInterface(REFNSIID aIID, void** aInstancePtr); + /** * Method to get the full state of this element. See nsEventStates.h for * the possible bits that could be set here. diff --git a/content/base/public/FragmentOrElement.h b/content/base/public/FragmentOrElement.h index 1e01d5bb56de..495b8a18f694 100644 --- a/content/base/public/FragmentOrElement.h +++ b/content/base/public/FragmentOrElement.h @@ -172,12 +172,6 @@ public: NS_DECL_SIZEOF_EXCLUDING_THIS - /** - * Called during QueryInterface to give the binding manager a chance to - * get an interface for this element. - */ - nsresult PostQueryInterface(REFNSIID aIID, void** aInstancePtr); - // nsINode interface methods virtual uint32_t GetChildCount() const MOZ_OVERRIDE; virtual nsIContent *GetChildAt(uint32_t aIndex) const MOZ_OVERRIDE; @@ -402,16 +396,4 @@ protected: rv = FragmentOrElement::QueryInterface(aIID, aInstancePtr); \ NS_INTERFACE_TABLE_TO_MAP_SEGUE -#define NS_ELEMENT_INTERFACE_MAP_END \ - { \ - return PostQueryInterface(aIID, aInstancePtr); \ - } \ - \ - NS_ADDREF(foundInterface); \ - \ - *aInstancePtr = foundInterface; \ - \ - return NS_OK; \ - } - #endif /* FragmentOrElement_h___ */ diff --git a/content/base/src/Element.cpp b/content/base/src/Element.cpp index def276fd859e..6e52fe6e41c0 100644 --- a/content/base/src/Element.cpp +++ b/content/base/src/Element.cpp @@ -127,11 +127,27 @@ #include "nsXBLService.h" #include "nsContentCID.h" #include "nsITextControlElement.h" +#include "nsISupportsImpl.h" #include "mozilla/dom/DocumentFragment.h" using namespace mozilla; using namespace mozilla::dom; +NS_IMETHODIMP +Element::QueryInterface(REFNSIID aIID, void** aInstancePtr) +{ + NS_ASSERTION(aInstancePtr, + "QueryInterface requires a non-NULL destination!"); + nsresult rv = FragmentOrElement::QueryInterface(aIID, aInstancePtr); + if (NS_SUCCEEDED(rv)) { + return NS_OK; + } + + // Give the binding manager a chance to get an interface for this element. + return OwnerDoc()->BindingManager()->GetBindingImplementation(this, aIID, + aInstancePtr); +} + nsEventStates Element::IntrinsicState() const { diff --git a/content/base/src/FragmentOrElement.cpp b/content/base/src/FragmentOrElement.cpp index d668ab61afa1..53dd89a64576 100644 --- a/content/base/src/FragmentOrElement.cpp +++ b/content/base/src/FragmentOrElement.cpp @@ -106,7 +106,6 @@ #include "nsIXULDocument.h" #endif /* MOZ_XUL */ -#include "nsCycleCollectionParticipant.h" #include "nsCCUncollectableMarker.h" #include "mozAutoDocUpdate.h" @@ -1750,13 +1749,6 @@ NS_IMPL_CYCLE_COLLECTING_ADDREF(FragmentOrElement) NS_IMPL_CYCLE_COLLECTING_RELEASE_WITH_LAST_RELEASE(FragmentOrElement, nsNodeUtils::LastRelease(this)) -nsresult -FragmentOrElement::PostQueryInterface(REFNSIID aIID, void** aInstancePtr) -{ - return OwnerDoc()->BindingManager()->GetBindingImplementation(this, aIID, - aInstancePtr); -} - //---------------------------------------------------------------------- nsresult diff --git a/content/base/src/nsContentAreaDragDrop.cpp b/content/base/src/nsContentAreaDragDrop.cpp index 86763a14a9a6..25a8fcf5a341 100644 --- a/content/base/src/nsContentAreaDragDrop.cpp +++ b/content/base/src/nsContentAreaDragDrop.cpp @@ -52,6 +52,9 @@ #include "imgIRequest.h" #include "nsDOMDataTransfer.h" #include "mozilla/dom/Element.h" +#include "mozilla/dom/HTMLAreaElement.h" + +using mozilla::dom::HTMLAreaElement; class MOZ_STACK_CLASS DragDataProducer { @@ -505,10 +508,11 @@ DragDataProducer::Produce(nsDOMDataTransfer* aDataTransfer, if (area) { // use the alt text (or, if missing, the href) as the title - area->GetAttribute(NS_LITERAL_STRING("alt"), mTitleString); + HTMLAreaElement* areaElem = static_cast(area.get()); + areaElem->GetAttribute(NS_LITERAL_STRING("alt"), mTitleString); if (mTitleString.IsEmpty()) { // this can be a relative link - area->GetAttribute(NS_LITERAL_STRING("href"), mTitleString); + areaElem->GetAttribute(NS_LITERAL_STRING("href"), mTitleString); } // we'll generate HTML like alt text diff --git a/content/base/src/nsDocument.cpp b/content/base/src/nsDocument.cpp index 49140402c9b9..27d8138589ec 100644 --- a/content/base/src/nsDocument.cpp +++ b/content/base/src/nsDocument.cpp @@ -194,6 +194,7 @@ #include "mozilla/dom/DocumentFragment.h" #include "mozilla/dom/WebComponentsBinding.h" #include "mozilla/dom/HTMLBodyElement.h" +#include "mozilla/dom/HTMLInputElement.h" #include "mozilla/dom/NodeFilterBinding.h" #include "mozilla/dom/UndoManager.h" #include "nsFrame.h" @@ -7590,7 +7591,7 @@ nsDocument::Sanitize() for (uint32_t i = 0; i < length; ++i) { NS_ASSERTION(nodes->Item(i), "null item in node list!"); - nsCOMPtr input = do_QueryInterface(nodes->Item(i)); + nsRefPtr input = HTMLInputElement::FromContentOrNull(nodes->Item(i)); if (!input) continue; @@ -7606,8 +7607,7 @@ nsDocument::Sanitize() } if (resetValue) { - nsCOMPtr fc = do_QueryInterface(input); - fc->Reset(); + input->Reset(); } } @@ -7622,7 +7622,8 @@ nsDocument::Sanitize() if (!form) continue; - form->GetAttribute(NS_LITERAL_STRING("autocomplete"), value); + nodes->Item(i)->AsElement()->GetAttr(kNameSpaceID_None, + nsGkAtoms::autocomplete, value); if (value.LowerCaseEqualsLiteral("off")) form->Reset(); } diff --git a/content/base/src/nsObjectLoadingContent.cpp b/content/base/src/nsObjectLoadingContent.cpp index 11937f1cafb9..d13a1daf5366 100644 --- a/content/base/src/nsObjectLoadingContent.cpp +++ b/content/base/src/nsObjectLoadingContent.cpp @@ -1479,10 +1479,10 @@ nsObjectLoadingContent::UpdateObjectParameters(bool aJavaURI) } if (domapplet || domobject) { if (domapplet) { - parent = domapplet; + parent = do_QueryInterface(domapplet); } else { - parent = domobject; + parent = do_QueryInterface(domobject); } nsCOMPtr mydomNode = do_QueryInterface(mydomElement); if (parent == mydomNode) { diff --git a/content/html/content/public/HTMLAudioElement.h b/content/html/content/public/HTMLAudioElement.h index 5434242be917..0d345cd3d8b1 100644 --- a/content/html/content/public/HTMLAudioElement.h +++ b/content/html/content/public/HTMLAudioElement.h @@ -29,15 +29,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - // nsIDOMHTMLMediaElement using HTMLMediaElement::GetPaused; NS_FORWARD_NSIDOMHTMLMEDIAELEMENT(HTMLMediaElement::) diff --git a/content/html/content/public/HTMLCanvasElement.h b/content/html/content/public/HTMLCanvasElement.h index d9dde0dba995..9a6503638493 100644 --- a/content/html/content/public/HTMLCanvasElement.h +++ b/content/html/content/public/HTMLCanvasElement.h @@ -54,15 +54,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - // nsIDOMHTMLCanvasElement NS_DECL_NSIDOMHTMLCANVASELEMENT @@ -224,8 +215,6 @@ public: nsresult GetContext(const nsAString& aContextId, nsISupports** aContext); - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } - protected: virtual JSObject* WrapNode(JSContext* aCx, JS::Handle aScope) MOZ_OVERRIDE; diff --git a/content/html/content/public/HTMLVideoElement.h b/content/html/content/public/HTMLVideoElement.h index 95047106d392..921ce609ffa9 100644 --- a/content/html/content/public/HTMLVideoElement.h +++ b/content/html/content/public/HTMLVideoElement.h @@ -28,15 +28,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - // nsIDOMHTMLMediaElement using HTMLMediaElement::GetPaused; NS_FORWARD_NSIDOMHTMLMEDIAELEMENT(HTMLMediaElement::) @@ -62,8 +53,6 @@ public: virtual nsresult SetAcceptHeader(nsIHttpChannel* aChannel); - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } - // WebIDL uint32_t Width() const diff --git a/content/html/content/src/HTMLAnchorElement.cpp b/content/html/content/src/HTMLAnchorElement.cpp index ae4e18ae211d..c2ae09d2307f 100644 --- a/content/html/content/src/HTMLAnchorElement.cpp +++ b/content/html/content/src/HTMLAnchorElement.cpp @@ -40,19 +40,8 @@ HTMLAnchorElement::~HTMLAnchorElement() { } -NS_IMPL_ADDREF_INHERITED(HTMLAnchorElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLAnchorElement, Element) - -// QueryInterface implementation for HTMLAnchorElement -NS_INTERFACE_TABLE_HEAD(HTMLAnchorElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) - NS_INTERFACE_TABLE_INHERITED3(HTMLAnchorElement, - nsIDOMHTMLAnchorElement, - nsILink, - Link) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END - +NS_IMPL_ISUPPORTS_INHERITED3(HTMLAnchorElement, nsGenericHTMLElement, + nsIDOMHTMLAnchorElement, nsILink, Link) NS_IMPL_ELEMENT_CLONE(HTMLAnchorElement) diff --git a/content/html/content/src/HTMLAnchorElement.h b/content/html/content/src/HTMLAnchorElement.h index 4ce3f4330f1d..382780d6a8f9 100644 --- a/content/html/content/src/HTMLAnchorElement.h +++ b/content/html/content/src/HTMLAnchorElement.h @@ -35,15 +35,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - virtual int32_t TabIndexDefault() MOZ_OVERRIDE; virtual bool Draggable() const MOZ_OVERRIDE; @@ -89,8 +80,6 @@ public: virtual nsEventStates IntrinsicState() const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } - virtual void OnDNSPrefetchDeferred(); virtual void OnDNSPrefetchRequested(); virtual bool HasDeferredDNSPrefetchRequest(); diff --git a/content/html/content/src/HTMLAreaElement.cpp b/content/html/content/src/HTMLAreaElement.cpp index 041570b8299a..b930860895db 100644 --- a/content/html/content/src/HTMLAreaElement.cpp +++ b/content/html/content/src/HTMLAreaElement.cpp @@ -25,19 +25,8 @@ HTMLAreaElement::~HTMLAreaElement() { } -NS_IMPL_ADDREF_INHERITED(HTMLAreaElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLAreaElement, Element) - -// QueryInterface implementation for HTMLAreaElement -NS_INTERFACE_TABLE_HEAD(HTMLAreaElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) - NS_INTERFACE_TABLE_INHERITED3(HTMLAreaElement, - nsIDOMHTMLAreaElement, - nsILink, - Link) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END - +NS_IMPL_ISUPPORTS_INHERITED3(HTMLAreaElement, nsGenericHTMLElement, + nsIDOMHTMLAreaElement, nsILink, Link) NS_IMPL_ELEMENT_CLONE(HTMLAreaElement) diff --git a/content/html/content/src/HTMLAreaElement.h b/content/html/content/src/HTMLAreaElement.h index 106de38ba1d4..a3f5e51b5dd9 100644 --- a/content/html/content/src/HTMLAreaElement.h +++ b/content/html/content/src/HTMLAreaElement.h @@ -35,15 +35,6 @@ public: // DOM memory reporter participant NS_DECL_SIZEOF_EXCLUDING_THIS - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - virtual int32_t TabIndexDefault() MOZ_OVERRIDE; // nsIDOMHTMLAreaElement @@ -79,8 +70,6 @@ public: virtual nsEventStates IntrinsicState() const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } - // WebIDL // The XPCOM GetAlt is OK for us diff --git a/content/html/content/src/HTMLAudioElement.cpp b/content/html/content/src/HTMLAudioElement.cpp index 30647a7aa796..d4ccd7757b58 100644 --- a/content/html/content/src/HTMLAudioElement.cpp +++ b/content/html/content/src/HTMLAudioElement.cpp @@ -30,16 +30,9 @@ NS_IMPL_NS_NEW_HTML_ELEMENT(Audio) namespace mozilla { namespace dom { -NS_IMPL_ADDREF_INHERITED(HTMLAudioElement, HTMLMediaElement) -NS_IMPL_RELEASE_INHERITED(HTMLAudioElement, HTMLMediaElement) - -NS_INTERFACE_TABLE_HEAD(HTMLAudioElement) - NS_HTML_CONTENT_INTERFACES(HTMLMediaElement) - NS_INTERFACE_TABLE_INHERITED4(HTMLAudioElement, nsIDOMHTMLMediaElement, - nsIDOMHTMLAudioElement, nsITimerCallback, - nsIAudioChannelAgentCallback) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END +NS_IMPL_ISUPPORTS_INHERITED4(HTMLAudioElement, HTMLMediaElement, + nsIDOMHTMLMediaElement, nsIDOMHTMLAudioElement, + nsITimerCallback, nsIAudioChannelAgentCallback) NS_IMPL_ELEMENT_CLONE(HTMLAudioElement) diff --git a/content/html/content/src/HTMLBRElement.cpp b/content/html/content/src/HTMLBRElement.cpp index eac0ebbfd2ee..0bdfe5ef6cbb 100644 --- a/content/html/content/src/HTMLBRElement.cpp +++ b/content/html/content/src/HTMLBRElement.cpp @@ -27,17 +27,8 @@ HTMLBRElement::~HTMLBRElement() { } -NS_IMPL_ADDREF_INHERITED(HTMLBRElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLBRElement, Element) - - -// QueryInterface implementation for HTMLBRElement -NS_INTERFACE_TABLE_HEAD(HTMLBRElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) - NS_INTERFACE_TABLE_INHERITED1(HTMLBRElement, nsIDOMHTMLBRElement) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END - +NS_IMPL_ISUPPORTS_INHERITED1(HTMLBRElement, nsGenericHTMLElement, + nsIDOMHTMLBRElement) NS_IMPL_ELEMENT_CLONE(HTMLBRElement) diff --git a/content/html/content/src/HTMLBRElement.h b/content/html/content/src/HTMLBRElement.h index c7b2c6534d7a..8cf718ff8b20 100644 --- a/content/html/content/src/HTMLBRElement.h +++ b/content/html/content/src/HTMLBRElement.h @@ -24,15 +24,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - // nsIDOMHTMLBRElement NS_DECL_NSIDOMHTMLBRELEMENT @@ -43,7 +34,6 @@ public: NS_IMETHOD_(bool) IsAttributeMapped(const nsIAtom* aAttribute) const MOZ_OVERRIDE; virtual nsMapRuleToAttributesFunc GetAttributeMappingFunction() const MOZ_OVERRIDE; virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } bool Clear() { diff --git a/content/html/content/src/HTMLBodyElement.cpp b/content/html/content/src/HTMLBodyElement.cpp index 8d2867d73a6d..7e4ee3796607 100644 --- a/content/html/content/src/HTMLBodyElement.cpp +++ b/content/html/content/src/HTMLBodyElement.cpp @@ -199,15 +199,8 @@ HTMLBodyElement::WrapNode(JSContext *aCx, JS::Handle aScope) return HTMLBodyElementBinding::Wrap(aCx, aScope, this); } -NS_IMPL_ADDREF_INHERITED(HTMLBodyElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLBodyElement, Element) - -// QueryInterface implementation for HTMLBodyElement -NS_INTERFACE_TABLE_HEAD(HTMLBodyElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) - NS_INTERFACE_TABLE_INHERITED1(HTMLBodyElement, nsIDOMHTMLBodyElement) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END +NS_IMPL_ISUPPORTS_INHERITED1(HTMLBodyElement, nsGenericHTMLElement, + nsIDOMHTMLBodyElement) NS_IMPL_ELEMENT_CLONE(HTMLBodyElement) diff --git a/content/html/content/src/HTMLBodyElement.h b/content/html/content/src/HTMLBodyElement.h index c2d7a3c05565..5db7abfd091d 100644 --- a/content/html/content/src/HTMLBodyElement.h +++ b/content/html/content/src/HTMLBodyElement.h @@ -49,15 +49,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - // nsIDOMHTMLBodyElement NS_DECL_NSIDOMHTMLBODYELEMENT @@ -141,7 +132,6 @@ public: NS_IMETHOD_(bool) IsAttributeMapped(const nsIAtom* aAttribute) const MOZ_OVERRIDE; virtual already_AddRefed GetAssociatedEditor() MOZ_OVERRIDE; virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } virtual bool IsEventAttributeName(nsIAtom* aName) MOZ_OVERRIDE; diff --git a/content/html/content/src/HTMLButtonElement.cpp b/content/html/content/src/HTMLButtonElement.cpp index 9195c896c596..0257cd63478a 100644 --- a/content/html/content/src/HTMLButtonElement.cpp +++ b/content/html/content/src/HTMLButtonElement.cpp @@ -83,12 +83,10 @@ NS_IMPL_RELEASE_INHERITED(HTMLButtonElement, Element) // QueryInterface implementation for HTMLButtonElement NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(HTMLButtonElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLFormElementWithState) NS_INTERFACE_TABLE_INHERITED2(HTMLButtonElement, nsIDOMHTMLButtonElement, nsIConstraintValidation) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END +NS_INTERFACE_TABLE_TAIL_INHERITING(nsGenericHTMLFormElementWithState) // nsIConstraintValidation NS_IMPL_NSICONSTRAINTVALIDATION(HTMLButtonElement) diff --git a/content/html/content/src/HTMLButtonElement.h b/content/html/content/src/HTMLButtonElement.h index 438e038edd8c..6d10734783d3 100644 --- a/content/html/content/src/HTMLButtonElement.h +++ b/content/html/content/src/HTMLButtonElement.h @@ -31,17 +31,10 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - virtual int32_t TabIndexDefault() MOZ_OVERRIDE; + NS_IMPL_FROMCONTENT_HTML_WITH_TAG(HTMLButtonElement, button) + // nsIDOMHTMLButtonElement NS_DECL_NSIDOMHTMLBUTTONELEMENT @@ -59,7 +52,6 @@ public: // nsINode virtual nsresult Clone(nsINodeInfo* aNodeInfo, nsINode** aResult) const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } virtual JSObject* WrapNode(JSContext* aCx, JS::Handle aScope) MOZ_OVERRIDE; diff --git a/content/html/content/src/HTMLCanvasElement.cpp b/content/html/content/src/HTMLCanvasElement.cpp index 28a4d30994b2..a95cf2ab0269 100644 --- a/content/html/content/src/HTMLCanvasElement.cpp +++ b/content/html/content/src/HTMLCanvasElement.cpp @@ -164,12 +164,10 @@ NS_IMPL_ADDREF_INHERITED(HTMLCanvasElement, Element) NS_IMPL_RELEASE_INHERITED(HTMLCanvasElement, Element) NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(HTMLCanvasElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) NS_INTERFACE_TABLE_INHERITED2(HTMLCanvasElement, nsIDOMHTMLCanvasElement, nsICanvasElementExternal) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END +NS_INTERFACE_TABLE_TAIL_INHERITING(nsGenericHTMLElement) NS_IMPL_ELEMENT_CLONE(HTMLCanvasElement) diff --git a/content/html/content/src/HTMLDataElement.cpp b/content/html/content/src/HTMLDataElement.cpp index ac9612b8a3cf..7490db37e7ff 100644 --- a/content/html/content/src/HTMLDataElement.cpp +++ b/content/html/content/src/HTMLDataElement.cpp @@ -21,13 +21,6 @@ HTMLDataElement::~HTMLDataElement() { } -NS_IMPL_ADDREF_INHERITED(HTMLDataElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLDataElement, Element) - -NS_INTERFACE_MAP_BEGIN(HTMLDataElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) -NS_ELEMENT_INTERFACE_MAP_END - NS_IMPL_ELEMENT_CLONE(HTMLDataElement) JSObject* diff --git a/content/html/content/src/HTMLDataElement.h b/content/html/content/src/HTMLDataElement.h index 8a5f356b850d..87e769330224 100644 --- a/content/html/content/src/HTMLDataElement.h +++ b/content/html/content/src/HTMLDataElement.h @@ -14,25 +14,12 @@ namespace mozilla { namespace dom { -class HTMLDataElement MOZ_FINAL : public nsGenericHTMLElement, - public nsIDOMHTMLElement +class HTMLDataElement MOZ_FINAL : public nsGenericHTMLElement { public: HTMLDataElement(already_AddRefed aNodeInfo); virtual ~HTMLDataElement(); - // nsISupports - NS_DECL_ISUPPORTS_INHERITED - - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - // HTMLDataElement WebIDL void GetValue(nsAString& aValue) { @@ -47,7 +34,6 @@ public: virtual void GetItemValueText(nsAString& text) MOZ_OVERRIDE; virtual void SetItemValueText(const nsAString& text) MOZ_OVERRIDE; virtual nsresult Clone(nsINodeInfo* aNodeInfo, nsINode** aResult) const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } protected: virtual JSObject* WrapNode(JSContext* aCx, diff --git a/content/html/content/src/HTMLDataListElement.cpp b/content/html/content/src/HTMLDataListElement.cpp index 2d136191c253..3b722c35999b 100644 --- a/content/html/content/src/HTMLDataListElement.cpp +++ b/content/html/content/src/HTMLDataListElement.cpp @@ -28,8 +28,7 @@ NS_IMPL_ADDREF_INHERITED(HTMLDataListElement, Element) NS_IMPL_RELEASE_INHERITED(HTMLDataListElement, Element) NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(HTMLDataListElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) -NS_ELEMENT_INTERFACE_MAP_END +NS_INTERFACE_MAP_END_INHERITING(nsGenericHTMLElement) NS_IMPL_ELEMENT_CLONE(HTMLDataListElement) diff --git a/content/html/content/src/HTMLDataListElement.h b/content/html/content/src/HTMLDataListElement.h index a38c1942f0eb..8924f935efce 100644 --- a/content/html/content/src/HTMLDataListElement.h +++ b/content/html/content/src/HTMLDataListElement.h @@ -12,8 +12,7 @@ namespace mozilla { namespace dom { -class HTMLDataListElement MOZ_FINAL : public nsGenericHTMLElement, - public nsIDOMHTMLElement +class HTMLDataListElement MOZ_FINAL : public nsGenericHTMLElement { public: HTMLDataListElement(already_AddRefed aNodeInfo) @@ -25,15 +24,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - nsContentList* Options() { if (!mOptions) { @@ -52,8 +42,6 @@ public: NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(HTMLDataListElement, nsGenericHTMLElement) - - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } protected: virtual JSObject* WrapNode(JSContext *aCx, JS::Handle aScope) MOZ_OVERRIDE; diff --git a/content/html/content/src/HTMLDivElement.cpp b/content/html/content/src/HTMLDivElement.cpp index 4204a5acb47f..1477cd53d9bd 100644 --- a/content/html/content/src/HTMLDivElement.cpp +++ b/content/html/content/src/HTMLDivElement.cpp @@ -20,15 +20,8 @@ HTMLDivElement::~HTMLDivElement() { } -NS_IMPL_ADDREF_INHERITED(HTMLDivElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLDivElement, Element) - -// QueryInterface implementation for HTMLDivElement -NS_INTERFACE_TABLE_HEAD(HTMLDivElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) - NS_INTERFACE_TABLE_INHERITED1(HTMLDivElement, nsIDOMHTMLDivElement) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END +NS_IMPL_ISUPPORTS_INHERITED1(HTMLDivElement, nsGenericHTMLElement, + nsIDOMHTMLDivElement) NS_IMPL_ELEMENT_CLONE(HTMLDivElement) diff --git a/content/html/content/src/HTMLDivElement.h b/content/html/content/src/HTMLDivElement.h index 5e994a1c5ec4..6e3fbbbdf9a6 100644 --- a/content/html/content/src/HTMLDivElement.h +++ b/content/html/content/src/HTMLDivElement.h @@ -25,15 +25,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - // nsIDOMHTMLDivElement NS_IMETHOD GetAlign(nsAString& aAlign) MOZ_OVERRIDE { @@ -66,8 +57,6 @@ public: virtual nsMapRuleToAttributesFunc GetAttributeMappingFunction() const MOZ_OVERRIDE; virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } - protected: virtual JSObject* WrapNode(JSContext *aCx, JS::Handle aScope) MOZ_OVERRIDE; diff --git a/content/html/content/src/HTMLElement.cpp b/content/html/content/src/HTMLElement.cpp index 35b5ecbc3036..f6c675dc3bcb 100644 --- a/content/html/content/src/HTMLElement.cpp +++ b/content/html/content/src/HTMLElement.cpp @@ -10,33 +10,19 @@ namespace mozilla { namespace dom { -class HTMLElement MOZ_FINAL : public nsGenericHTMLElement, - public nsIDOMHTMLElement +class HTMLElement MOZ_FINAL : public nsGenericHTMLElement { public: HTMLElement(already_AddRefed aNodeInfo); virtual ~HTMLElement(); - // nsISupports - NS_DECL_ISUPPORTS_INHERITED - - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - + using nsGenericHTMLElement::GetInnerHTML; virtual void GetInnerHTML(nsAString& aInnerHTML, mozilla::ErrorResult& aError) MOZ_OVERRIDE; virtual nsresult Clone(nsINodeInfo* aNodeInfo, nsINode** aResult) const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() { return this; } - protected: virtual JSObject* WrapNode(JSContext *aCx, JS::Handle aScope) MOZ_OVERRIDE; @@ -51,13 +37,6 @@ HTMLElement::~HTMLElement() { } -NS_IMPL_ADDREF_INHERITED(HTMLElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLElement, Element) - -NS_INTERFACE_MAP_BEGIN(HTMLElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) -NS_ELEMENT_INTERFACE_MAP_END - NS_IMPL_ELEMENT_CLONE(HTMLElement) void diff --git a/content/html/content/src/HTMLFieldSetElement.cpp b/content/html/content/src/HTMLFieldSetElement.cpp index 0798efd3f396..a1dcf7aaa7df 100644 --- a/content/html/content/src/HTMLFieldSetElement.cpp +++ b/content/html/content/src/HTMLFieldSetElement.cpp @@ -43,12 +43,10 @@ NS_IMPL_RELEASE_INHERITED(HTMLFieldSetElement, Element) // QueryInterface implementation for HTMLFieldSetElement NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(HTMLFieldSetElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLFormElement) NS_INTERFACE_TABLE_INHERITED2(HTMLFieldSetElement, nsIDOMHTMLFieldSetElement, nsIConstraintValidation) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END +NS_INTERFACE_TABLE_TAIL_INHERITING(nsGenericHTMLFormElement) NS_IMPL_ELEMENT_CLONE(HTMLFieldSetElement) diff --git a/content/html/content/src/HTMLFieldSetElement.h b/content/html/content/src/HTMLFieldSetElement.h index c484d4d4e85e..5d90b802334a 100644 --- a/content/html/content/src/HTMLFieldSetElement.h +++ b/content/html/content/src/HTMLFieldSetElement.h @@ -34,15 +34,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - // nsIDOMHTMLFieldSetElement NS_DECL_NSIDOMHTMLFIELDSETELEMENT @@ -61,7 +52,6 @@ public: NS_IMETHOD SubmitNamesValues(nsFormSubmission* aFormSubmission) MOZ_OVERRIDE; virtual bool IsDisabledForEvents(uint32_t aMessage) MOZ_OVERRIDE; virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } const nsIContent* GetFirstLegend() const { return mFirstLegend; } diff --git a/content/html/content/src/HTMLFontElement.cpp b/content/html/content/src/HTMLFontElement.cpp index 31eba84d3a89..dd104d14b5f3 100644 --- a/content/html/content/src/HTMLFontElement.cpp +++ b/content/html/content/src/HTMLFontElement.cpp @@ -27,15 +27,6 @@ HTMLFontElement::WrapNode(JSContext *aCx, JS::Handle aScope) return HTMLFontElementBinding::Wrap(aCx, aScope, this); } -NS_IMPL_ADDREF_INHERITED(HTMLFontElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLFontElement, Element) - -// QueryInterface implementation for HTMLFontElement -NS_INTERFACE_MAP_BEGIN(HTMLFontElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) -NS_ELEMENT_INTERFACE_MAP_END - - NS_IMPL_ELEMENT_CLONE(HTMLFontElement) bool diff --git a/content/html/content/src/HTMLFontElement.h b/content/html/content/src/HTMLFontElement.h index 0bb6a50a3869..814448efdfb0 100644 --- a/content/html/content/src/HTMLFontElement.h +++ b/content/html/content/src/HTMLFontElement.h @@ -11,8 +11,7 @@ namespace mozilla { namespace dom { -class HTMLFontElement MOZ_FINAL : public nsGenericHTMLElement, - public nsIDOMHTMLElement +class HTMLFontElement MOZ_FINAL : public nsGenericHTMLElement { public: HTMLFontElement(already_AddRefed aNodeInfo) @@ -21,18 +20,6 @@ public: } virtual ~HTMLFontElement(); - // nsISupports - NS_DECL_ISUPPORTS_INHERITED - - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - void GetColor(nsString& aColor) { GetHTMLAttr(nsGkAtoms::color, aColor); @@ -65,7 +52,6 @@ public: NS_IMETHOD_(bool) IsAttributeMapped(const nsIAtom* aAttribute) const MOZ_OVERRIDE; virtual nsMapRuleToAttributesFunc GetAttributeMappingFunction() const MOZ_OVERRIDE; virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } protected: virtual JSObject* WrapNode(JSContext *aCx, diff --git a/content/html/content/src/HTMLFormElement.cpp b/content/html/content/src/HTMLFormElement.cpp index 06d28af04ffa..5360c6eb0fff 100644 --- a/content/html/content/src/HTMLFormElement.cpp +++ b/content/html/content/src/HTMLFormElement.cpp @@ -328,14 +328,12 @@ NS_IMPL_RELEASE_INHERITED(HTMLFormElement, Element) // QueryInterface implementation for HTMLFormElement NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(HTMLFormElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) NS_INTERFACE_TABLE_INHERITED4(HTMLFormElement, nsIDOMHTMLFormElement, nsIForm, nsIWebProgressListener, nsIRadioGroupContainer) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END +NS_INTERFACE_TABLE_TAIL_INHERITING(nsGenericHTMLElement) // nsIDOMHTMLFormElement @@ -1860,12 +1858,11 @@ HTMLFormElement::CheckFormValidity(nsIMutableArray* aInvalidElements) const // Hold a reference to the elements so they can't be deleted while calling // the invalid events. for (uint32_t i = 0; i < len; ++i) { - static_cast(sortedControls[i])->AddRef(); + sortedControls[i]->AddRef(); } for (uint32_t i = 0; i < len; ++i) { - nsCOMPtr cvElmt = - do_QueryInterface((nsGenericHTMLElement*)sortedControls[i]); + nsCOMPtr cvElmt = do_QueryObject(sortedControls[i]); if (cvElmt && cvElmt->IsCandidateForConstraintValidation() && !cvElmt->IsValid()) { ret = false; @@ -1878,7 +1875,7 @@ HTMLFormElement::CheckFormValidity(nsIMutableArray* aInvalidElements) const // Add all unhandled invalid controls to aInvalidElements if the caller // requested them. if (defaultAction && aInvalidElements) { - aInvalidElements->AppendElement((nsGenericHTMLElement*)sortedControls[i], + aInvalidElements->AppendElement(ToSupports(sortedControls[i]), false); } } diff --git a/content/html/content/src/HTMLFormElement.h b/content/html/content/src/HTMLFormElement.h index 913a89a8d104..867530c37227 100644 --- a/content/html/content/src/HTMLFormElement.h +++ b/content/html/content/src/HTMLFormElement.h @@ -52,15 +52,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - // nsIDOMHTMLFormElement NS_DECL_NSIDOMHTMLFORMELEMENT @@ -282,8 +273,6 @@ public: */ bool CheckValidFormSubmission(); - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } - /** * Walk over the form elements and call SubmitNamesValues() on them to get * their data pumped into the FormSubmitter. diff --git a/content/html/content/src/HTMLFrameElement.cpp b/content/html/content/src/HTMLFrameElement.cpp index cbc9f461bc7d..6b29f90cc274 100644 --- a/content/html/content/src/HTMLFrameElement.cpp +++ b/content/html/content/src/HTMLFrameElement.cpp @@ -25,17 +25,8 @@ HTMLFrameElement::~HTMLFrameElement() } -NS_IMPL_ADDREF_INHERITED(HTMLFrameElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLFrameElement, Element) - - -// QueryInterface implementation for HTMLFrameElement -NS_INTERFACE_TABLE_HEAD(HTMLFrameElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLFrameElement) - NS_INTERFACE_TABLE_INHERITED1(HTMLFrameElement, nsIDOMHTMLFrameElement) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END - +NS_IMPL_ISUPPORTS_INHERITED1(HTMLFrameElement, nsGenericHTMLFrameElement, + nsIDOMHTMLFrameElement) NS_IMPL_ELEMENT_CLONE(HTMLFrameElement) diff --git a/content/html/content/src/HTMLFrameElement.h b/content/html/content/src/HTMLFrameElement.h index da06b9bf009d..ef2dfeebd6ef 100644 --- a/content/html/content/src/HTMLFrameElement.h +++ b/content/html/content/src/HTMLFrameElement.h @@ -29,15 +29,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - // nsIDOMHTMLFrameElement NS_DECL_NSIDOMHTMLFRAMEELEMENT @@ -49,7 +40,6 @@ public: NS_IMETHOD_(bool) IsAttributeMapped(const nsIAtom* aAttribute) const MOZ_OVERRIDE; nsMapRuleToAttributesFunc GetAttributeMappingFunction() const MOZ_OVERRIDE; virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } // WebIDL API // The XPCOM GetFrameBorder is OK for us diff --git a/content/html/content/src/HTMLFrameSetElement.cpp b/content/html/content/src/HTMLFrameSetElement.cpp index abf4e25d32bd..c7840dcb8911 100644 --- a/content/html/content/src/HTMLFrameSetElement.cpp +++ b/content/html/content/src/HTMLFrameSetElement.cpp @@ -23,17 +23,8 @@ HTMLFrameSetElement::WrapNode(JSContext *aCx, JS::Handle aScope) return HTMLFrameSetElementBinding::Wrap(aCx, aScope, this); } -NS_IMPL_ADDREF_INHERITED(HTMLFrameSetElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLFrameSetElement, Element) - -// QueryInterface implementation for HTMLFrameSetElement -NS_INTERFACE_TABLE_HEAD(HTMLFrameSetElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) - NS_INTERFACE_TABLE_INHERITED1(HTMLFrameSetElement, - nsIDOMHTMLFrameSetElement) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END - +NS_IMPL_ISUPPORTS_INHERITED1(HTMLFrameSetElement, nsGenericHTMLElement, + nsIDOMHTMLFrameSetElement) NS_IMPL_ELEMENT_CLONE(HTMLFrameSetElement) diff --git a/content/html/content/src/HTMLFrameSetElement.h b/content/html/content/src/HTMLFrameSetElement.h index 2a82c82e7028..c1fe9c77d326 100644 --- a/content/html/content/src/HTMLFrameSetElement.h +++ b/content/html/content/src/HTMLFrameSetElement.h @@ -60,15 +60,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - // nsIDOMHTMLFrameSetElement NS_DECL_NSIDOMHTMLFRAMESETELEMENT @@ -148,7 +139,6 @@ public: int32_t aModType) const MOZ_OVERRIDE; virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } protected: virtual JSObject* WrapNode(JSContext *aCx, diff --git a/content/html/content/src/HTMLHRElement.cpp b/content/html/content/src/HTMLHRElement.cpp index b35108408eba..5dfa46b30fb4 100644 --- a/content/html/content/src/HTMLHRElement.cpp +++ b/content/html/content/src/HTMLHRElement.cpp @@ -20,17 +20,8 @@ HTMLHRElement::~HTMLHRElement() { } -NS_IMPL_ADDREF_INHERITED(HTMLHRElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLHRElement, Element) - -// QueryInterface implementation for HTMLHRElement -NS_INTERFACE_TABLE_HEAD(HTMLHRElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) - NS_INTERFACE_TABLE_INHERITED1(HTMLHRElement, - nsIDOMHTMLHRElement) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END - +NS_IMPL_ISUPPORTS_INHERITED1(HTMLHRElement, nsGenericHTMLElement, + nsIDOMHTMLHRElement) NS_IMPL_ELEMENT_CLONE(HTMLHRElement) diff --git a/content/html/content/src/HTMLHRElement.h b/content/html/content/src/HTMLHRElement.h index 7c3a5d0b13fb..948a23ae7de2 100644 --- a/content/html/content/src/HTMLHRElement.h +++ b/content/html/content/src/HTMLHRElement.h @@ -26,15 +26,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - // nsIDOMHTMLHRElement NS_DECL_NSIDOMHTMLHRELEMENT @@ -45,7 +36,6 @@ public: NS_IMETHOD_(bool) IsAttributeMapped(const nsIAtom* aAttribute) const MOZ_OVERRIDE; virtual nsMapRuleToAttributesFunc GetAttributeMappingFunction() const MOZ_OVERRIDE; virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } // WebIDL API void SetAlign(const nsAString& aAlign, ErrorResult& aError) diff --git a/content/html/content/src/HTMLHeadingElement.cpp b/content/html/content/src/HTMLHeadingElement.cpp index d5982bbc4867..09c56998cf09 100644 --- a/content/html/content/src/HTMLHeadingElement.cpp +++ b/content/html/content/src/HTMLHeadingElement.cpp @@ -22,17 +22,8 @@ HTMLHeadingElement::~HTMLHeadingElement() { } -NS_IMPL_ADDREF_INHERITED(HTMLHeadingElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLHeadingElement, Element) - -// QueryInterface implementation for HTMLHeadingElement -NS_INTERFACE_TABLE_HEAD(HTMLHeadingElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) - NS_INTERFACE_TABLE_INHERITED1(HTMLHeadingElement, - nsIDOMHTMLHeadingElement) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END - +NS_IMPL_ISUPPORTS_INHERITED1(HTMLHeadingElement, nsGenericHTMLElement, + nsIDOMHTMLHeadingElement) NS_IMPL_ELEMENT_CLONE(HTMLHeadingElement) diff --git a/content/html/content/src/HTMLHeadingElement.h b/content/html/content/src/HTMLHeadingElement.h index 74ba22b9347c..1915b52b3b9e 100644 --- a/content/html/content/src/HTMLHeadingElement.h +++ b/content/html/content/src/HTMLHeadingElement.h @@ -26,15 +26,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - // nsIDOMHTMLHeadingElement NS_DECL_NSIDOMHTMLHEADINGELEMENT @@ -45,7 +36,6 @@ public: NS_IMETHOD_(bool) IsAttributeMapped(const nsIAtom* aAttribute) const MOZ_OVERRIDE; nsMapRuleToAttributesFunc GetAttributeMappingFunction() const MOZ_OVERRIDE; virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } // The XPCOM versions of GetAlign and SetAlign are fine for us for // use from WebIDL. diff --git a/content/html/content/src/HTMLIFrameElement.cpp b/content/html/content/src/HTMLIFrameElement.cpp index c78d375678d7..a116f5c394c8 100644 --- a/content/html/content/src/HTMLIFrameElement.cpp +++ b/content/html/content/src/HTMLIFrameElement.cpp @@ -29,16 +29,8 @@ HTMLIFrameElement::~HTMLIFrameElement() { } -NS_IMPL_ADDREF_INHERITED(HTMLIFrameElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLIFrameElement, Element) - -// QueryInterface implementation for HTMLIFrameElement -NS_INTERFACE_TABLE_HEAD(HTMLIFrameElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLFrameElement) - NS_INTERFACE_TABLE_INHERITED1(HTMLIFrameElement, - nsIDOMHTMLIFrameElement) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END +NS_IMPL_ISUPPORTS_INHERITED1(HTMLIFrameElement, nsGenericHTMLFrameElement, + nsIDOMHTMLIFrameElement) NS_IMPL_ELEMENT_CLONE(HTMLIFrameElement) diff --git a/content/html/content/src/HTMLIFrameElement.h b/content/html/content/src/HTMLIFrameElement.h index 8300a9d79289..e9450379aafd 100644 --- a/content/html/content/src/HTMLIFrameElement.h +++ b/content/html/content/src/HTMLIFrameElement.h @@ -26,15 +26,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - // nsIDOMHTMLIFrameElement NS_DECL_NSIDOMHTMLIFRAMEELEMENT @@ -47,7 +38,6 @@ public: virtual nsMapRuleToAttributesFunc GetAttributeMappingFunction() const MOZ_OVERRIDE; virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } nsresult SetAttr(int32_t aNameSpaceID, nsIAtom* aName, const nsAString& aValue, bool aNotify) diff --git a/content/html/content/src/HTMLImageElement.cpp b/content/html/content/src/HTMLImageElement.cpp index e94cbcf1af30..c426fd8838e1 100644 --- a/content/html/content/src/HTMLImageElement.cpp +++ b/content/html/content/src/HTMLImageElement.cpp @@ -66,14 +66,12 @@ NS_IMPL_RELEASE_INHERITED(HTMLImageElement, Element) // QueryInterface implementation for HTMLImageElement NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(HTMLImageElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) NS_INTERFACE_TABLE_INHERITED4(HTMLImageElement, nsIDOMHTMLImageElement, nsIImageLoadingContent, imgIOnloadBlocker, imgINotificationObserver) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END +NS_INTERFACE_TABLE_TAIL_INHERITING(nsGenericHTMLElement) NS_IMPL_ELEMENT_CLONE(HTMLImageElement) diff --git a/content/html/content/src/HTMLImageElement.h b/content/html/content/src/HTMLImageElement.h index 1a859116210e..f280085daa80 100644 --- a/content/html/content/src/HTMLImageElement.h +++ b/content/html/content/src/HTMLImageElement.h @@ -31,15 +31,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - virtual bool Draggable() const MOZ_OVERRIDE; // nsIDOMHTMLImageElement @@ -86,7 +77,6 @@ public: nsresult CopyInnerTo(Element* aDest); void MaybeLoadImage(); - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } bool IsMap() { diff --git a/content/html/content/src/HTMLInputElement.cpp b/content/html/content/src/HTMLInputElement.cpp index 3df1ed570d1f..a1dfbbccb2a5 100644 --- a/content/html/content/src/HTMLInputElement.cpp +++ b/content/html/content/src/HTMLInputElement.cpp @@ -854,7 +854,6 @@ NS_IMPL_RELEASE_INHERITED(HTMLInputElement, Element) // QueryInterface implementation for HTMLInputElement NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(HTMLInputElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLFormElementWithState) NS_INTERFACE_TABLE_INHERITED8(HTMLInputElement, nsIDOMHTMLInputElement, nsITextControlElement, @@ -864,8 +863,7 @@ NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(HTMLInputElement) imgIOnloadBlocker, nsIDOMNSEditableElement, nsIConstraintValidation) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END +NS_INTERFACE_TABLE_TAIL_INHERITING(nsGenericHTMLFormElementWithState) // nsIConstraintValidation NS_IMPL_NSICONSTRAINTVALIDATION_EXCEPT_SETCUSTOMVALIDITY(HTMLInputElement) @@ -3119,7 +3117,8 @@ HTMLInputElement::PostHandleEvent(nsEventChainPostVisitor& aVisitor) nsCOMPtr radioContent = do_QueryInterface(selectedRadioButton); if (radioContent) { - rv = selectedRadioButton->Focus(); + nsCOMPtr elem = do_QueryInterface(selectedRadioButton); + rv = elem->Focus(); if (NS_SUCCEEDED(rv)) { nsEventStatus status = nsEventStatus_eIgnore; nsMouseEvent event(aVisitor.mEvent->mFlags.mIsTrusted, diff --git a/content/html/content/src/HTMLInputElement.h b/content/html/content/src/HTMLInputElement.h index eae3e805d5d1..7468ac12593b 100644 --- a/content/html/content/src/HTMLInputElement.h +++ b/content/html/content/src/HTMLInputElement.h @@ -101,15 +101,8 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC virtual int32_t TabIndexDefault() MOZ_OVERRIDE; + using nsGenericHTMLElement::Focus; virtual void Focus(ErrorResult& aError) MOZ_OVERRIDE; // nsIDOMHTMLInputElement @@ -233,8 +226,6 @@ public: void MaybeLoadImage(); - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } - // nsIConstraintValidation bool IsTooLong(); bool IsValueMissing() const; diff --git a/content/html/content/src/HTMLLIElement.cpp b/content/html/content/src/HTMLLIElement.cpp index 7587fd4e6608..5a064467917d 100644 --- a/content/html/content/src/HTMLLIElement.cpp +++ b/content/html/content/src/HTMLLIElement.cpp @@ -21,16 +21,8 @@ HTMLLIElement::~HTMLLIElement() { } -NS_IMPL_ADDREF_INHERITED(HTMLLIElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLLIElement, Element) - - -// QueryInterface implementation for nsHTMLLIElement -NS_INTERFACE_TABLE_HEAD(HTMLLIElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) - NS_INTERFACE_TABLE_INHERITED1(HTMLLIElement, nsIDOMHTMLLIElement) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END +NS_IMPL_ISUPPORTS_INHERITED1(HTMLLIElement, nsGenericHTMLElement, + nsIDOMHTMLLIElement) NS_IMPL_ELEMENT_CLONE(HTMLLIElement) diff --git a/content/html/content/src/HTMLLIElement.h b/content/html/content/src/HTMLLIElement.h index d26810d9b7f6..582810a1dd1e 100644 --- a/content/html/content/src/HTMLLIElement.h +++ b/content/html/content/src/HTMLLIElement.h @@ -27,15 +27,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - // nsIDOMHTMLLIElement NS_DECL_NSIDOMHTMLLIELEMENT @@ -46,7 +37,6 @@ public: NS_IMETHOD_(bool) IsAttributeMapped(const nsIAtom* aAttribute) const MOZ_OVERRIDE; virtual nsMapRuleToAttributesFunc GetAttributeMappingFunction() const MOZ_OVERRIDE; virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } // WebIDL API void GetType(nsString& aType) diff --git a/content/html/content/src/HTMLLabelElement.cpp b/content/html/content/src/HTMLLabelElement.cpp index 2074c7021cec..be2ea171820e 100644 --- a/content/html/content/src/HTMLLabelElement.cpp +++ b/content/html/content/src/HTMLLabelElement.cpp @@ -30,18 +30,8 @@ HTMLLabelElement::WrapNode(JSContext *aCx, JS::Handle aScope) // nsISupports - -NS_IMPL_ADDREF_INHERITED(HTMLLabelElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLLabelElement, Element) - -// QueryInterface implementation for HTMLLabelElement -NS_INTERFACE_TABLE_HEAD(HTMLLabelElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLFormElement) - NS_INTERFACE_TABLE_INHERITED1(HTMLLabelElement, - nsIDOMHTMLLabelElement) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END - +NS_IMPL_ISUPPORTS_INHERITED1(HTMLLabelElement, nsGenericHTMLFormElement, + nsIDOMHTMLLabelElement) // nsIDOMHTMLLabelElement @@ -56,7 +46,7 @@ HTMLLabelElement::GetForm(nsIDOMHTMLFormElement** aForm) NS_IMETHODIMP HTMLLabelElement::GetControl(nsIDOMHTMLElement** aElement) { - nsCOMPtr element = do_QueryInterface(GetLabeledElement()); + nsCOMPtr element = do_QueryObject(GetLabeledElement()); element.forget(aElement); return NS_OK; } @@ -84,7 +74,7 @@ HTMLLabelElement::Focus(ErrorResult& aError) // retarget the focus method at the for content nsIFocusManager* fm = nsFocusManager::GetFocusManager(); if (fm) { - nsCOMPtr elem = do_QueryInterface(GetLabeledElement()); + nsCOMPtr elem = do_QueryObject(GetLabeledElement()); if (elem) fm->SetFocus(elem, 0); } diff --git a/content/html/content/src/HTMLLabelElement.h b/content/html/content/src/HTMLLabelElement.h index 00e6d65eea62..3bb5ff074b3c 100644 --- a/content/html/content/src/HTMLLabelElement.h +++ b/content/html/content/src/HTMLLabelElement.h @@ -32,18 +32,9 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - // nsIDOMHTMLLabelElement NS_DECL_NSIDOMHTMLLABELELEMENT - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - using nsGenericHTMLFormElement::GetForm; void GetHtmlFor(nsString& aHtmlFor) { @@ -58,6 +49,7 @@ public: return GetLabeledElement(); } + using nsGenericHTMLElement::Focus; virtual void Focus(mozilla::ErrorResult& aError) MOZ_OVERRIDE; // nsIFormControl @@ -73,8 +65,6 @@ public: bool aIsTrustedEvent) MOZ_OVERRIDE; virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } - nsGenericHTMLElement* GetLabeledElement() const; protected: virtual JSObject* WrapNode(JSContext *aCx, diff --git a/content/html/content/src/HTMLLegendElement.cpp b/content/html/content/src/HTMLLegendElement.cpp index 3381b8f6694d..c40a01bf05fb 100644 --- a/content/html/content/src/HTMLLegendElement.cpp +++ b/content/html/content/src/HTMLLegendElement.cpp @@ -19,17 +19,6 @@ HTMLLegendElement::~HTMLLegendElement() { } - -NS_IMPL_ADDREF_INHERITED(HTMLLegendElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLLegendElement, Element) - - -// QueryInterface implementation for HTMLLegendElement -NS_INTERFACE_MAP_BEGIN(HTMLLegendElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) -NS_ELEMENT_INTERFACE_MAP_END - - NS_IMPL_ELEMENT_CLONE(HTMLLegendElement) // this contains center, because IE4 does diff --git a/content/html/content/src/HTMLLegendElement.h b/content/html/content/src/HTMLLegendElement.h index 89a998aacf65..7fcfa8b87ebe 100644 --- a/content/html/content/src/HTMLLegendElement.h +++ b/content/html/content/src/HTMLLegendElement.h @@ -13,8 +13,7 @@ namespace mozilla { namespace dom { -class HTMLLegendElement MOZ_FINAL : public nsGenericHTMLElement, - public nsIDOMHTMLElement +class HTMLLegendElement MOZ_FINAL : public nsGenericHTMLElement { public: HTMLLegendElement(already_AddRefed aNodeInfo) @@ -25,18 +24,7 @@ public: NS_IMPL_FROMCONTENT_HTML_WITH_TAG(HTMLLegendElement, legend) - // nsISupports - NS_DECL_ISUPPORTS_INHERITED - - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - + using nsGenericHTMLElement::Focus; virtual void Focus(ErrorResult& aError) MOZ_OVERRIDE; virtual void PerformAccesskey(bool aKeyCausesActivation, @@ -74,8 +62,6 @@ public: return fieldsetControl ? fieldsetControl->GetFormElement() : nullptr; } - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } - /** * WebIDL Interface */ diff --git a/content/html/content/src/HTMLLinkElement.cpp b/content/html/content/src/HTMLLinkElement.cpp index c492a37c5523..b2350f949b4e 100644 --- a/content/html/content/src/HTMLLinkElement.cpp +++ b/content/html/content/src/HTMLLinkElement.cpp @@ -58,15 +58,13 @@ NS_IMPL_RELEASE_INHERITED(HTMLLinkElement, Element) // QueryInterface implementation for HTMLLinkElement NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(HTMLLinkElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) NS_INTERFACE_TABLE_INHERITED5(HTMLLinkElement, nsIDOMHTMLLinkElement, nsIDOMLinkStyle, nsILink, nsIStyleSheetLinkingElement, Link) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END +NS_INTERFACE_TABLE_TAIL_INHERITING(nsGenericHTMLElement) NS_IMPL_ELEMENT_CLONE(HTMLLinkElement) diff --git a/content/html/content/src/HTMLLinkElement.h b/content/html/content/src/HTMLLinkElement.h index c7dc846fbaf2..25a48fd3db7d 100644 --- a/content/html/content/src/HTMLLinkElement.h +++ b/content/html/content/src/HTMLLinkElement.h @@ -33,15 +33,6 @@ public: NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(HTMLLinkElement, nsGenericHTMLElement) - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - // nsIDOMHTMLLinkElement NS_DECL_NSIDOMHTMLLINKELEMENT @@ -58,7 +49,6 @@ public: // nsINode virtual nsresult Clone(nsINodeInfo* aNodeInfo, nsINode** aResult) const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } virtual JSObject* WrapNode(JSContext* aCx, JS::Handle aScope) MOZ_OVERRIDE; diff --git a/content/html/content/src/HTMLMapElement.cpp b/content/html/content/src/HTMLMapElement.cpp index e712b9b553f7..ada938cc5b4f 100644 --- a/content/html/content/src/HTMLMapElement.cpp +++ b/content/html/content/src/HTMLMapElement.cpp @@ -33,10 +33,8 @@ NS_IMPL_RELEASE_INHERITED(HTMLMapElement, Element) // QueryInterface implementation for HTMLMapElement NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(HTMLMapElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) NS_INTERFACE_TABLE_INHERITED1(HTMLMapElement, nsIDOMHTMLMapElement) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END +NS_INTERFACE_TABLE_TAIL_INHERITING(nsGenericHTMLElement) NS_IMPL_ELEMENT_CLONE(HTMLMapElement) diff --git a/content/html/content/src/HTMLMapElement.h b/content/html/content/src/HTMLMapElement.h index 5c2c18928731..6b9582994734 100644 --- a/content/html/content/src/HTMLMapElement.h +++ b/content/html/content/src/HTMLMapElement.h @@ -26,15 +26,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - // nsIDOMHTMLMapElement NS_DECL_NSIDOMHTMLMAPELEMENT @@ -43,8 +34,6 @@ public: NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED_NO_UNLINK(HTMLMapElement, nsGenericHTMLElement) - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } - // XPCOM GetName is fine. void SetName(const nsAString& aName, ErrorResult& aError) { diff --git a/content/html/content/src/HTMLMenuElement.cpp b/content/html/content/src/HTMLMenuElement.cpp index a9ed8e421db1..32debef6fcad 100644 --- a/content/html/content/src/HTMLMenuElement.cpp +++ b/content/html/content/src/HTMLMenuElement.cpp @@ -50,19 +50,8 @@ HTMLMenuElement::~HTMLMenuElement() { } - -NS_IMPL_ADDREF_INHERITED(HTMLMenuElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLMenuElement, Element) - - -// QueryInterface implementation for HTMLMenuElement -NS_INTERFACE_TABLE_HEAD(HTMLMenuElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) - NS_INTERFACE_TABLE_INHERITED2(HTMLMenuElement, - nsIDOMHTMLMenuElement, - nsIHTMLMenu) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END +NS_IMPL_ISUPPORTS_INHERITED2(HTMLMenuElement, nsGenericHTMLElement, + nsIDOMHTMLMenuElement, nsIHTMLMenu) NS_IMPL_ELEMENT_CLONE(HTMLMenuElement) diff --git a/content/html/content/src/HTMLMenuElement.h b/content/html/content/src/HTMLMenuElement.h index 8013a5e3c48f..8e46d15e2bf9 100644 --- a/content/html/content/src/HTMLMenuElement.h +++ b/content/html/content/src/HTMLMenuElement.h @@ -27,15 +27,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - // nsIDOMHTMLMenuElement NS_DECL_NSIDOMHTMLMENUELEMENT @@ -49,8 +40,6 @@ public: virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } - uint8_t GetType() const { return mType; } // WebIDL diff --git a/content/html/content/src/HTMLMenuItemElement.cpp b/content/html/content/src/HTMLMenuItemElement.cpp index 8974123fc6c2..ef4a23021130 100644 --- a/content/html/content/src/HTMLMenuItemElement.cpp +++ b/content/html/content/src/HTMLMenuItemElement.cpp @@ -169,17 +169,8 @@ HTMLMenuItemElement::~HTMLMenuItemElement() } -NS_IMPL_ADDREF_INHERITED(HTMLMenuItemElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLMenuItemElement, Element) - - -// QueryInterface implementation for HTMLMenuItemElement -NS_INTERFACE_TABLE_HEAD(HTMLMenuItemElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) - NS_INTERFACE_TABLE_INHERITED1(HTMLMenuItemElement, - nsIDOMHTMLMenuItemElement) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END +NS_IMPL_ISUPPORTS_INHERITED1(HTMLMenuItemElement, nsGenericHTMLElement, + nsIDOMHTMLMenuItemElement) //NS_IMPL_ELEMENT_CLONE(HTMLMenuItemElement) nsresult diff --git a/content/html/content/src/HTMLMenuItemElement.h b/content/html/content/src/HTMLMenuItemElement.h index 42df846a2632..471876e3bf48 100644 --- a/content/html/content/src/HTMLMenuItemElement.h +++ b/content/html/content/src/HTMLMenuItemElement.h @@ -30,15 +30,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - // nsIDOMHTMLMenuItemElement NS_DECL_NSIDOMHTMLMENUITEMELEMENT @@ -58,8 +49,6 @@ public: virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } - uint8_t GetType() const { return mType; } /** diff --git a/content/html/content/src/HTMLMetaElement.cpp b/content/html/content/src/HTMLMetaElement.cpp index 3e6de5cc9d0f..137d4bd8bdd9 100644 --- a/content/html/content/src/HTMLMetaElement.cpp +++ b/content/html/content/src/HTMLMetaElement.cpp @@ -24,17 +24,8 @@ HTMLMetaElement::~HTMLMetaElement() } -NS_IMPL_ADDREF_INHERITED(HTMLMetaElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLMetaElement, Element) - - -// QueryInterface implementation for HTMLMetaElement -NS_INTERFACE_TABLE_HEAD(HTMLMetaElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) - NS_INTERFACE_TABLE_INHERITED1(HTMLMetaElement, nsIDOMHTMLMetaElement) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END - +NS_IMPL_ISUPPORTS_INHERITED1(HTMLMetaElement, nsGenericHTMLElement, + nsIDOMHTMLMetaElement) NS_IMPL_ELEMENT_CLONE(HTMLMetaElement) diff --git a/content/html/content/src/HTMLMetaElement.h b/content/html/content/src/HTMLMetaElement.h index 1411fe54bcc7..5262eb58ec87 100644 --- a/content/html/content/src/HTMLMetaElement.h +++ b/content/html/content/src/HTMLMetaElement.h @@ -23,15 +23,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - // nsIDOMHTMLMetaElement NS_DECL_NSIDOMHTMLMETAELEMENT @@ -44,8 +35,6 @@ public: virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } - // XPCOM GetName is fine. void SetName(const nsAString& aName, ErrorResult& aRv) { diff --git a/content/html/content/src/HTMLMeterElement.cpp b/content/html/content/src/HTMLMeterElement.cpp index ae67d8fff838..3c5aaae79718 100644 --- a/content/html/content/src/HTMLMeterElement.cpp +++ b/content/html/content/src/HTMLMeterElement.cpp @@ -25,17 +25,8 @@ HTMLMeterElement::~HTMLMeterElement() { } -NS_IMPL_ADDREF_INHERITED(HTMLMeterElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLMeterElement, Element) - - -NS_INTERFACE_MAP_BEGIN(HTMLMeterElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) -NS_ELEMENT_INTERFACE_MAP_END - NS_IMPL_ELEMENT_CLONE(HTMLMeterElement) - nsEventStates HTMLMeterElement::IntrinsicState() const { diff --git a/content/html/content/src/HTMLMeterElement.h b/content/html/content/src/HTMLMeterElement.h index a4396abc041a..38ccdf41fa0c 100644 --- a/content/html/content/src/HTMLMeterElement.h +++ b/content/html/content/src/HTMLMeterElement.h @@ -17,25 +17,12 @@ namespace mozilla { namespace dom { -class HTMLMeterElement MOZ_FINAL : public nsGenericHTMLElement, - public nsIDOMHTMLElement +class HTMLMeterElement MOZ_FINAL : public nsGenericHTMLElement { public: HTMLMeterElement(already_AddRefed aNodeInfo); virtual ~HTMLMeterElement(); - /* nsISupports */ - NS_DECL_ISUPPORTS_INHERITED - - /* nsIDOMNode */ - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - /* nsIDOMElement */ - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - /* nsIDOMHTMLElement */ - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - virtual nsEventStates IntrinsicState() const MOZ_OVERRIDE; nsresult Clone(nsINodeInfo* aNodeInfo, nsINode** aResult) const MOZ_OVERRIDE; @@ -43,8 +30,6 @@ public: bool ParseAttribute(int32_t aNamespaceID, nsIAtom* aAttribute, const nsAString& aValue, nsAttrValue& aResult) MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } - // WebIDL /* @return the value */ diff --git a/content/html/content/src/HTMLModElement.cpp b/content/html/content/src/HTMLModElement.cpp index 811e92dd244e..af222edf4f57 100644 --- a/content/html/content/src/HTMLModElement.cpp +++ b/content/html/content/src/HTMLModElement.cpp @@ -21,16 +21,6 @@ HTMLModElement::~HTMLModElement() { } - -NS_IMPL_ADDREF_INHERITED(HTMLModElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLModElement, Element) - -// QueryInterface implementation for HTMLModElement -NS_INTERFACE_MAP_BEGIN(HTMLModElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) -NS_ELEMENT_INTERFACE_MAP_END - - NS_IMPL_ELEMENT_CLONE(HTMLModElement) JSObject* diff --git a/content/html/content/src/HTMLModElement.h b/content/html/content/src/HTMLModElement.h index 3ca9a9d79250..2b4832a158ab 100644 --- a/content/html/content/src/HTMLModElement.h +++ b/content/html/content/src/HTMLModElement.h @@ -13,29 +13,14 @@ namespace mozilla { namespace dom { -class HTMLModElement MOZ_FINAL : public nsGenericHTMLElement, - public nsIDOMHTMLElement +class HTMLModElement MOZ_FINAL : public nsGenericHTMLElement { public: HTMLModElement(already_AddRefed aNodeInfo); virtual ~HTMLModElement(); - // nsISupports - NS_DECL_ISUPPORTS_INHERITED - - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } - void GetCite(nsString& aCite) { GetHTMLURIAttr(nsGkAtoms::cite, aCite); diff --git a/content/html/content/src/HTMLObjectElement.cpp b/content/html/content/src/HTMLObjectElement.cpp index aa68b663cfc4..038c747e9306 100644 --- a/content/html/content/src/HTMLObjectElement.cpp +++ b/content/html/content/src/HTMLObjectElement.cpp @@ -80,7 +80,6 @@ NS_IMPL_ADDREF_INHERITED(HTMLObjectElement, Element) NS_IMPL_RELEASE_INHERITED(HTMLObjectElement, Element) NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(HTMLObjectElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLFormElement) NS_INTERFACE_TABLE_INHERITED10(HTMLObjectElement, nsIDOMHTMLObjectElement, imgINotificationObserver, @@ -92,8 +91,7 @@ NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(HTMLObjectElement) imgIOnloadBlocker, nsIChannelEventSink, nsIConstraintValidation) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END +NS_INTERFACE_TABLE_TAIL_INHERITING(nsGenericHTMLFormElement) NS_IMPL_ELEMENT_CLONE(HTMLObjectElement) diff --git a/content/html/content/src/HTMLObjectElement.h b/content/html/content/src/HTMLObjectElement.h index fd12feb1b722..dfaae7711ce7 100644 --- a/content/html/content/src/HTMLObjectElement.h +++ b/content/html/content/src/HTMLObjectElement.h @@ -29,15 +29,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - virtual int32_t TabIndexDefault() MOZ_OVERRIDE; // nsIDOMHTMLObjectElement @@ -92,8 +83,6 @@ public: NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(HTMLObjectElement, nsGenericHTMLFormElement) - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } - // Web IDL binding methods // XPCOM GetData is ok; note that it's a URI attribute with a weird base URI void SetData(const nsAString& aValue, ErrorResult& aRv) diff --git a/content/html/content/src/HTMLOptGroupElement.cpp b/content/html/content/src/HTMLOptGroupElement.cpp index fe7034a79cf2..07d7511f4d28 100644 --- a/content/html/content/src/HTMLOptGroupElement.cpp +++ b/content/html/content/src/HTMLOptGroupElement.cpp @@ -37,19 +37,8 @@ HTMLOptGroupElement::~HTMLOptGroupElement() } -NS_IMPL_ADDREF_INHERITED(HTMLOptGroupElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLOptGroupElement, Element) - - - -// QueryInterface implementation for HTMLOptGroupElement -NS_INTERFACE_TABLE_HEAD(HTMLOptGroupElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) - NS_INTERFACE_TABLE_INHERITED1(HTMLOptGroupElement, - nsIDOMHTMLOptGroupElement) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END - +NS_IMPL_ISUPPORTS_INHERITED1(HTMLOptGroupElement, nsGenericHTMLElement, + nsIDOMHTMLOptGroupElement) NS_IMPL_ELEMENT_CLONE(HTMLOptGroupElement) diff --git a/content/html/content/src/HTMLOptGroupElement.h b/content/html/content/src/HTMLOptGroupElement.h index e0043fa77dd6..63a976e83b04 100644 --- a/content/html/content/src/HTMLOptGroupElement.h +++ b/content/html/content/src/HTMLOptGroupElement.h @@ -25,15 +25,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - // nsIDOMHTMLOptGroupElement NS_DECL_NSIDOMHTMLOPTGROUPELEMENT diff --git a/content/html/content/src/HTMLOptionElement.cpp b/content/html/content/src/HTMLOptionElement.cpp index fe5309c6fad1..56dce028384a 100644 --- a/content/html/content/src/HTMLOptionElement.cpp +++ b/content/html/content/src/HTMLOptionElement.cpp @@ -51,21 +51,8 @@ HTMLOptionElement::~HTMLOptionElement() { } -// ISupports - - -NS_IMPL_ADDREF_INHERITED(HTMLOptionElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLOptionElement, Element) - - -// QueryInterface implementation for HTMLOptionElement -NS_INTERFACE_TABLE_HEAD(HTMLOptionElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) - NS_INTERFACE_TABLE_INHERITED1(HTMLOptionElement, - nsIDOMHTMLOptionElement) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END - +NS_IMPL_ISUPPORTS_INHERITED1(HTMLOptionElement, nsGenericHTMLElement, + nsIDOMHTMLOptionElement) NS_IMPL_ELEMENT_CLONE(HTMLOptionElement) diff --git a/content/html/content/src/HTMLOptionElement.h b/content/html/content/src/HTMLOptionElement.h index 2631abb7e51b..d9fc8f762465 100644 --- a/content/html/content/src/HTMLOptionElement.h +++ b/content/html/content/src/HTMLOptionElement.h @@ -36,15 +36,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - // nsIDOMHTMLOptionElement using mozilla::dom::Element::SetText; using mozilla::dom::Element::GetText; @@ -75,8 +66,6 @@ public: nsresult CopyInnerTo(mozilla::dom::Element* aDest); - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } - virtual bool IsDisabled() const MOZ_OVERRIDE { return HasAttr(kNameSpaceID_None, nsGkAtoms::disabled); } diff --git a/content/html/content/src/HTMLOptionsCollection.cpp b/content/html/content/src/HTMLOptionsCollection.cpp index b14bb19184db..fd4a89b905ad 100644 --- a/content/html/content/src/HTMLOptionsCollection.cpp +++ b/content/html/content/src/HTMLOptionsCollection.cpp @@ -168,17 +168,20 @@ HTMLOptionsCollection::SetOption(uint32_t aIndex, nsCOMPtr ret; if (index == mElements.Length()) { - rv = mSelect->AppendChild(aOption, getter_AddRefs(ret)); + nsCOMPtr node = do_QueryInterface(aOption); + rv = mSelect->AppendChild(node, getter_AddRefs(ret)); } else { // Find the option they're talking about and replace it // hold a strong reference to follow COM rules. - nsCOMPtr refChild = ItemAsOption(index); + nsRefPtr refChild = ItemAsOption(index); NS_ENSURE_TRUE(refChild, NS_ERROR_UNEXPECTED); - nsCOMPtr parent; - refChild->GetParentNode(getter_AddRefs(parent)); + nsCOMPtr parent = refChild->GetParent(); if (parent) { - rv = parent->ReplaceChild(aOption, refChild, getter_AddRefs(ret)); + nsCOMPtr node = do_QueryInterface(aOption); + ErrorResult res; + parent->ReplaceChild(*node, *refChild, res); + rv = res.ErrorCode(); } } @@ -346,7 +349,8 @@ HTMLOptionsCollection::Add(nsIDOMHTMLOptionElement* aOption, return NS_ERROR_NOT_INITIALIZED; } - return mSelect->Add(aOption, aBefore); + nsCOMPtr elem = do_QueryInterface(aOption); + return mSelect->Add(elem, aBefore); } void diff --git a/content/html/content/src/HTMLOutputElement.cpp b/content/html/content/src/HTMLOutputElement.cpp index f88a928d9abd..cf5f4116aab8 100644 --- a/content/html/content/src/HTMLOutputElement.cpp +++ b/content/html/content/src/HTMLOutputElement.cpp @@ -54,12 +54,10 @@ NS_IMPL_ADDREF_INHERITED(HTMLOutputElement, Element) NS_IMPL_RELEASE_INHERITED(HTMLOutputElement, Element) NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(HTMLOutputElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLFormElement) NS_INTERFACE_TABLE_INHERITED2(HTMLOutputElement, nsIMutationObserver, nsIConstraintValidation) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END +NS_INTERFACE_TABLE_TAIL_INHERITING(nsGenericHTMLFormElement) NS_IMPL_ELEMENT_CLONE(HTMLOutputElement) diff --git a/content/html/content/src/HTMLOutputElement.h b/content/html/content/src/HTMLOutputElement.h index 3e33d5ab3e92..fa7bb7e655b0 100644 --- a/content/html/content/src/HTMLOutputElement.h +++ b/content/html/content/src/HTMLOutputElement.h @@ -15,7 +15,6 @@ namespace mozilla { namespace dom { class HTMLOutputElement MOZ_FINAL : public nsGenericHTMLFormElement, - public nsIDOMHTMLElement, public nsStubMutationObserver, public nsIConstraintValidation { @@ -28,15 +27,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - // nsIFormControl NS_IMETHOD_(uint32_t) GetType() const { return NS_FORM_OUTPUT; } NS_IMETHOD Reset() MOZ_OVERRIDE; @@ -68,7 +58,6 @@ public: NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(HTMLOutputElement, nsGenericHTMLFormElement) - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } virtual JSObject* WrapNode(JSContext* aCx, JS::Handle aScope) MOZ_OVERRIDE; diff --git a/content/html/content/src/HTMLParagraphElement.cpp b/content/html/content/src/HTMLParagraphElement.cpp index e3776b6f4dd7..9fe10c9c9fb8 100644 --- a/content/html/content/src/HTMLParagraphElement.cpp +++ b/content/html/content/src/HTMLParagraphElement.cpp @@ -20,16 +20,8 @@ HTMLParagraphElement::~HTMLParagraphElement() { } -NS_IMPL_ADDREF_INHERITED(HTMLParagraphElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLParagraphElement, Element) - -// QueryInterface implementation for nsHTMLParagraphElement -NS_INTERFACE_TABLE_HEAD(HTMLParagraphElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) - NS_INTERFACE_TABLE_INHERITED1(HTMLParagraphElement, - nsIDOMHTMLParagraphElement) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END +NS_IMPL_ISUPPORTS_INHERITED1(HTMLParagraphElement, nsGenericHTMLElement, + nsIDOMHTMLParagraphElement) NS_IMPL_ELEMENT_CLONE(HTMLParagraphElement) diff --git a/content/html/content/src/HTMLParagraphElement.h b/content/html/content/src/HTMLParagraphElement.h index f421c694899f..14a85e44a495 100644 --- a/content/html/content/src/HTMLParagraphElement.h +++ b/content/html/content/src/HTMLParagraphElement.h @@ -28,15 +28,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - // nsIDOMHTMLParagraphElement NS_DECL_NSIDOMHTMLPARAGRAPHELEMENT @@ -49,8 +40,6 @@ public: virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } - // WebIDL API // The XPCOM GetAlign is fine for our purposes void SetAlign(const nsAString& aValue, mozilla::ErrorResult& rv) diff --git a/content/html/content/src/HTMLPreElement.cpp b/content/html/content/src/HTMLPreElement.cpp index 48c9cc0a78b6..5cee51a3d78f 100644 --- a/content/html/content/src/HTMLPreElement.cpp +++ b/content/html/content/src/HTMLPreElement.cpp @@ -21,15 +21,8 @@ HTMLPreElement::~HTMLPreElement() { } -NS_IMPL_ADDREF_INHERITED(HTMLPreElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLPreElement, Element) - -// QueryInterface implementation for HTMLPreElement -NS_INTERFACE_TABLE_HEAD(HTMLPreElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) - NS_INTERFACE_TABLE_INHERITED1(HTMLPreElement, nsIDOMHTMLPreElement) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END +NS_IMPL_ISUPPORTS_INHERITED1(HTMLPreElement, nsGenericHTMLElement, + nsIDOMHTMLPreElement) NS_IMPL_ELEMENT_CLONE(HTMLPreElement) diff --git a/content/html/content/src/HTMLPreElement.h b/content/html/content/src/HTMLPreElement.h index 4eb2a0365230..581026a2b67e 100644 --- a/content/html/content/src/HTMLPreElement.h +++ b/content/html/content/src/HTMLPreElement.h @@ -28,15 +28,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - // nsIDOMHTMLPreElement NS_IMETHOD GetWidth(int32_t* aWidth) MOZ_OVERRIDE; NS_IMETHOD SetWidth(int32_t aWidth) MOZ_OVERRIDE; @@ -50,8 +41,6 @@ public: virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } - // WebIDL API int32_t Width() const { diff --git a/content/html/content/src/HTMLProgressElement.cpp b/content/html/content/src/HTMLProgressElement.cpp index 6549fae1bc77..a46adccfcab3 100644 --- a/content/html/content/src/HTMLProgressElement.cpp +++ b/content/html/content/src/HTMLProgressElement.cpp @@ -27,14 +27,6 @@ HTMLProgressElement::~HTMLProgressElement() { } -NS_IMPL_ADDREF_INHERITED(HTMLProgressElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLProgressElement, Element) - - -NS_INTERFACE_MAP_BEGIN(HTMLProgressElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) -NS_ELEMENT_INTERFACE_MAP_END - NS_IMPL_ELEMENT_CLONE(HTMLProgressElement) diff --git a/content/html/content/src/HTMLProgressElement.h b/content/html/content/src/HTMLProgressElement.h index 985a1c3fee56..a6fd91412f43 100644 --- a/content/html/content/src/HTMLProgressElement.h +++ b/content/html/content/src/HTMLProgressElement.h @@ -16,25 +16,12 @@ namespace mozilla { namespace dom { -class HTMLProgressElement MOZ_FINAL : public nsGenericHTMLElement, - public nsIDOMHTMLElement +class HTMLProgressElement MOZ_FINAL : public nsGenericHTMLElement { public: HTMLProgressElement(already_AddRefed aNodeInfo); virtual ~HTMLProgressElement(); - // nsISupports - NS_DECL_ISUPPORTS_INHERITED - - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - nsEventStates IntrinsicState() const MOZ_OVERRIDE; nsresult Clone(nsINodeInfo* aNodeInfo, nsINode** aResult) const MOZ_OVERRIDE; @@ -42,8 +29,6 @@ public: bool ParseAttribute(int32_t aNamespaceID, nsIAtom* aAttribute, const nsAString& aValue, nsAttrValue& aResult) MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } - // WebIDL double Value() const; void SetValue(double aValue, ErrorResult& aRv) diff --git a/content/html/content/src/HTMLPropertiesCollection.h b/content/html/content/src/HTMLPropertiesCollection.h index 3a40e603ea37..e4087b710190 100644 --- a/content/html/content/src/HTMLPropertiesCollection.h +++ b/content/html/content/src/HTMLPropertiesCollection.h @@ -117,7 +117,7 @@ protected: nsRefPtrHashtable mNamedItemEntries; // The element this collection is rooted at - nsCOMPtr mRoot; + nsRefPtr mRoot; // The document mRoot is in, if any nsCOMPtr mDoc; diff --git a/content/html/content/src/HTMLScriptElement.cpp b/content/html/content/src/HTMLScriptElement.cpp index 75bca1ca8c6e..3ecd7b2fb7ca 100644 --- a/content/html/content/src/HTMLScriptElement.cpp +++ b/content/html/content/src/HTMLScriptElement.cpp @@ -20,6 +20,7 @@ #include "nsIArray.h" #include "nsTArray.h" #include "nsDOMJSUtils.h" +#include "nsISupportsImpl.h" #include "mozilla/dom/HTMLScriptElement.h" #include "mozilla/dom/HTMLScriptElementBinding.h" @@ -46,21 +47,11 @@ HTMLScriptElement::~HTMLScriptElement() { } - -NS_IMPL_ADDREF_INHERITED(HTMLScriptElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLScriptElement, Element) - -// QueryInterface implementation for HTMLScriptElement -NS_INTERFACE_TABLE_HEAD(HTMLScriptElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) - NS_INTERFACE_TABLE_INHERITED4(HTMLScriptElement, - nsIDOMHTMLScriptElement, - nsIScriptLoaderObserver, - nsIScriptElement, - nsIMutationObserver) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END - +NS_IMPL_ISUPPORTS_INHERITED4(HTMLScriptElement, nsGenericHTMLElement, + nsIDOMHTMLScriptElement, + nsIScriptLoaderObserver, + nsIScriptElement, + nsIMutationObserver) nsresult HTMLScriptElement::BindToTree(nsIDocument* aDocument, nsIContent* aParent, diff --git a/content/html/content/src/HTMLScriptElement.h b/content/html/content/src/HTMLScriptElement.h index 1eae035e7ab1..20a8f4682936 100644 --- a/content/html/content/src/HTMLScriptElement.h +++ b/content/html/content/src/HTMLScriptElement.h @@ -30,17 +30,10 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - + using nsGenericHTMLElement::GetInnerHTML; virtual void GetInnerHTML(nsAString& aInnerHTML, mozilla::ErrorResult& aError) MOZ_OVERRIDE; + using nsGenericHTMLElement::SetInnerHTML; virtual void SetInnerHTML(const nsAString& aInnerHTML, mozilla::ErrorResult& aError) MOZ_OVERRIDE; @@ -69,8 +62,6 @@ public: virtual nsresult AfterSetAttr(int32_t aNamespaceID, nsIAtom* aName, const nsAttrValue* aValue, bool aNotify) MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } - // WebIDL void SetText(const nsAString& aValue, ErrorResult& rv); void SetCharset(const nsAString& aCharset, ErrorResult& rv); diff --git a/content/html/content/src/HTMLSelectElement.cpp b/content/html/content/src/HTMLSelectElement.cpp index 37a56cf646fa..dbe1a91bf2d2 100644 --- a/content/html/content/src/HTMLSelectElement.cpp +++ b/content/html/content/src/HTMLSelectElement.cpp @@ -150,12 +150,10 @@ NS_IMPL_RELEASE_INHERITED(HTMLSelectElement, Element) // QueryInterface implementation for HTMLSelectElement NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(HTMLSelectElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLFormElementWithState) NS_INTERFACE_TABLE_INHERITED2(HTMLSelectElement, nsIDOMHTMLSelectElement, nsIConstraintValidation) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END +NS_INTERFACE_TABLE_TAIL_INHERITING(nsGenericHTMLFormElementWithState) // nsIDOMHTMLSelectElement @@ -609,13 +607,13 @@ HTMLSelectElement::Add(nsGenericHTMLElement& aElement, ErrorResult& aError) { if (!aBefore) { - nsGenericHTMLElement::AppendChild(aElement, aError); + Element::AppendChild(aElement, aError); return; } // Just in case we're not the parent, get the parent of the reference // element - nsINode* parent = aBefore->GetParentNode(); + nsINode* parent = aBefore->Element::GetParentNode(); if (!parent || !nsContentUtils::ContentIsDescendantOf(parent, this)) { // NOT_FOUND_ERR: Raised if before is not a descendant of the SELECT // element. diff --git a/content/html/content/src/HTMLSelectElement.h b/content/html/content/src/HTMLSelectElement.h index d61bfbb80989..80903020b555 100644 --- a/content/html/content/src/HTMLSelectElement.h +++ b/content/html/content/src/HTMLSelectElement.h @@ -119,15 +119,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - virtual int32_t TabIndexDefault() MOZ_OVERRIDE; // nsIDOMHTMLSelectElement @@ -376,8 +367,6 @@ public: return mOptions; } - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } - // nsIConstraintValidation nsresult GetValidationMessage(nsAString& aValidationMessage, ValidityStateType aType) MOZ_OVERRIDE; diff --git a/content/html/content/src/HTMLSharedElement.cpp b/content/html/content/src/HTMLSharedElement.cpp index 7b4c7bfc6ccc..67d9f59f8b20 100644 --- a/content/html/content/src/HTMLSharedElement.cpp +++ b/content/html/content/src/HTMLSharedElement.cpp @@ -33,15 +33,13 @@ NS_IMPL_RELEASE_INHERITED(HTMLSharedElement, Element) // QueryInterface implementation for HTMLSharedElement NS_INTERFACE_MAP_BEGIN(HTMLSharedElement) - NS_HTML_CONTENT_INTERFACES_AMBIGUOUS(nsGenericHTMLElement, - nsIDOMHTMLBaseElement) NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMHTMLBaseElement, base) NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMHTMLDirectoryElement, dir) NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMHTMLQuoteElement, q) NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMHTMLQuoteElement, blockquote) NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMHTMLHeadElement, head) NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMHTMLHtmlElement, html) -NS_ELEMENT_INTERFACE_MAP_END +NS_INTERFACE_MAP_END_INHERITING(nsGenericHTMLElement) NS_IMPL_ELEMENT_CLONE(HTMLSharedElement) diff --git a/content/html/content/src/HTMLSharedElement.h b/content/html/content/src/HTMLSharedElement.h index afdf25979a95..ac6987754f79 100644 --- a/content/html/content/src/HTMLSharedElement.h +++ b/content/html/content/src/HTMLSharedElement.h @@ -38,15 +38,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - // nsIDOMHTMLBaseElement NS_DECL_NSIDOMHTMLBASEELEMENT @@ -88,11 +79,6 @@ public: virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE - { - return static_cast(this); - } - // WebIDL API // HTMLParamElement void GetName(DOMString& aValue) diff --git a/content/html/content/src/HTMLSharedListElement.cpp b/content/html/content/src/HTMLSharedListElement.cpp index 319557a31d43..a0ed1a743342 100644 --- a/content/html/content/src/HTMLSharedListElement.cpp +++ b/content/html/content/src/HTMLSharedListElement.cpp @@ -29,11 +29,9 @@ NS_IMPL_RELEASE_INHERITED(HTMLSharedListElement, Element) // QueryInterface implementation for nsHTMLSharedListElement NS_INTERFACE_MAP_BEGIN(HTMLSharedListElement) - NS_HTML_CONTENT_INTERFACES_AMBIGUOUS(nsGenericHTMLElement, - nsIDOMHTMLOListElement) NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMHTMLOListElement, ol) NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMHTMLUListElement, ul) -NS_ELEMENT_INTERFACE_MAP_END +NS_INTERFACE_MAP_END_INHERITING(nsGenericHTMLElement) NS_IMPL_ELEMENT_CLONE(HTMLSharedListElement) diff --git a/content/html/content/src/HTMLSharedListElement.h b/content/html/content/src/HTMLSharedListElement.h index 60922653f59b..5f2c872071e8 100644 --- a/content/html/content/src/HTMLSharedListElement.h +++ b/content/html/content/src/HTMLSharedListElement.h @@ -29,15 +29,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - // nsIDOMHTMLOListElement NS_DECL_NSIDOMHTMLOLISTELEMENT @@ -52,11 +43,6 @@ public: NS_IMETHOD_(bool) IsAttributeMapped(const nsIAtom* aAttribute) const MOZ_OVERRIDE; virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE - { - return static_cast(this); - } - bool Reversed() const { return GetBoolAttr(nsGkAtoms::reversed); diff --git a/content/html/content/src/HTMLSharedObjectElement.cpp b/content/html/content/src/HTMLSharedObjectElement.cpp index 1bb5f6640988..432f168fd348 100644 --- a/content/html/content/src/HTMLSharedObjectElement.cpp +++ b/content/html/content/src/HTMLSharedObjectElement.cpp @@ -91,8 +91,6 @@ NS_IMPL_ADDREF_INHERITED(HTMLSharedObjectElement, Element) NS_IMPL_RELEASE_INHERITED(HTMLSharedObjectElement, Element) NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(HTMLSharedObjectElement) - NS_HTML_CONTENT_INTERFACES_AMBIGUOUS(nsGenericHTMLElement, - nsIDOMHTMLAppletElement) NS_INTERFACE_TABLE_INHERITED8(HTMLSharedObjectElement, nsIRequestObserver, nsIStreamListener, @@ -105,7 +103,7 @@ NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(HTMLSharedObjectElement) NS_INTERFACE_TABLE_TO_MAP_SEGUE NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMHTMLAppletElement, applet) NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMHTMLEmbedElement, embed) -NS_ELEMENT_INTERFACE_MAP_END +NS_INTERFACE_MAP_END_INHERITING(nsGenericHTMLElement) NS_IMPL_ELEMENT_CLONE(HTMLSharedObjectElement) diff --git a/content/html/content/src/HTMLSharedObjectElement.h b/content/html/content/src/HTMLSharedObjectElement.h index 07fc69b267e0..0573e727433a 100644 --- a/content/html/content/src/HTMLSharedObjectElement.h +++ b/content/html/content/src/HTMLSharedObjectElement.h @@ -31,15 +31,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - virtual int32_t TabIndexDefault() MOZ_OVERRIDE; // nsIDOMHTMLAppletElement @@ -90,11 +81,6 @@ public: NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED_NO_UNLINK(HTMLSharedObjectElement, nsGenericHTMLElement) - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE - { - return static_cast(this); - } - // WebIDL API for void GetAlign(DOMString& aValue) { diff --git a/content/html/content/src/HTMLSourceElement.cpp b/content/html/content/src/HTMLSourceElement.cpp index 0ff6dd070b45..fa11b04684db 100644 --- a/content/html/content/src/HTMLSourceElement.cpp +++ b/content/html/content/src/HTMLSourceElement.cpp @@ -21,19 +21,8 @@ HTMLSourceElement::~HTMLSourceElement() { } - -NS_IMPL_ADDREF_INHERITED(HTMLSourceElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLSourceElement, Element) - - - -// QueryInterface implementation for HTMLSourceElement -NS_INTERFACE_TABLE_HEAD(HTMLSourceElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) - NS_INTERFACE_TABLE_INHERITED1(HTMLSourceElement, nsIDOMHTMLSourceElement) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END - +NS_IMPL_ISUPPORTS_INHERITED1(HTMLSourceElement, nsGenericHTMLElement, + nsIDOMHTMLSourceElement) NS_IMPL_ELEMENT_CLONE(HTMLSourceElement) diff --git a/content/html/content/src/HTMLSourceElement.h b/content/html/content/src/HTMLSourceElement.h index eb7e1ec6b176..34d0c996cf8b 100644 --- a/content/html/content/src/HTMLSourceElement.h +++ b/content/html/content/src/HTMLSourceElement.h @@ -25,15 +25,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - // nsIDOMHTMLSourceElement NS_DECL_NSIDOMHTMLSOURCEELEMENT @@ -45,8 +36,6 @@ public: nsIContent* aBindingParent, bool aCompileEventHandlers) MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } - // WebIDL void GetSrc(nsString& aSrc) { diff --git a/content/html/content/src/HTMLSpanElement.cpp b/content/html/content/src/HTMLSpanElement.cpp index 324b7a8c136e..56132c5923d7 100644 --- a/content/html/content/src/HTMLSpanElement.cpp +++ b/content/html/content/src/HTMLSpanElement.cpp @@ -20,15 +20,6 @@ HTMLSpanElement::~HTMLSpanElement() { } -NS_IMPL_ADDREF_INHERITED(HTMLSpanElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLSpanElement, Element) - -// QueryInterface implementation for HTMLSpanElement -NS_INTERFACE_MAP_BEGIN(HTMLSpanElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) -NS_ELEMENT_INTERFACE_MAP_END - - NS_IMPL_ELEMENT_CLONE(HTMLSpanElement) JSObject* diff --git a/content/html/content/src/HTMLSpanElement.h b/content/html/content/src/HTMLSpanElement.h index c72489413eeb..211f489d8583 100644 --- a/content/html/content/src/HTMLSpanElement.h +++ b/content/html/content/src/HTMLSpanElement.h @@ -17,8 +17,7 @@ namespace mozilla { namespace dom { -class HTMLSpanElement MOZ_FINAL : public nsGenericHTMLElement, - public nsIDOMHTMLElement +class HTMLSpanElement MOZ_FINAL : public nsGenericHTMLElement { public: HTMLSpanElement(already_AddRefed aNodeInfo) @@ -27,22 +26,8 @@ public: } virtual ~HTMLSpanElement(); - // nsISupports - NS_DECL_ISUPPORTS_INHERITED - - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } - protected: virtual JSObject* WrapNode(JSContext *aCx, JS::Handle aScope) MOZ_OVERRIDE; diff --git a/content/html/content/src/HTMLStyleElement.cpp b/content/html/content/src/HTMLStyleElement.cpp index b6ea1b201dbe..03dca5d352d4 100644 --- a/content/html/content/src/HTMLStyleElement.cpp +++ b/content/html/content/src/HTMLStyleElement.cpp @@ -49,14 +49,12 @@ NS_IMPL_RELEASE_INHERITED(HTMLStyleElement, Element) // QueryInterface implementation for HTMLStyleElement NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(HTMLStyleElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) NS_INTERFACE_TABLE_INHERITED4(HTMLStyleElement, nsIDOMHTMLStyleElement, nsIDOMLinkStyle, nsIStyleSheetLinkingElement, nsIMutationObserver) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END +NS_INTERFACE_TABLE_TAIL_INHERITING(nsGenericHTMLElement) NS_IMPL_ELEMENT_CLONE(HTMLStyleElement) diff --git a/content/html/content/src/HTMLStyleElement.h b/content/html/content/src/HTMLStyleElement.h index a1c8ca07467c..cf981e027e7e 100644 --- a/content/html/content/src/HTMLStyleElement.h +++ b/content/html/content/src/HTMLStyleElement.h @@ -33,17 +33,10 @@ public: NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(HTMLStyleElement, nsGenericHTMLElement) - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - + using nsGenericHTMLElement::GetInnerHTML; virtual void GetInnerHTML(nsAString& aInnerHTML, mozilla::ErrorResult& aError) MOZ_OVERRIDE; + using nsGenericHTMLElement::SetInnerHTML; virtual void SetInnerHTML(const nsAString& aInnerHTML, mozilla::ErrorResult& aError) MOZ_OVERRIDE; @@ -96,7 +89,6 @@ public: virtual JSObject* WrapNode(JSContext *aCx, JS::Handle aScope) MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } protected: already_AddRefed GetStyleSheetURL(bool* aIsInline) MOZ_OVERRIDE; void GetStyleSheetInfo(nsAString& aTitle, diff --git a/content/html/content/src/HTMLTableCaptionElement.cpp b/content/html/content/src/HTMLTableCaptionElement.cpp index 0649380fc31b..78ebe7c919be 100644 --- a/content/html/content/src/HTMLTableCaptionElement.cpp +++ b/content/html/content/src/HTMLTableCaptionElement.cpp @@ -26,16 +26,8 @@ HTMLTableCaptionElement::WrapNode(JSContext *aCx, JS::Handle aScope) return HTMLTableCaptionElementBinding::Wrap(aCx, aScope, this); } -NS_IMPL_ADDREF_INHERITED(HTMLTableCaptionElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLTableCaptionElement, Element) - -// QueryInterface implementation for HTMLTableCaptionElement -NS_INTERFACE_TABLE_HEAD(HTMLTableCaptionElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) - NS_INTERFACE_TABLE_INHERITED1(HTMLTableCaptionElement, - nsIDOMHTMLTableCaptionElement) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END +NS_IMPL_ISUPPORTS_INHERITED1(HTMLTableCaptionElement, nsGenericHTMLElement, + nsIDOMHTMLTableCaptionElement) NS_IMPL_ELEMENT_CLONE(HTMLTableCaptionElement) diff --git a/content/html/content/src/HTMLTableCaptionElement.h b/content/html/content/src/HTMLTableCaptionElement.h index d2d8e5ef2123..19bf63abded4 100644 --- a/content/html/content/src/HTMLTableCaptionElement.h +++ b/content/html/content/src/HTMLTableCaptionElement.h @@ -25,15 +25,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - // nsIDOMHTMLTableCaptionElement NS_DECL_NSIDOMHTMLTABLECAPTIONELEMENT @@ -55,8 +46,6 @@ public: virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } - protected: virtual JSObject* WrapNode(JSContext *aCx, JS::Handle aScope) MOZ_OVERRIDE; diff --git a/content/html/content/src/HTMLTableCellElement.cpp b/content/html/content/src/HTMLTableCellElement.cpp index 42e079bcedcd..3cf8ec9f5f86 100644 --- a/content/html/content/src/HTMLTableCellElement.cpp +++ b/content/html/content/src/HTMLTableCellElement.cpp @@ -30,17 +30,8 @@ HTMLTableCellElement::WrapNode(JSContext *aCx, JS::Handle aScope) return HTMLTableCellElementBinding::Wrap(aCx, aScope, this); } -NS_IMPL_ADDREF_INHERITED(HTMLTableCellElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLTableCellElement, Element) - -// QueryInterface implementation for HTMLTableCellElement -NS_INTERFACE_TABLE_HEAD(HTMLTableCellElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) - NS_INTERFACE_TABLE_INHERITED1(HTMLTableCellElement, - nsIDOMHTMLTableCellElement) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END - +NS_IMPL_ISUPPORTS_INHERITED1(HTMLTableCellElement, nsGenericHTMLElement, + nsIDOMHTMLTableCellElement) NS_IMPL_ELEMENT_CLONE(HTMLTableCellElement) diff --git a/content/html/content/src/HTMLTableCellElement.h b/content/html/content/src/HTMLTableCellElement.h index c1503911edbb..062f9d907c62 100644 --- a/content/html/content/src/HTMLTableCellElement.h +++ b/content/html/content/src/HTMLTableCellElement.h @@ -29,15 +29,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - // nsIDOMHTMLTableCellElement NS_DECL_NSIDOMHTMLTABLECELLELEMENT @@ -164,7 +155,6 @@ public: virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } protected: virtual JSObject* WrapNode(JSContext *aCx, JS::Handle aScope) MOZ_OVERRIDE; diff --git a/content/html/content/src/HTMLTableColElement.cpp b/content/html/content/src/HTMLTableColElement.cpp index a0c14e98da93..45fb6423eedb 100644 --- a/content/html/content/src/HTMLTableColElement.cpp +++ b/content/html/content/src/HTMLTableColElement.cpp @@ -30,14 +30,6 @@ HTMLTableColElement::WrapNode(JSContext *aCx, JS::Handle aScope) return HTMLTableColElementBinding::Wrap(aCx, aScope, this); } -NS_IMPL_ADDREF_INHERITED(HTMLTableColElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLTableColElement, Element) - -// QueryInterface implementation for HTMLTableColElement -NS_INTERFACE_MAP_BEGIN(HTMLTableColElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) -NS_ELEMENT_INTERFACE_MAP_END - NS_IMPL_ELEMENT_CLONE(HTMLTableColElement) bool diff --git a/content/html/content/src/HTMLTableColElement.h b/content/html/content/src/HTMLTableColElement.h index 225511d8e5c4..1cdae34e1247 100644 --- a/content/html/content/src/HTMLTableColElement.h +++ b/content/html/content/src/HTMLTableColElement.h @@ -11,8 +11,7 @@ namespace mozilla { namespace dom { -class HTMLTableColElement MOZ_FINAL : public nsGenericHTMLElement, - public nsIDOMHTMLElement +class HTMLTableColElement MOZ_FINAL : public nsGenericHTMLElement { public: HTMLTableColElement(already_AddRefed aNodeInfo) @@ -21,18 +20,6 @@ public: } virtual ~HTMLTableColElement(); - // nsISupports - NS_DECL_ISUPPORTS_INHERITED - - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - uint32_t Span() const { return GetIntAttr(nsGkAtoms::span, 1); @@ -92,8 +79,6 @@ public: virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } - protected: virtual JSObject* WrapNode(JSContext *aCx, JS::Handle aScope) MOZ_OVERRIDE; diff --git a/content/html/content/src/HTMLTableElement.cpp b/content/html/content/src/HTMLTableElement.cpp index 74be20478209..1b9dc1489b12 100644 --- a/content/html/content/src/HTMLTableElement.cpp +++ b/content/html/content/src/HTMLTableElement.cpp @@ -332,10 +332,8 @@ NS_IMPL_RELEASE_INHERITED(HTMLTableElement, Element) // QueryInterface implementation for HTMLTableElement NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(HTMLTableElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) NS_INTERFACE_TABLE_INHERITED1(HTMLTableElement, nsIDOMHTMLTableElement) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END +NS_INTERFACE_TABLE_TAIL_INHERITING(nsGenericHTMLElement) NS_IMPL_ELEMENT_CLONE(HTMLTableElement) @@ -473,7 +471,7 @@ HTMLTableElement::CreateTBody() nsIDOMNode::ELEMENT_NODE); MOZ_ASSERT(nodeInfo); - nsCOMPtr newBody = + nsRefPtr newBody = NS_NewHTMLTableSectionElement(nodeInfo.forget()); MOZ_ASSERT(newBody); diff --git a/content/html/content/src/HTMLTableElement.h b/content/html/content/src/HTMLTableElement.h index 623c730374ba..117e016611aa 100644 --- a/content/html/content/src/HTMLTableElement.h +++ b/content/html/content/src/HTMLTableElement.h @@ -30,15 +30,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - HTMLTableCaptionElement* GetCaption() const { return static_cast(GetChild(nsGkAtoms::caption)); @@ -188,7 +179,6 @@ public: virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } virtual nsresult BindToTree(nsIDocument* aDocument, nsIContent* aParent, nsIContent* aBindingParent, bool aCompileEventHandlers) MOZ_OVERRIDE; diff --git a/content/html/content/src/HTMLTableRowElement.cpp b/content/html/content/src/HTMLTableRowElement.cpp index f2b3a9717ef7..574e7b4decbe 100644 --- a/content/html/content/src/HTMLTableRowElement.cpp +++ b/content/html/content/src/HTMLTableRowElement.cpp @@ -38,8 +38,7 @@ NS_IMPL_RELEASE_INHERITED(HTMLTableRowElement, Element) // QueryInterface implementation for HTMLTableRowElement NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(HTMLTableRowElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) -NS_ELEMENT_INTERFACE_MAP_END +NS_INTERFACE_MAP_END_INHERITING(nsGenericHTMLElement) NS_IMPL_ELEMENT_CLONE(HTMLTableRowElement) diff --git a/content/html/content/src/HTMLTableRowElement.h b/content/html/content/src/HTMLTableRowElement.h index 50c18885e488..ce55a77c7fca 100644 --- a/content/html/content/src/HTMLTableRowElement.h +++ b/content/html/content/src/HTMLTableRowElement.h @@ -16,8 +16,7 @@ namespace dom { class HTMLTableSectionElement; -class HTMLTableRowElement MOZ_FINAL : public nsGenericHTMLElement, - public nsIDOMHTMLElement +class HTMLTableRowElement MOZ_FINAL : public nsGenericHTMLElement { public: HTMLTableRowElement(already_AddRefed aNodeInfo) @@ -30,15 +29,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - int32_t RowIndex() const; int32_t SectionRowIndex() const; nsIHTMLCollection* Cells(); @@ -96,8 +86,6 @@ public: virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } - NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED_NO_UNLINK(HTMLTableRowElement, nsGenericHTMLElement) diff --git a/content/html/content/src/HTMLTableSectionElement.cpp b/content/html/content/src/HTMLTableSectionElement.cpp index 636a52be5cc4..39a5591c45eb 100644 --- a/content/html/content/src/HTMLTableSectionElement.cpp +++ b/content/html/content/src/HTMLTableSectionElement.cpp @@ -38,8 +38,7 @@ NS_IMPL_RELEASE_INHERITED(HTMLTableSectionElement, Element) // QueryInterface implementation for HTMLTableSectionElement NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(HTMLTableSectionElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) -NS_ELEMENT_INTERFACE_MAP_END +NS_INTERFACE_MAP_END_INHERITING(nsGenericHTMLElement) NS_IMPL_ELEMENT_CLONE(HTMLTableSectionElement) diff --git a/content/html/content/src/HTMLTableSectionElement.h b/content/html/content/src/HTMLTableSectionElement.h index 7e97c5f60ef2..089d56f59335 100644 --- a/content/html/content/src/HTMLTableSectionElement.h +++ b/content/html/content/src/HTMLTableSectionElement.h @@ -12,8 +12,7 @@ namespace mozilla { namespace dom { -class HTMLTableSectionElement MOZ_FINAL : public nsGenericHTMLElement, - public nsIDOMHTMLElement +class HTMLTableSectionElement MOZ_FINAL : public nsGenericHTMLElement { public: HTMLTableSectionElement(already_AddRefed aNodeInfo) @@ -24,15 +23,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - nsIHTMLCollection* Rows(); already_AddRefed InsertRow(int32_t aIndex, ErrorResult& aError); @@ -82,8 +72,6 @@ public: NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED_NO_UNLINK(HTMLTableSectionElement, nsGenericHTMLElement) - - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } protected: virtual JSObject* WrapNode(JSContext *aCx, JS::Handle aScope) MOZ_OVERRIDE; diff --git a/content/html/content/src/HTMLTemplateElement.cpp b/content/html/content/src/HTMLTemplateElement.cpp index 7022d97b9f98..eb48b4b0e9cc 100644 --- a/content/html/content/src/HTMLTemplateElement.cpp +++ b/content/html/content/src/HTMLTemplateElement.cpp @@ -71,8 +71,7 @@ NS_IMPL_CYCLE_COLLECTION_INHERITED_1(HTMLTemplateElement, // QueryInterface implementation for HTMLTemplateElement NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(HTMLTemplateElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) -NS_ELEMENT_INTERFACE_MAP_END +NS_INTERFACE_MAP_END_INHERITING(nsGenericHTMLElement) NS_IMPL_ELEMENT_CLONE_WITH_INIT(HTMLTemplateElement) diff --git a/content/html/content/src/HTMLTemplateElement.h b/content/html/content/src/HTMLTemplateElement.h index eb2ceabac634..008929bd78cb 100644 --- a/content/html/content/src/HTMLTemplateElement.h +++ b/content/html/content/src/HTMLTemplateElement.h @@ -14,8 +14,7 @@ namespace mozilla { namespace dom { -class HTMLTemplateElement MOZ_FINAL : public nsGenericHTMLElement, - public nsIDOMHTMLElement +class HTMLTemplateElement MOZ_FINAL : public nsGenericHTMLElement { public: HTMLTemplateElement(already_AddRefed aNodeInfo); @@ -24,22 +23,11 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(HTMLTemplateElement, nsGenericHTMLElement) virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } - nsresult Init(); DocumentFragment* Content() diff --git a/content/html/content/src/HTMLTextAreaElement.cpp b/content/html/content/src/HTMLTextAreaElement.cpp index 3db2eae73025..c41a4bb139d6 100644 --- a/content/html/content/src/HTMLTextAreaElement.cpp +++ b/content/html/content/src/HTMLTextAreaElement.cpp @@ -85,15 +85,13 @@ NS_IMPL_RELEASE_INHERITED(HTMLTextAreaElement, Element) // QueryInterface implementation for HTMLTextAreaElement NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(HTMLTextAreaElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLFormElementWithState) NS_INTERFACE_TABLE_INHERITED5(HTMLTextAreaElement, nsIDOMHTMLTextAreaElement, nsITextControlElement, nsIDOMNSEditableElement, nsIMutationObserver, nsIConstraintValidation) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END +NS_INTERFACE_TABLE_TAIL_INHERITING(nsGenericHTMLFormElementWithState) // nsIDOMHTMLTextAreaElement diff --git a/content/html/content/src/HTMLTextAreaElement.h b/content/html/content/src/HTMLTextAreaElement.h index ffcf14426c42..0f1751755f36 100644 --- a/content/html/content/src/HTMLTextAreaElement.h +++ b/content/html/content/src/HTMLTextAreaElement.h @@ -46,15 +46,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - virtual int32_t TabIndexDefault() MOZ_OVERRIDE; // nsIDOMHTMLTextAreaElement @@ -149,8 +140,6 @@ public: NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(HTMLTextAreaElement, nsGenericHTMLFormElementWithState) - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } - // nsIConstraintValidation bool IsTooLong(); bool IsValueMissing() const; diff --git a/content/html/content/src/HTMLTimeElement.cpp b/content/html/content/src/HTMLTimeElement.cpp index 659d6a16c876..e344d1633758 100644 --- a/content/html/content/src/HTMLTimeElement.cpp +++ b/content/html/content/src/HTMLTimeElement.cpp @@ -24,13 +24,6 @@ HTMLTimeElement::~HTMLTimeElement() { } -NS_IMPL_ADDREF_INHERITED(HTMLTimeElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLTimeElement, Element) - -NS_INTERFACE_MAP_BEGIN(HTMLTimeElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) -NS_ELEMENT_INTERFACE_MAP_END - NS_IMPL_ELEMENT_CLONE(HTMLTimeElement) JSObject* diff --git a/content/html/content/src/HTMLTimeElement.h b/content/html/content/src/HTMLTimeElement.h index 53f42e08ff40..b9f477a87c72 100644 --- a/content/html/content/src/HTMLTimeElement.h +++ b/content/html/content/src/HTMLTimeElement.h @@ -14,25 +14,12 @@ namespace mozilla { namespace dom { -class HTMLTimeElement MOZ_FINAL : public nsGenericHTMLElement, - public nsIDOMHTMLElement +class HTMLTimeElement MOZ_FINAL : public nsGenericHTMLElement { public: HTMLTimeElement(already_AddRefed aNodeInfo); virtual ~HTMLTimeElement(); - // nsISupports - NS_DECL_ISUPPORTS_INHERITED - - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - // HTMLTimeElement WebIDL void GetDateTime(nsAString& aDateTime) { @@ -47,7 +34,6 @@ public: virtual void GetItemValueText(nsAString& text) MOZ_OVERRIDE; virtual void SetItemValueText(const nsAString& text) MOZ_OVERRIDE; virtual nsresult Clone(nsINodeInfo* aNodeInfo, nsINode** aResult) const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } protected: virtual JSObject* WrapNode(JSContext* aCx, diff --git a/content/html/content/src/HTMLTitleElement.cpp b/content/html/content/src/HTMLTitleElement.cpp index 1f62f809348f..21fe33b4f6c8 100644 --- a/content/html/content/src/HTMLTitleElement.cpp +++ b/content/html/content/src/HTMLTitleElement.cpp @@ -27,25 +27,8 @@ HTMLTitleElement::~HTMLTitleElement() { } - -NS_IMPL_ADDREF_INHERITED(HTMLTitleElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLTitleElement, Element) - -} // namespace dom -} // namespace mozilla - -namespace mozilla { -namespace dom { - -// QueryInterface implementation for HTMLTitleElement -NS_INTERFACE_TABLE_HEAD(HTMLTitleElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) - NS_INTERFACE_TABLE_INHERITED2(HTMLTitleElement, - nsIDOMHTMLTitleElement, - nsIMutationObserver) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END - +NS_IMPL_ISUPPORTS_INHERITED2(HTMLTitleElement, nsGenericHTMLElement, + nsIDOMHTMLTitleElement, nsIMutationObserver) NS_IMPL_ELEMENT_CLONE(HTMLTitleElement) diff --git a/content/html/content/src/HTMLTitleElement.h b/content/html/content/src/HTMLTitleElement.h index a23c68b3e754..57f0e2243bbd 100644 --- a/content/html/content/src/HTMLTitleElement.h +++ b/content/html/content/src/HTMLTitleElement.h @@ -30,15 +30,6 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - // nsIDOMHTMLTitleElement NS_DECL_NSIDOMHTMLTITLEELEMENT @@ -66,8 +57,6 @@ public: virtual void DoneAddingChildren(bool aHaveNotified) MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } - protected: virtual JSObject* WrapNode(JSContext* cx, JS::Handle scope) diff --git a/content/html/content/src/HTMLTrackElement.cpp b/content/html/content/src/HTMLTrackElement.cpp index 8fef6c05d5f0..d0ff3b88c7a3 100644 --- a/content/html/content/src/HTMLTrackElement.cpp +++ b/content/html/content/src/HTMLTrackElement.cpp @@ -88,8 +88,7 @@ NS_IMPL_CYCLE_COLLECTION_INHERITED_4(HTMLTrackElement, nsGenericHTMLElement, mLoadListener) NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(HTMLTrackElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) -NS_ELEMENT_INTERFACE_MAP_END +NS_INTERFACE_MAP_END_INHERITING(nsGenericHTMLElement) void HTMLTrackElement::OnChannelRedirect(nsIChannel* aChannel, @@ -221,7 +220,7 @@ HTMLTrackElement::LoadResource() rv = NS_CheckContentLoadPolicy(nsIContentPolicy::TYPE_MEDIA, uri, NodePrincipal(), - static_cast(this), + static_cast(this), NS_LITERAL_CSTRING("text/vtt"), // mime type nullptr, // extra &shouldLoad, diff --git a/content/html/content/src/HTMLTrackElement.h b/content/html/content/src/HTMLTrackElement.h index f4186ea20471..60b73cba476e 100644 --- a/content/html/content/src/HTMLTrackElement.h +++ b/content/html/content/src/HTMLTrackElement.h @@ -24,7 +24,6 @@ namespace dom { class WebVTTLoadListener; class HTMLTrackElement MOZ_FINAL : public nsGenericHTMLElement - , public nsIDOMHTMLElement { public: HTMLTrackElement(already_AddRefed aNodeInfo); @@ -35,15 +34,6 @@ public: NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(HTMLTrackElement, nsGenericHTMLElement) - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - // HTMLTrackElement WebIDL TextTrackKind Kind() const; void SetKind(TextTrackKind aKind, ErrorResult& aError); @@ -107,7 +97,6 @@ public: TextTrack* Track(); virtual nsresult Clone(nsINodeInfo* aNodeInfo, nsINode** aResult) const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } // For Track, ItemValue reflects the src attribute virtual void GetItemValueText(nsAString& aText) MOZ_OVERRIDE diff --git a/content/html/content/src/HTMLUnknownElement.cpp b/content/html/content/src/HTMLUnknownElement.cpp index c20d7aaff2a8..5b8f1e9a600e 100644 --- a/content/html/content/src/HTMLUnknownElement.cpp +++ b/content/html/content/src/HTMLUnknownElement.cpp @@ -12,9 +12,6 @@ NS_IMPL_NS_NEW_HTML_ELEMENT(Unknown) namespace mozilla { namespace dom { -NS_IMPL_ADDREF_INHERITED(HTMLUnknownElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLUnknownElement, Element) - JSObject* HTMLUnknownElement::WrapNode(JSContext *aCx, JS::Handle aScope) { @@ -34,11 +31,6 @@ HTMLUnknownElement::WrapNode(JSContext *aCx, JS::Handle aScope) return obj; } -// QueryInterface implementation for HTMLUnknownElement -NS_INTERFACE_MAP_BEGIN(HTMLUnknownElement) - NS_HTML_CONTENT_INTERFACES(nsGenericHTMLElement) -NS_ELEMENT_INTERFACE_MAP_END - NS_IMPL_ELEMENT_CLONE(HTMLUnknownElement) } // namespace dom diff --git a/content/html/content/src/HTMLUnknownElement.h b/content/html/content/src/HTMLUnknownElement.h index fa117c22edcb..9249a5602abc 100644 --- a/content/html/content/src/HTMLUnknownElement.h +++ b/content/html/content/src/HTMLUnknownElement.h @@ -12,7 +12,6 @@ namespace mozilla { namespace dom { class HTMLUnknownElement MOZ_FINAL : public nsGenericHTMLElement - , public nsIDOMHTMLElement { public: HTMLUnknownElement(already_AddRefed aNodeInfo) @@ -23,22 +22,8 @@ public: } } - // nsISupports - NS_DECL_ISUPPORTS_INHERITED - - // nsIDOMNode - NS_FORWARD_NSIDOMNODE_TO_NSINODE - - // nsIDOMElement - NS_FORWARD_NSIDOMELEMENT_TO_GENERIC - - // nsIDOMHTMLElement - NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC - virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE; - virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } - protected: virtual JSObject* WrapNode(JSContext *aCx, JS::Handle aScope) MOZ_OVERRIDE; diff --git a/content/html/content/src/HTMLVideoElement.cpp b/content/html/content/src/HTMLVideoElement.cpp index 07d7fa47cfef..f12828de09b0 100644 --- a/content/html/content/src/HTMLVideoElement.cpp +++ b/content/html/content/src/HTMLVideoElement.cpp @@ -42,14 +42,8 @@ namespace dom { static bool sVideoStatsEnabled; -NS_IMPL_ADDREF_INHERITED(HTMLVideoElement, HTMLMediaElement) -NS_IMPL_RELEASE_INHERITED(HTMLVideoElement, HTMLMediaElement) - -NS_INTERFACE_TABLE_HEAD(HTMLVideoElement) - NS_HTML_CONTENT_INTERFACES(HTMLMediaElement) - NS_INTERFACE_TABLE_INHERITED2(HTMLVideoElement, nsIDOMHTMLMediaElement, nsIDOMHTMLVideoElement) - NS_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END +NS_IMPL_ISUPPORTS_INHERITED2(HTMLVideoElement, HTMLMediaElement, + nsIDOMHTMLMediaElement, nsIDOMHTMLVideoElement) NS_IMPL_ELEMENT_CLONE(HTMLVideoElement) diff --git a/content/html/content/src/nsGenericHTMLElement.cpp b/content/html/content/src/nsGenericHTMLElement.cpp index 326c9748e61d..9d7e68695371 100644 --- a/content/html/content/src/nsGenericHTMLElement.cpp +++ b/content/html/content/src/nsGenericHTMLElement.cpp @@ -254,26 +254,16 @@ NS_INTERFACE_TABLE_HEAD(nsGenericHTMLElementTearoff) NS_INTERFACE_TABLE_TO_MAP_SEGUE_CYCLE_COLLECTION(nsGenericHTMLElementTearoff) NS_INTERFACE_MAP_END_AGGREGATED(mElement) -nsresult -nsGenericHTMLElement::DOMQueryInterface(nsIDOMHTMLElement *aElement, - REFNSIID aIID, void **aInstancePtr) -{ - NS_PRECONDITION(aInstancePtr, "null out param"); +NS_IMPL_ADDREF_INHERITED(nsGenericHTMLElement, nsGenericHTMLElementBase) +NS_IMPL_RELEASE_INHERITED(nsGenericHTMLElement, nsGenericHTMLElementBase) - nsresult rv = NS_ERROR_FAILURE; - - NS_INTERFACE_TABLE_BEGIN - NS_INTERFACE_TABLE_ENTRY(nsIDOMHTMLElement, nsIDOMNode) - NS_INTERFACE_TABLE_ENTRY(nsIDOMHTMLElement, nsIDOMElement) - NS_INTERFACE_TABLE_ENTRY(nsIDOMHTMLElement, nsIDOMHTMLElement) - NS_INTERFACE_TABLE_END_WITH_PTR(aElement) - - NS_INTERFACE_TABLE_TO_MAP_SEGUE +NS_INTERFACE_MAP_BEGIN(nsGenericHTMLElement) + NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLElement) + NS_INTERFACE_MAP_ENTRY(nsIDOMElement) + NS_INTERFACE_MAP_ENTRY(nsIDOMNode) NS_INTERFACE_MAP_ENTRY_TEAROFF(nsIDOMElementCSSInlineStyle, new nsGenericHTMLElementTearoff(this)) - NS_INTERFACE_MAP_END - -// No closing bracket, because NS_INTERFACE_MAP_END does that for us. +NS_INTERFACE_MAP_END_INHERITING(nsGenericHTMLElementBase) nsresult nsGenericHTMLElement::CopyInnerTo(Element* aDst) @@ -325,7 +315,7 @@ nsGenericHTMLElement::Dataset() return ret.forget(); } -nsresult +NS_IMETHODIMP nsGenericHTMLElement::GetDataset(nsISupports** aDataset) { *aDataset = Dataset().get(); @@ -352,7 +342,7 @@ static const nsAttrValue::EnumTable kDirTable[] = { }; void -nsGenericHTMLElement::GetAccessKeyLabel(nsAString& aLabel) +nsGenericHTMLElement::GetAccessKeyLabel(nsString& aLabel) { nsPresContext *presContext = GetPresContext(); @@ -528,7 +518,7 @@ nsGenericHTMLElement::Spellcheck() } // Anything else that's not a form control is not spellchecked by default - nsCOMPtr formControl = do_QueryInterface(this); + nsCOMPtr formControl = do_QueryObject(this); if (!formControl) { return false; // Not spellchecked by default } @@ -704,7 +694,7 @@ nsGenericHTMLElement::FindAncestorForm(HTMLFormElement* aCurrentForm) bool nsGenericHTMLElement::CheckHandleEventForAnchorsPreconditions(nsEventChainVisitor& aVisitor) { - NS_PRECONDITION(nsCOMPtr(do_QueryInterface(this)), + NS_PRECONDITION(nsCOMPtr(do_QueryObject(this)), "should be called only when |this| implements |nsILink|"); if (!aVisitor.mPresContext) { @@ -1925,10 +1915,11 @@ nsGenericHTMLElement::GetContextMenu() const return nullptr; } -void -nsGenericHTMLElement::GetContextMenu(nsIDOMHTMLMenuElement** aContextMenu) const +NS_IMETHODIMP +nsGenericHTMLElement::GetContextMenu(nsIDOMHTMLMenuElement** aContextMenu) { NS_IF_ADDREF(*aContextMenu = GetContextMenu()); + return NS_OK; } bool @@ -2039,9 +2030,9 @@ nsGenericHTMLFormElement::~nsGenericHTMLFormElement() NS_ASSERTION(!mForm, "mForm should be null at this point!"); } -NS_IMPL_QUERY_INTERFACE_INHERITED1(nsGenericHTMLFormElement, - nsGenericHTMLElement, - nsIFormControl) +NS_IMPL_ISUPPORTS_INHERITED1(nsGenericHTMLFormElement, + nsGenericHTMLElement, + nsIFormControl) nsINode* nsGenericHTMLFormElement::GetParentObject() const @@ -2716,8 +2707,7 @@ nsGenericHTMLElement::Focus(ErrorResult& aError) { nsIFocusManager* fm = nsFocusManager::GetFocusManager(); if (fm) { - nsCOMPtr elem = do_QueryInterface(this); - aError = fm->SetFocus(elem, 0); + aError = fm->SetFocus(this, 0); } } @@ -2748,7 +2738,7 @@ nsGenericHTMLElement::Click() NS_MOUSE_CLICK, nullptr, nsMouseEvent::eReal); event.inputSource = nsIDOMMouseEvent::MOZ_SOURCE_UNKNOWN; - nsEventDispatcher::Dispatch(this, context, &event); + nsEventDispatcher::Dispatch(static_cast(this), context, &event); ClearHandlingClick(); } @@ -2842,8 +2832,7 @@ nsGenericHTMLElement::PerformAccesskey(bool aKeyCausesActivation, // It's hard to say what HTML4 wants us to do in all cases. nsIFocusManager* fm = nsFocusManager::GetFocusManager(); if (fm) { - nsCOMPtr elem = do_QueryInterface(this); - fm->SetFocus(elem, nsIFocusManager::FLAG_BYKEY); + fm->SetFocus(this, nsIFocusManager::FLAG_BYKEY); } if (aKeyCausesActivation) { @@ -2855,7 +2844,7 @@ nsGenericHTMLElement::PerformAccesskey(bool aKeyCausesActivation, nsAutoPopupStatePusher popupStatePusher(aIsTrustedEvent ? openAllowed : openAbused); - nsEventDispatcher::Dispatch(this, presContext, &event); + nsEventDispatcher::Dispatch(static_cast(this), presContext, &event); } } @@ -3188,7 +3177,7 @@ nsGenericHTMLElement::GetItemValue(nsIVariant** aValue) } if (ItemScope()) { - out->SetAsISupports(static_cast(this)); + out->SetAsISupports(static_cast(this)); } else { nsAutoString string; GetItemValueText(string); @@ -3312,10 +3301,11 @@ nsGenericHTMLElement::Properties() return properties; } -void +NS_IMETHODIMP nsGenericHTMLElement::GetProperties(nsISupports** aProperties) { NS_ADDREF(*aProperties = static_cast(Properties())); + return NS_OK; } nsSize diff --git a/content/html/content/src/nsGenericHTMLElement.h b/content/html/content/src/nsGenericHTMLElement.h index 1f2f6ab25ee1..c9298e44a61d 100644 --- a/content/html/content/src/nsGenericHTMLElement.h +++ b/content/html/content/src/nsGenericHTMLElement.h @@ -50,7 +50,8 @@ typedef nsMappedAttributeElement nsGenericHTMLElementBase; /** * A common superclass for HTML elements */ -class nsGenericHTMLElement : public nsGenericHTMLElementBase +class nsGenericHTMLElement : public nsGenericHTMLElementBase, + public nsIDOMHTMLElement { public: nsGenericHTMLElement(already_AddRefed aNodeInfo) @@ -62,39 +63,32 @@ public: SetFlags(NODE_HAS_DIRECTION_LTR); } - NS_IMPL_FROMCONTENT(nsGenericHTMLElement, kNameSpaceID_XHTML) + NS_DECL_ISUPPORTS_INHERITED - /** - * Handle QI for the standard DOM interfaces (DOMNode, DOMElement, - * DOMHTMLElement) and handles tearoffs for other standard interfaces. - * @param aElement the element as nsIDOMHTMLElement* - * @param aIID the IID to QI to - * @param aInstancePtr the QI'd method [OUT] - * @see nsGenericHTMLElementTearoff - */ - nsresult DOMQueryInterface(nsIDOMHTMLElement *aElement, REFNSIID aIID, - void **aInstancePtr); + NS_IMPL_FROMCONTENT(nsGenericHTMLElement, kNameSpaceID_XHTML) // From Element nsresult CopyInnerTo(mozilla::dom::Element* aDest); - void GetTitle(nsAString& aTitle) const + void GetTitle(nsString& aTitle) { GetHTMLAttr(nsGkAtoms::title, aTitle); } - void SetTitle(const nsAString& aTitle) + NS_IMETHODIMP SetTitle(const nsAString& aTitle) { SetHTMLAttr(nsGkAtoms::title, aTitle); + return NS_OK; } - void GetLang(nsAString& aLang) const + void GetLang(nsString& aLang) { GetHTMLAttr(nsGkAtoms::lang, aLang); } - void SetLang(const nsAString& aLang) + NS_IMETHODIMP SetLang(const nsAString& aLang) { SetHTMLAttr(nsGkAtoms::lang, aLang); + return NS_OK; } - void GetDir(nsAString& aDir) const + void GetDir(nsString& aDir) { GetHTMLEnumAttr(nsGkAtoms::dir, aDir); } @@ -115,7 +109,7 @@ public: { return GetTokenList(nsGkAtoms::itemtype); } - void GetItemId(nsAString& aItemId) const + void GetItemId(nsString& aItemId) { GetHTMLURIAttr(nsGkAtoms::itemid, aItemId); } @@ -163,7 +157,7 @@ public: } virtual void Focus(mozilla::ErrorResult& aError); void Blur(mozilla::ErrorResult& aError); - void GetAccessKey(nsAString& aAccessKey) const + void GetAccessKey(nsString& aAccessKey) { GetHTMLAttr(nsGkAtoms::accesskey, aAccessKey); } @@ -171,7 +165,7 @@ public: { SetHTMLAttr(nsGkAtoms::accesskey, aAccessKey, aError); } - void GetAccessKeyLabel(nsAString& aAccessKeyLabel); + void GetAccessKeyLabel(nsString& aAccessKeyLabel); virtual bool Draggable() const { return AttrValueIs(kNameSpaceID_None, nsGkAtoms::draggable, @@ -184,7 +178,7 @@ public: : NS_LITERAL_STRING("false"), aError); } - void GetContentEditable(nsAString& aContentEditable) const + void GetContentEditable(nsString& aContentEditable) { ContentEditableTristate value = GetContentEditableValue(); if (value == eTrue) { @@ -257,7 +251,7 @@ public: #undef ERROR_EVENT #undef FORWARDED_EVENT #undef EVENT - void GetClassName(nsAString& aClassName) + void GetClassName(nsString& aClassName) { GetAttr(kNameSpaceID_None, nsGkAtoms::_class, aClassName); } @@ -299,17 +293,7 @@ public: return rcFrame.height; } - // nsIDOMHTMLElement methods. Note that these are non-virtual - // methods, implementations are expected to forward calls to these - // methods. - NS_IMETHOD InsertAdjacentHTML(const nsAString& aPosition, - const nsAString& aText); - NS_IMETHOD GetItemValue(nsIVariant** aValue); - NS_IMETHOD SetItemValue(nsIVariant* aValue); protected: - void GetProperties(nsISupports** aProperties); - void GetContextMenu(nsIDOMHTMLMenuElement** aContextMenu) const; - // These methods are used to implement element-specific behavior of Get/SetItemValue // when an element has @itemprop but no @itemscope. virtual void GetItemValueText(nsAString& text); @@ -318,11 +302,9 @@ protected: void GetTokenList(nsIAtom* aAtom, nsIVariant** aResult); nsresult SetTokenList(nsIAtom* aAtom, nsIVariant* aValue); public: - nsresult SetContentEditable(const nsAString &aContentEditable); virtual already_AddRefed GetUndoManager(); virtual bool UndoScope() MOZ_OVERRIDE; virtual void SetUndoScope(bool aUndoScope, mozilla::ErrorResult& aError) MOZ_OVERRIDE; - nsresult GetDataset(nsISupports** aDataset); // Callback for destructor of of dataset to ensure to null out weak pointer. nsresult ClearDataset(); @@ -331,6 +313,236 @@ public: */ nsSize GetWidthHeightForImage(imgIRequest *aImageRequest); + // XPIDL methods + NS_FORWARD_NSIDOMNODE_TO_NSINODE + + NS_FORWARD_NSIDOMELEMENT_TO_GENERIC + + NS_IMETHOD GetId(nsAString& aId) MOZ_FINAL { + mozilla::dom::Element::GetId(aId); + return NS_OK; + } + NS_IMETHOD SetId(const nsAString& aId) MOZ_FINAL { + mozilla::dom::Element::SetId(aId); + return NS_OK; + } + NS_IMETHOD GetTitle(nsAString& aTitle) MOZ_FINAL { + nsString title; + GetTitle(title); + aTitle.Assign(title); + return NS_OK; + } + NS_IMETHOD GetLang(nsAString& aLang) MOZ_FINAL { + nsString lang; + GetLang(lang); + aLang.Assign(lang); + return NS_OK; + } + NS_IMETHOD GetDir(nsAString& aDir) MOZ_FINAL { + nsString dir; + GetDir(dir); + aDir.Assign(dir); + return NS_OK; + } + NS_IMETHOD SetDir(const nsAString& aDir) MOZ_FINAL { + mozilla::ErrorResult rv; + SetDir(aDir, rv); + return rv.ErrorCode(); + } + NS_IMETHOD GetDOMClassName(nsAString& aClassName) MOZ_FINAL { + GetHTMLAttr(nsGkAtoms::_class, aClassName); + return NS_OK; + } + NS_IMETHOD SetDOMClassName(const nsAString& aClassName) MOZ_FINAL { + SetClassName(aClassName); + return NS_OK; + } + NS_IMETHOD GetDataset(nsISupports** aDataset) MOZ_FINAL; + NS_IMETHOD GetHidden(bool* aHidden) MOZ_FINAL { + *aHidden = Hidden(); + return NS_OK; + } + NS_IMETHOD SetHidden(bool aHidden) MOZ_FINAL { + mozilla::ErrorResult rv; + SetHidden(aHidden, rv); + return rv.ErrorCode(); + } + NS_IMETHOD DOMBlur() MOZ_FINAL { + mozilla::ErrorResult rv; + Blur(rv); + return rv.ErrorCode(); + } + NS_IMETHOD GetItemScope(bool* aItemScope) MOZ_FINAL { + *aItemScope = ItemScope(); + return NS_OK; + } + NS_IMETHOD SetItemScope(bool aItemScope) MOZ_FINAL { + mozilla::ErrorResult rv; + SetItemScope(aItemScope, rv); + return rv.ErrorCode(); + } + NS_IMETHOD GetItemType(nsIVariant** aType) MOZ_FINAL { + GetTokenList(nsGkAtoms::itemtype, aType); + return NS_OK; + } + NS_IMETHOD SetItemType(nsIVariant* aType) MOZ_FINAL { + return SetTokenList(nsGkAtoms::itemtype, aType); + } + NS_IMETHOD GetItemId(nsAString& aId) MOZ_FINAL { + nsString id; + GetItemId(id); + aId.Assign(aId); + return NS_OK; + } + NS_IMETHOD SetItemId(const nsAString& aId) MOZ_FINAL { + mozilla::ErrorResult rv; + SetItemId(aId, rv); + return rv.ErrorCode(); + } + NS_IMETHOD GetProperties(nsISupports** aReturn) MOZ_FINAL; + NS_IMETHOD GetItemValue(nsIVariant** aValue) MOZ_FINAL; + NS_IMETHOD SetItemValue(nsIVariant* aValue) MOZ_FINAL; + NS_IMETHOD GetItemRef(nsIVariant** aRef) MOZ_FINAL { + GetTokenList(nsGkAtoms::itemref, aRef); + return NS_OK; + } + NS_IMETHOD SetItemRef(nsIVariant* aRef) MOZ_FINAL { + return SetTokenList(nsGkAtoms::itemref, aRef); + } + NS_IMETHOD GetItemProp(nsIVariant** aProp) MOZ_FINAL { + GetTokenList(nsGkAtoms::itemprop, aProp); + return NS_OK; + } + NS_IMETHOD SetItemProp(nsIVariant* aProp) MOZ_FINAL { + return SetTokenList(nsGkAtoms::itemprop, aProp); + } + NS_IMETHOD GetAccessKey(nsAString& aAccessKey) MOZ_FINAL { + nsString accessKey; + GetAccessKey(accessKey); + aAccessKey.Assign(accessKey); + return NS_OK; + } + NS_IMETHOD SetAccessKey(const nsAString& aAccessKey) MOZ_FINAL { + mozilla::ErrorResult rv; + SetAccessKey(aAccessKey, rv); + return rv.ErrorCode(); + } + NS_IMETHOD GetAccessKeyLabel(nsAString& aAccessKeyLabel) MOZ_FINAL { + nsString accessKeyLabel; + GetAccessKeyLabel(accessKeyLabel); + aAccessKeyLabel.Assign(accessKeyLabel); + return NS_OK; + } + NS_IMETHOD SetDraggable(bool aDraggable) MOZ_FINAL { + mozilla::ErrorResult rv; + SetDraggable(aDraggable, rv); + return rv.ErrorCode(); + } + NS_IMETHOD GetContentEditable(nsAString& aContentEditable) MOZ_FINAL { + nsString contentEditable; + GetContentEditable(contentEditable); + aContentEditable.Assign(contentEditable); + return NS_OK; + } + NS_IMETHOD SetContentEditable(const nsAString& aContentEditable) MOZ_FINAL { + mozilla::ErrorResult rv; + SetContentEditable(aContentEditable, rv); + return rv.ErrorCode(); + } + NS_IMETHOD GetIsContentEditable(bool* aIsContentEditable) MOZ_FINAL { + *aIsContentEditable = IsContentEditable(); + return NS_OK; + } + NS_IMETHOD GetContextMenu(nsIDOMHTMLMenuElement** aContextMenu) MOZ_FINAL; + NS_IMETHOD GetSpellcheck(bool* aSpellcheck) MOZ_FINAL { + *aSpellcheck = Spellcheck(); + return NS_OK; + } + NS_IMETHOD SetSpellcheck(bool aSpellcheck) MOZ_FINAL { + mozilla::ErrorResult rv; + SetSpellcheck(aSpellcheck, rv); + return rv.ErrorCode(); + } + NS_IMETHOD GetOuterHTML(nsAString& aOuterHTML) MOZ_FINAL { + mozilla::ErrorResult rv; + mozilla::dom::Element::GetOuterHTML(aOuterHTML, rv); + return rv.ErrorCode(); + } + NS_IMETHOD SetOuterHTML(const nsAString& aOuterHTML) MOZ_FINAL { + mozilla::ErrorResult rv; + mozilla::dom::Element::SetOuterHTML(aOuterHTML, rv); + return rv.ErrorCode(); + } \ + NS_IMETHOD InsertAdjacentHTML(const nsAString& position, + const nsAString& text) MOZ_FINAL; + NS_IMETHOD ScrollIntoView(bool top, uint8_t _argc) MOZ_FINAL { + if (!_argc) { + top = true; + } + mozilla::dom::Element::ScrollIntoView(top); + return NS_OK; + } + NS_IMETHOD GetOffsetParent(nsIDOMElement** aOffsetParent) MOZ_FINAL { + mozilla::dom::Element* offsetParent = GetOffsetParent(); + if (!offsetParent) { + *aOffsetParent = nullptr; + return NS_OK; + } + return CallQueryInterface(offsetParent, aOffsetParent); + } + NS_IMETHOD GetOffsetTop(int32_t* aOffsetTop) MOZ_FINAL { + *aOffsetTop = OffsetTop(); + return NS_OK; + } + NS_IMETHOD GetOffsetLeft(int32_t* aOffsetLeft) MOZ_FINAL { + *aOffsetLeft = OffsetLeft(); + return NS_OK; + } + NS_IMETHOD GetOffsetWidth(int32_t* aOffsetWidth) MOZ_FINAL { + *aOffsetWidth = OffsetWidth(); + return NS_OK; + } + NS_IMETHOD GetOffsetHeight(int32_t* aOffsetHeight) MOZ_FINAL { + *aOffsetHeight = OffsetHeight(); + return NS_OK; + } + NS_IMETHOD DOMClick() MOZ_FINAL { + Click(); + return NS_OK; + } + NS_IMETHOD GetTabIndex(int32_t* aTabIndex) MOZ_FINAL { + *aTabIndex = TabIndex(); + return NS_OK; + } + NS_IMETHOD SetTabIndex(int32_t aTabIndex) MOZ_FINAL { + mozilla::ErrorResult rv; + SetTabIndex(aTabIndex, rv); + return rv.ErrorCode(); + } + NS_IMETHOD Focus() MOZ_FINAL { + mozilla::ErrorResult rv; + Focus(rv); + return rv.ErrorCode(); + } + NS_IMETHOD GetDraggable(bool* aDraggable) MOZ_FINAL { + *aDraggable = Draggable(); + return NS_OK; + } + using mozilla::dom::Element::GetInnerHTML; + NS_IMETHOD GetInnerHTML(nsAString& aInnerHTML) MOZ_FINAL { + mozilla::ErrorResult rv; + GetInnerHTML(aInnerHTML, rv); + return rv.ErrorCode(); + } + using mozilla::dom::Element::SetInnerHTML; + NS_IMETHOD SetInnerHTML(const nsAString& aInnerHTML) MOZ_FINAL { + mozilla::ErrorResult rv; + SetInnerHTML(aInnerHTML, rv); + return rv.ErrorCode(); + } + + virtual nsIDOMNode* AsDOMNode() MOZ_OVERRIDE { return this; } + public: // Implementation for nsIContent virtual nsresult BindToTree(nsIDocument* aDocument, nsIContent* aParent, @@ -1053,7 +1265,7 @@ public: nsGenericHTMLFormElement(already_AddRefed aNodeInfo); virtual ~nsGenericHTMLFormElement(); - NS_IMETHOD QueryInterface(REFNSIID aIID, void** aInstancePtr) MOZ_OVERRIDE; + NS_DECL_ISUPPORTS_INHERITED nsINode* GetParentObject() const; @@ -1457,266 +1669,11 @@ protected: return SetAttrHelper(nsGkAtoms::_atom, aValue); \ } -/** - * QueryInterface() implementation helper macros - */ - -#define NS_HTML_CONTENT_INTERFACES_AMBIGUOUS(_base, _base_if) \ - { \ - nsresult html_rv = _base::QueryInterface(aIID, aInstancePtr); \ - if (NS_SUCCEEDED(html_rv)) \ - return html_rv; \ - \ - html_rv = DOMQueryInterface(static_cast<_base_if *>(this), aIID, \ - aInstancePtr); \ - if (NS_SUCCEEDED(html_rv)) \ - return html_rv; \ - } - -#define NS_HTML_CONTENT_INTERFACES(_base) \ - NS_HTML_CONTENT_INTERFACES_AMBIGUOUS(_base, nsIDOMHTMLElement) - #define NS_INTERFACE_MAP_ENTRY_IF_TAG(_interface, _tag) \ NS_INTERFACE_MAP_ENTRY_CONDITIONAL(_interface, \ mNodeInfo->Equals(nsGkAtoms::_tag)) -#define NS_FORWARD_NSIDOMHTMLELEMENT_TO_GENERIC \ - NS_IMETHOD GetId(nsAString& aId) MOZ_FINAL { \ - mozilla::dom::Element::GetId(aId); \ - return NS_OK; \ - } \ - NS_IMETHOD SetId(const nsAString& aId) MOZ_FINAL { \ - mozilla::dom::Element::SetId(aId); \ - return NS_OK; \ - } \ - NS_IMETHOD GetTitle(nsAString& aTitle) MOZ_FINAL { \ - nsGenericHTMLElement::GetTitle(aTitle); \ - return NS_OK; \ - } \ - NS_IMETHOD SetTitle(const nsAString& aTitle) MOZ_FINAL { \ - nsGenericHTMLElement::SetTitle(aTitle); \ - return NS_OK; \ - } \ - NS_IMETHOD GetLang(nsAString& aLang) MOZ_FINAL { \ - nsGenericHTMLElement::GetLang(aLang); \ - return NS_OK; \ - } \ - NS_IMETHOD SetLang(const nsAString& aLang) MOZ_FINAL { \ - nsGenericHTMLElement::SetLang(aLang); \ - return NS_OK; \ - } \ - NS_IMETHOD GetDir(nsAString& aDir) MOZ_FINAL { \ - nsGenericHTMLElement::GetDir(aDir); \ - return NS_OK; \ - } \ - NS_IMETHOD SetDir(const nsAString& aDir) MOZ_FINAL { \ - mozilla::ErrorResult rv; \ - nsGenericHTMLElement::SetDir(aDir, rv); \ - return rv.ErrorCode(); \ - } \ - NS_IMETHOD GetClassName(nsAString& aClassName) MOZ_FINAL { \ - nsGenericHTMLElement::GetClassName(aClassName); \ - return NS_OK; \ - } \ - NS_IMETHOD SetClassName(const nsAString& aClassName) MOZ_FINAL { \ - nsGenericHTMLElement::SetClassName(aClassName); \ - return NS_OK; \ - } \ - NS_IMETHOD GetDataset(nsISupports** aDataset) MOZ_FINAL { \ - return nsGenericHTMLElement::GetDataset(aDataset); \ - } \ - NS_IMETHOD GetHidden(bool* aHidden) MOZ_FINAL { \ - *aHidden = nsGenericHTMLElement::Hidden(); \ - return NS_OK; \ - } \ - NS_IMETHOD SetHidden(bool aHidden) MOZ_FINAL { \ - mozilla::ErrorResult rv; \ - nsGenericHTMLElement::SetHidden(aHidden, rv); \ - return rv.ErrorCode(); \ - } \ - NS_IMETHOD DOMBlur() MOZ_FINAL { \ - mozilla::ErrorResult rv; \ - nsGenericHTMLElement::Blur(rv); \ - return rv.ErrorCode(); \ - } \ - NS_IMETHOD GetItemScope(bool* aItemScope) MOZ_FINAL { \ - *aItemScope = nsGenericHTMLElement::ItemScope(); \ - return NS_OK; \ - } \ - NS_IMETHOD SetItemScope(bool aItemScope) MOZ_FINAL { \ - mozilla::ErrorResult rv; \ - nsGenericHTMLElement::SetItemScope(aItemScope, rv); \ - return rv.ErrorCode(); \ - } \ - NS_IMETHOD GetItemType(nsIVariant** aType) MOZ_FINAL { \ - GetTokenList(nsGkAtoms::itemtype, aType); \ - return NS_OK; \ - } \ - NS_IMETHOD SetItemType(nsIVariant* aType) MOZ_FINAL { \ - return nsGenericHTMLElement::SetTokenList(nsGkAtoms::itemtype, aType); \ - } \ - NS_IMETHOD GetItemId(nsAString& aId) MOZ_FINAL { \ - nsGenericHTMLElement::GetItemId(aId); \ - return NS_OK; \ - } \ - NS_IMETHOD SetItemId(const nsAString& aId) MOZ_FINAL { \ - mozilla::ErrorResult rv; \ - nsGenericHTMLElement::SetItemId(aId, rv); \ - return rv.ErrorCode(); \ - } \ - NS_IMETHOD GetProperties(nsISupports** aReturn) \ - MOZ_FINAL { \ - nsGenericHTMLElement::GetProperties(aReturn); \ - return NS_OK; \ - } \ - NS_IMETHOD GetItemValue(nsIVariant** aValue) MOZ_FINAL { \ - return nsGenericHTMLElement::GetItemValue(aValue); \ - } \ - NS_IMETHOD SetItemValue(nsIVariant* aValue) MOZ_FINAL { \ - return nsGenericHTMLElement::SetItemValue(aValue); \ - } \ - NS_IMETHOD GetItemRef(nsIVariant** aRef) MOZ_FINAL { \ - GetTokenList(nsGkAtoms::itemref, aRef); \ - return NS_OK; \ - } \ - NS_IMETHOD SetItemRef(nsIVariant* aRef) MOZ_FINAL { \ - return nsGenericHTMLElement::SetTokenList(nsGkAtoms::itemref, aRef); \ - } \ - NS_IMETHOD GetItemProp(nsIVariant** aProp) MOZ_FINAL { \ - GetTokenList(nsGkAtoms::itemprop, aProp); \ - return NS_OK; \ - } \ - NS_IMETHOD SetItemProp(nsIVariant* aProp) MOZ_FINAL { \ - return nsGenericHTMLElement::SetTokenList(nsGkAtoms::itemprop, aProp); \ - } \ - NS_IMETHOD GetAccessKey(nsAString& aAccessKey) MOZ_FINAL { \ - nsGenericHTMLElement::GetAccessKey(aAccessKey); \ - return NS_OK; \ - } \ - NS_IMETHOD SetAccessKey(const nsAString& aAccessKey) MOZ_FINAL { \ - mozilla::ErrorResult rv; \ - nsGenericHTMLElement::SetAccessKey(aAccessKey, rv); \ - return rv.ErrorCode(); \ - } \ - NS_IMETHOD GetAccessKeyLabel(nsAString& aAccessKeyLabel) MOZ_FINAL { \ - nsGenericHTMLElement::GetAccessKeyLabel(aAccessKeyLabel); \ - return NS_OK; \ - } \ - NS_IMETHOD SetDraggable(bool aDraggable) MOZ_FINAL { \ - mozilla::ErrorResult rv; \ - nsGenericHTMLElement::SetDraggable(aDraggable, rv); \ - return rv.ErrorCode(); \ - } \ - NS_IMETHOD GetContentEditable(nsAString& aContentEditable) MOZ_FINAL { \ - nsGenericHTMLElement::GetContentEditable(aContentEditable); \ - return NS_OK; \ - } \ - NS_IMETHOD SetContentEditable(const nsAString& aContentEditable) MOZ_FINAL { \ - mozilla::ErrorResult rv; \ - nsGenericHTMLElement::SetContentEditable(aContentEditable, rv); \ - return rv.ErrorCode(); \ - } \ - NS_IMETHOD GetIsContentEditable(bool* aIsContentEditable) MOZ_FINAL { \ - *aIsContentEditable = nsGenericHTMLElement::IsContentEditable(); \ - return NS_OK; \ - } \ - NS_IMETHOD GetContextMenu(nsIDOMHTMLMenuElement** aContextMenu) MOZ_FINAL { \ - nsGenericHTMLElement::GetContextMenu(aContextMenu); \ - return NS_OK; \ - } \ - NS_IMETHOD GetSpellcheck(bool* aSpellcheck) MOZ_FINAL { \ - *aSpellcheck = nsGenericHTMLElement::Spellcheck(); \ - return NS_OK; \ - } \ - NS_IMETHOD SetSpellcheck(bool aSpellcheck) MOZ_FINAL { \ - mozilla::ErrorResult rv; \ - nsGenericHTMLElement::SetSpellcheck(aSpellcheck, rv); \ - return rv.ErrorCode(); \ - } \ - NS_IMETHOD GetOuterHTML(nsAString& aOuterHTML) MOZ_FINAL { \ - mozilla::ErrorResult rv; \ - nsGenericHTMLElement::GetOuterHTML(aOuterHTML, rv); \ - return rv.ErrorCode(); \ - } \ - NS_IMETHOD SetOuterHTML(const nsAString& aOuterHTML) MOZ_FINAL { \ - mozilla::ErrorResult rv; \ - nsGenericHTMLElement::SetOuterHTML(aOuterHTML, rv); \ - return rv.ErrorCode(); \ - } \ - NS_IMETHOD InsertAdjacentHTML(const nsAString& position, \ - const nsAString& text) MOZ_FINAL { \ - return nsGenericHTMLElement::InsertAdjacentHTML(position, text); \ - } \ - NS_IMETHOD ScrollIntoView(bool top, uint8_t _argc) MOZ_FINAL { \ - if (!_argc) { \ - top = true; \ - } \ - mozilla::dom::Element::ScrollIntoView(top); \ - return NS_OK; \ - } \ - NS_IMETHOD GetOffsetParent(nsIDOMElement** aOffsetParent) MOZ_FINAL { \ - mozilla::dom::Element* offsetParent = \ - nsGenericHTMLElement::GetOffsetParent(); \ - if (!offsetParent) { \ - *aOffsetParent = nullptr; \ - return NS_OK; \ - } \ - return CallQueryInterface(offsetParent, aOffsetParent); \ - } \ - NS_IMETHOD GetOffsetTop(int32_t* aOffsetTop) MOZ_FINAL { \ - *aOffsetTop = nsGenericHTMLElement::OffsetTop(); \ - return NS_OK; \ - } \ - NS_IMETHOD GetOffsetLeft(int32_t* aOffsetLeft) MOZ_FINAL { \ - *aOffsetLeft = nsGenericHTMLElement::OffsetLeft(); \ - return NS_OK; \ - } \ - NS_IMETHOD GetOffsetWidth(int32_t* aOffsetWidth) MOZ_FINAL { \ - *aOffsetWidth = nsGenericHTMLElement::OffsetWidth(); \ - return NS_OK; \ - } \ - NS_IMETHOD GetOffsetHeight(int32_t* aOffsetHeight) MOZ_FINAL { \ - *aOffsetHeight = nsGenericHTMLElement::OffsetHeight(); \ - return NS_OK; \ - } \ - NS_IMETHOD DOMClick() MOZ_FINAL { \ - Click(); \ - return NS_OK; \ - } \ - NS_IMETHOD GetTabIndex(int32_t* aTabIndex) MOZ_FINAL { \ - *aTabIndex = TabIndex(); \ - return NS_OK; \ - } \ - using nsGenericHTMLElement::SetTabIndex; \ - NS_IMETHOD SetTabIndex(int32_t aTabIndex) MOZ_FINAL { \ - mozilla::ErrorResult rv; \ - nsGenericHTMLElement::SetTabIndex(aTabIndex, rv); \ - return rv.ErrorCode(); \ - } \ - using nsGenericHTMLElement::Focus; \ - NS_IMETHOD Focus() MOZ_FINAL { \ - mozilla::ErrorResult rv; \ - Focus(rv); \ - return rv.ErrorCode(); \ - } \ - NS_IMETHOD GetDraggable(bool* aDraggable) MOZ_FINAL { \ - *aDraggable = Draggable(); \ - return NS_OK; \ - } \ - using Element::GetInnerHTML; \ - NS_IMETHOD GetInnerHTML(nsAString& aInnerHTML) MOZ_FINAL { \ - mozilla::ErrorResult rv; \ - GetInnerHTML(aInnerHTML, rv); \ - return rv.ErrorCode(); \ - } \ - using Element::SetInnerHTML; \ - NS_IMETHOD SetInnerHTML(const nsAString& aInnerHTML) MOZ_FINAL { \ - mozilla::ErrorResult rv; \ - SetInnerHTML(aInnerHTML, rv); \ - return rv.ErrorCode(); \ - } - /** * A macro to declare the NS_NewHTMLXXXElement() functions. */ @@ -1832,13 +1789,13 @@ NS_DECLARE_NS_NEW_HTML_ELEMENT(Video) inline nsISupports* ToSupports(nsGenericHTMLElement* aHTMLElement) { - return aHTMLElement; + return static_cast(aHTMLElement); } inline nsISupports* ToCanonicalSupports(nsGenericHTMLElement* aHTMLElement) { - return aHTMLElement; + return static_cast(aHTMLElement); } #endif /* nsGenericHTMLElement_h___ */ diff --git a/content/html/content/src/nsGenericHTMLFrameElement.cpp b/content/html/content/src/nsGenericHTMLFrameElement.cpp index fe0e39d76984..36ec90f56c0b 100644 --- a/content/html/content/src/nsGenericHTMLFrameElement.cpp +++ b/content/html/content/src/nsGenericHTMLFrameElement.cpp @@ -26,13 +26,15 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(nsGenericHTMLFrameElement, NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mFrameLoader) NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END -NS_INTERFACE_TABLE_HEAD(nsGenericHTMLFrameElement) +NS_IMPL_ADDREF_INHERITED(nsGenericHTMLFrameElement, nsGenericHTMLElement) +NS_IMPL_RELEASE_INHERITED(nsGenericHTMLFrameElement, nsGenericHTMLElement) + +NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(nsGenericHTMLFrameElement) NS_INTERFACE_TABLE_INHERITED3(nsGenericHTMLFrameElement, nsIFrameLoaderOwner, nsIDOMMozBrowserFrame, nsIMozBrowserFrame) - NS_INTERFACE_TABLE_TO_MAP_SEGUE_CYCLE_COLLECTION(nsGenericHTMLFrameElement) -NS_INTERFACE_MAP_END_INHERITING(nsGenericHTMLElement) +NS_INTERFACE_TABLE_TAIL_INHERITING(nsGenericHTMLElement) NS_IMPL_BOOL_ATTR(nsGenericHTMLFrameElement, Mozbrowser, mozbrowser) diff --git a/content/html/content/src/nsGenericHTMLFrameElement.h b/content/html/content/src/nsGenericHTMLFrameElement.h index 7feec72b126f..df599dc417dd 100644 --- a/content/html/content/src/nsGenericHTMLFrameElement.h +++ b/content/html/content/src/nsGenericHTMLFrameElement.h @@ -38,7 +38,8 @@ public: virtual ~nsGenericHTMLFrameElement(); - NS_IMETHOD QueryInterface(REFNSIID aIID, void** aInstancePtr) MOZ_OVERRIDE; + NS_DECL_ISUPPORTS_INHERITED + NS_DECL_NSIFRAMELOADEROWNER NS_DECL_NSIDOMMOZBROWSERFRAME NS_DECL_NSIMOZBROWSERFRAME diff --git a/content/mathml/content/src/nsMathMLElement.cpp b/content/mathml/content/src/nsMathMLElement.cpp index 904e709589d5..e8d1a46f86a8 100644 --- a/content/mathml/content/src/nsMathMLElement.cpp +++ b/content/mathml/content/src/nsMathMLElement.cpp @@ -29,19 +29,11 @@ using namespace mozilla::dom; //---------------------------------------------------------------------- // nsISupports methods: -NS_INTERFACE_TABLE_HEAD(nsMathMLElement) - NS_INTERFACE_TABLE_INHERITED4(nsMathMLElement, - nsIDOMNode, - nsIDOMElement, - nsILink, - Link) - NS_ELEMENT_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END +NS_IMPL_ISUPPORTS_INHERITED4(nsMathMLElement, nsMathMLElementBase, + nsIDOMElement, nsIDOMNode, + nsILink, Link) -NS_IMPL_ADDREF_INHERITED(nsMathMLElement, nsMathMLElementBase) -NS_IMPL_RELEASE_INHERITED(nsMathMLElement, nsMathMLElementBase) - -static nsresult +static nsresult WarnDeprecated(const PRUnichar* aDeprecatedAttribute, const PRUnichar* aFavoredAttribute, nsIDocument* aDocument) { diff --git a/content/xml/content/src/nsXMLElement.cpp b/content/xml/content/src/nsXMLElement.cpp index 3f355fbe94ff..372a072f5b70 100644 --- a/content/xml/content/src/nsXMLElement.cpp +++ b/content/xml/content/src/nsXMLElement.cpp @@ -17,14 +17,8 @@ NS_NewXMLElement(nsIContent** aInstancePtrResult, already_AddRefed return NS_OK; } -// QueryInterface implementation for nsXMLElement -NS_INTERFACE_TABLE_HEAD(nsXMLElement) - NS_INTERFACE_TABLE_INHERITED2(nsXMLElement, nsIDOMNode, nsIDOMElement) - NS_ELEMENT_INTERFACE_TABLE_TO_MAP_SEGUE -NS_ELEMENT_INTERFACE_MAP_END - -NS_IMPL_ADDREF_INHERITED(nsXMLElement, Element) -NS_IMPL_RELEASE_INHERITED(nsXMLElement, Element) +NS_IMPL_ISUPPORTS_INHERITED2(nsXMLElement, Element, + nsIDOMNode, nsIDOMElement) JSObject* nsXMLElement::WrapNode(JSContext *aCx, JS::Handle aScope) diff --git a/content/xul/content/src/nsXULContextMenuBuilder.cpp b/content/xul/content/src/nsXULContextMenuBuilder.cpp index 7fc3508cbd4f..6317e5fb3b56 100644 --- a/content/xul/content/src/nsXULContextMenuBuilder.cpp +++ b/content/xul/content/src/nsXULContextMenuBuilder.cpp @@ -77,7 +77,8 @@ nsXULContextMenuBuilder::AddItemFor(nsIDOMHTMLMenuItemElement* aElement, } nsCOMPtr menuitem; - nsresult rv = CreateElement(nsGkAtoms::menuitem, aElement, + nsCOMPtr element = do_QueryInterface(aElement); + nsresult rv = CreateElement(nsGkAtoms::menuitem, element, getter_AddRefs(menuitem)); NS_ENSURE_SUCCESS(rv, rv); diff --git a/content/xul/content/src/nsXULElement.cpp b/content/xul/content/src/nsXULElement.cpp index 90873580d37a..61a1f4a2fd68 100644 --- a/content/xul/content/src/nsXULElement.cpp +++ b/content/xul/content/src/nsXULElement.cpp @@ -346,7 +346,7 @@ NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(nsXULElement) new nsXULElementTearoff(this)) NS_INTERFACE_MAP_ENTRY_TEAROFF(nsIFrameLoaderOwner, new nsXULElementTearoff(this)) -NS_ELEMENT_INTERFACE_MAP_END +NS_INTERFACE_MAP_END_INHERITING(nsStyledElement) //---------------------------------------------------------------------- // nsIDOMNode interface diff --git a/dom/base/nsDOMClassInfoID.h b/dom/base/nsDOMClassInfoID.h index a949997ff9f2..c3904f3e0a3f 100644 --- a/dom/base/nsDOMClassInfoID.h +++ b/dom/base/nsDOMClassInfoID.h @@ -57,8 +57,7 @@ DOMCI_CASTABLE_NODECL_INTERFACE(mozilla::dom::EventTarget, \ DOMCI_CASTABLE_INTERFACE(nsDOMEvent, nsIDOMEvent, 3, _extra) \ DOMCI_CASTABLE_INTERFACE(nsIDocument, nsIDocument, 4, _extra) \ DOMCI_CASTABLE_INTERFACE(nsDocument, nsIDocument, 5, _extra) \ -DOMCI_CASTABLE_INTERFACE(nsGenericHTMLElement, nsGenericHTMLElement, 6, \ - _extra) \ +DOMCI_CASTABLE_INTERFACE(nsGenericHTMLElement, nsIContent, 6, _extra) \ DOMCI_CASTABLE_INTERFACE(nsHTMLDocument, nsIDocument, 7, _extra) \ DOMCI_CASTABLE_INTERFACE(nsStyledElement, nsStyledElement, 8, _extra) \ DOMCI_CASTABLE_INTERFACE(nsSVGElement, nsIContent, 9, _extra) \ diff --git a/dom/interfaces/html/nsIDOMHTMLAnchorElement.idl b/dom/interfaces/html/nsIDOMHTMLAnchorElement.idl index ba5634a55673..25b9a74f8efb 100644 --- a/dom/interfaces/html/nsIDOMHTMLAnchorElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLAnchorElement.idl @@ -16,8 +16,8 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(76ec122a-db6d-4b3f-8a24-15faf117f695)] -interface nsIDOMHTMLAnchorElement : nsIDOMHTMLElement +[scriptable, uuid(339c01c8-2d41-4626-b231-eec63f0241b6)] +interface nsIDOMHTMLAnchorElement : nsISupports { attribute DOMString href; attribute DOMString target; diff --git a/dom/interfaces/html/nsIDOMHTMLAppletElement.idl b/dom/interfaces/html/nsIDOMHTMLAppletElement.idl index c2dc2b22b72a..6cce81699f2d 100644 --- a/dom/interfaces/html/nsIDOMHTMLAppletElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLAppletElement.idl @@ -16,8 +16,8 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(6f52375a-c9da-47fc-abf8-d009d1515426)] -interface nsIDOMHTMLAppletElement : nsIDOMHTMLElement +[scriptable, uuid(0b7d12c9-4cd3-47db-99c6-0b5ff910446c)] +interface nsIDOMHTMLAppletElement : nsISupports { attribute DOMString align; attribute DOMString alt; diff --git a/dom/interfaces/html/nsIDOMHTMLAreaElement.idl b/dom/interfaces/html/nsIDOMHTMLAreaElement.idl index 6cbdb6a4a130..819242e5f8a6 100644 --- a/dom/interfaces/html/nsIDOMHTMLAreaElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLAreaElement.idl @@ -16,8 +16,8 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(d2379fff-180b-4c8d-be2d-70c9048fa5a1)] -interface nsIDOMHTMLAreaElement : nsIDOMHTMLElement +[scriptable, uuid(40c78026-36dc-40ca-9221-de73267e9e99)] +interface nsIDOMHTMLAreaElement : nsISupports { attribute DOMString alt; attribute DOMString coords; diff --git a/dom/interfaces/html/nsIDOMHTMLAudioElement.idl b/dom/interfaces/html/nsIDOMHTMLAudioElement.idl index 98320c617fec..677e7de1bd69 100644 --- a/dom/interfaces/html/nsIDOMHTMLAudioElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLAudioElement.idl @@ -16,7 +16,7 @@ * @status UNDER_DEVELOPMENT */ -[scriptable, uuid(fdfda110-e96b-4e98-8716-167a6555c80a)] +[scriptable, uuid(75a7f3ca-0761-4b63-863b-6fd6a87ed51c)] interface nsIDOMHTMLAudioElement : nsIDOMHTMLMediaElement { }; diff --git a/dom/interfaces/html/nsIDOMHTMLBRElement.idl b/dom/interfaces/html/nsIDOMHTMLBRElement.idl index 7fbceedc8574..528380c6fea4 100644 --- a/dom/interfaces/html/nsIDOMHTMLBRElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLBRElement.idl @@ -16,8 +16,8 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(e619cdc1-b869-4ebf-a77c-754c68017240)] -interface nsIDOMHTMLBRElement : nsIDOMHTMLElement +[scriptable, uuid(ba8fb51a-e552-4272-b3df-5e63a60b86ee)] +interface nsIDOMHTMLBRElement : nsISupports { attribute DOMString clear; }; diff --git a/dom/interfaces/html/nsIDOMHTMLBaseElement.idl b/dom/interfaces/html/nsIDOMHTMLBaseElement.idl index 9cf5b3652242..9b64f081ba84 100644 --- a/dom/interfaces/html/nsIDOMHTMLBaseElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLBaseElement.idl @@ -16,8 +16,8 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(56d283c1-1715-4844-b58c-c4ab72072872)] -interface nsIDOMHTMLBaseElement : nsIDOMHTMLElement +[scriptable, uuid(a348ac22-7880-4613-af4c-984ec2ef5adc)] +interface nsIDOMHTMLBaseElement : nsISupports { attribute DOMString href; attribute DOMString target; diff --git a/dom/interfaces/html/nsIDOMHTMLBodyElement.idl b/dom/interfaces/html/nsIDOMHTMLBodyElement.idl index 5b67a8341d04..488137a98ad4 100644 --- a/dom/interfaces/html/nsIDOMHTMLBodyElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLBodyElement.idl @@ -20,8 +20,8 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(8b29a62f-b448-49f3-9242-241d5cf94ea9)] -interface nsIDOMHTMLBodyElement : nsIDOMHTMLElement +[scriptable, uuid(cc19f3c8-82fe-4337-8174-d4cde5bedcee)] +interface nsIDOMHTMLBodyElement : nsISupports { attribute DOMString aLink; attribute DOMString background; diff --git a/dom/interfaces/html/nsIDOMHTMLButtonElement.idl b/dom/interfaces/html/nsIDOMHTMLButtonElement.idl index 23584a11ab0b..031d4c2eee9b 100644 --- a/dom/interfaces/html/nsIDOMHTMLButtonElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLButtonElement.idl @@ -18,8 +18,8 @@ interface nsIDOMValidityState; -[scriptable, uuid(5564816e-2ab5-46ee-95a4-8f4688bdb449)] -interface nsIDOMHTMLButtonElement : nsIDOMHTMLElement +[scriptable, uuid(44b7a468-7dba-4f0c-9b4e-ee46dc0f26c7)] +interface nsIDOMHTMLButtonElement : nsISupports { attribute boolean autofocus; attribute boolean disabled; diff --git a/dom/interfaces/html/nsIDOMHTMLCanvasElement.idl b/dom/interfaces/html/nsIDOMHTMLCanvasElement.idl index 8922e150d8c4..c9f40ea36ef9 100644 --- a/dom/interfaces/html/nsIDOMHTMLCanvasElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLCanvasElement.idl @@ -46,8 +46,8 @@ interface nsIFileCallback : nsISupports { void receive(in nsIDOMBlob file); }; -[scriptable, uuid(788f69a4-30e0-42b4-804d-b99549f9d463)] -interface nsIDOMHTMLCanvasElement : nsIDOMHTMLElement +[scriptable, uuid(8978d1c5-2981-4678-a1c3-b0b7bae04fbc)] +interface nsIDOMHTMLCanvasElement : nsISupports { attribute unsigned long width; attribute unsigned long height; diff --git a/dom/interfaces/html/nsIDOMHTMLDirectoryElement.idl b/dom/interfaces/html/nsIDOMHTMLDirectoryElement.idl index ec9670861071..52db061885fa 100644 --- a/dom/interfaces/html/nsIDOMHTMLDirectoryElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLDirectoryElement.idl @@ -17,7 +17,7 @@ */ // Exists so that | element instanceof Ci.nsIDOMHTMLDirectoryElement | works. -[scriptable, uuid(cf50373e-e004-4cec-bc65-be9250d9e4c8)] -interface nsIDOMHTMLDirectoryElement : nsIDOMHTMLElement +[scriptable, uuid(8cfff7a4-8b14-4ce0-97b0-babe78da16f8)] +interface nsIDOMHTMLDirectoryElement : nsISupports { }; diff --git a/dom/interfaces/html/nsIDOMHTMLDivElement.idl b/dom/interfaces/html/nsIDOMHTMLDivElement.idl index 42d1ce77ce3d..ad0aa1745fba 100644 --- a/dom/interfaces/html/nsIDOMHTMLDivElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLDivElement.idl @@ -16,8 +16,8 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(f18a1930-0701-443b-9420-a937b61964d9)] -interface nsIDOMHTMLDivElement : nsIDOMHTMLElement +[scriptable, uuid(d1b51f44-38e0-4496-8236-b795e36df0e2)] +interface nsIDOMHTMLDivElement : nsISupports { attribute DOMString align; }; diff --git a/dom/interfaces/html/nsIDOMHTMLElement.idl b/dom/interfaces/html/nsIDOMHTMLElement.idl index bec7661f5c29..1dd1faa54191 100644 --- a/dom/interfaces/html/nsIDOMHTMLElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLElement.idl @@ -27,6 +27,7 @@ interface nsIDOMHTMLElement : nsIDOMElement attribute DOMString title; attribute DOMString lang; attribute DOMString dir; + [binaryname(DOMClassName)] attribute DOMString className; readonly attribute nsISupports dataset; diff --git a/dom/interfaces/html/nsIDOMHTMLEmbedElement.idl b/dom/interfaces/html/nsIDOMHTMLEmbedElement.idl index 3b68adc12fb7..5556c751acf1 100644 --- a/dom/interfaces/html/nsIDOMHTMLEmbedElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLEmbedElement.idl @@ -13,8 +13,8 @@ * http://www.whatwg.org/specs/web-apps/current-work/#the-embed-element */ -[scriptable, uuid(749531cf-af23-4ba7-97ae-2a0a200f833b)] -interface nsIDOMHTMLEmbedElement : nsIDOMHTMLElement +[scriptable, uuid(adae53da-713d-4570-81ad-dabdd6d46241)] +interface nsIDOMHTMLEmbedElement : nsISupports { attribute DOMString align; attribute DOMString height; diff --git a/dom/interfaces/html/nsIDOMHTMLFieldSetElement.idl b/dom/interfaces/html/nsIDOMHTMLFieldSetElement.idl index e90be65588c9..3290a185d551 100644 --- a/dom/interfaces/html/nsIDOMHTMLFieldSetElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLFieldSetElement.idl @@ -18,8 +18,8 @@ interface nsIDOMValidityState; -[scriptable, uuid(eb09f2e9-f0fc-4000-ab15-e68b0ac09bbd)] -interface nsIDOMHTMLFieldSetElement : nsIDOMHTMLElement +[scriptable, uuid(e3d91535-9da3-4c4b-a809-f17d85a4fb9f)] +interface nsIDOMHTMLFieldSetElement : nsISupports { attribute boolean disabled; readonly attribute nsIDOMHTMLFormElement form; diff --git a/dom/interfaces/html/nsIDOMHTMLFormElement.idl b/dom/interfaces/html/nsIDOMHTMLFormElement.idl index b2b7073721c8..5e58a0f4b8b0 100644 --- a/dom/interfaces/html/nsIDOMHTMLFormElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLFormElement.idl @@ -16,8 +16,8 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(5e49bff8-fb61-41e3-b6a9-2017865a6d74)] -interface nsIDOMHTMLFormElement : nsIDOMHTMLElement +[scriptable, uuid(ad9b2ad0-9d29-43f6-b1a2-a1fd24627e6b)] +interface nsIDOMHTMLFormElement : nsISupports { attribute DOMString acceptCharset; attribute DOMString action; diff --git a/dom/interfaces/html/nsIDOMHTMLFrameElement.idl b/dom/interfaces/html/nsIDOMHTMLFrameElement.idl index 1d40b92eadd2..463dc47f0d53 100644 --- a/dom/interfaces/html/nsIDOMHTMLFrameElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLFrameElement.idl @@ -16,8 +16,8 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(1a79af54-dbbb-4532-be48-944f3995e7e9)] -interface nsIDOMHTMLFrameElement : nsIDOMHTMLElement +[scriptable, uuid(60ab25b9-3246-4f50-b0d4-21e73ba88cd6)] +interface nsIDOMHTMLFrameElement : nsISupports { attribute DOMString frameBorder; attribute DOMString longDesc; diff --git a/dom/interfaces/html/nsIDOMHTMLFrameSetElement.idl b/dom/interfaces/html/nsIDOMHTMLFrameSetElement.idl index a202f857b88b..21be13197aa0 100644 --- a/dom/interfaces/html/nsIDOMHTMLFrameSetElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLFrameSetElement.idl @@ -20,8 +20,8 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(2531cc4f-c918-4e6d-9021-7d89216c1ebe)] -interface nsIDOMHTMLFrameSetElement : nsIDOMHTMLElement +[scriptable, uuid(aea59d1c-ff6f-4b26-88dc-2f9b4be1a138)] +interface nsIDOMHTMLFrameSetElement : nsISupports { attribute DOMString cols; attribute DOMString rows; diff --git a/dom/interfaces/html/nsIDOMHTMLHRElement.idl b/dom/interfaces/html/nsIDOMHTMLHRElement.idl index 87ad5d387ac3..6291b46d3c32 100644 --- a/dom/interfaces/html/nsIDOMHTMLHRElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLHRElement.idl @@ -16,8 +16,8 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(26260ff8-6a9e-4bf5-9f61-93200f37e53a)] -interface nsIDOMHTMLHRElement : nsIDOMHTMLElement +[scriptable, uuid(30771953-b9f4-44de-b0fe-e490949af98b)] +interface nsIDOMHTMLHRElement : nsISupports { attribute DOMString align; attribute boolean noShade; diff --git a/dom/interfaces/html/nsIDOMHTMLHeadElement.idl b/dom/interfaces/html/nsIDOMHTMLHeadElement.idl index b2b22be825a9..ba08bbbd09c7 100644 --- a/dom/interfaces/html/nsIDOMHTMLHeadElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLHeadElement.idl @@ -16,7 +16,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(889602bb-4681-4b01-8582-4fad1fbb8325)] -interface nsIDOMHTMLHeadElement : nsIDOMHTMLElement +[scriptable, uuid(59b80014-00f5-412d-846f-725494122d42)] +interface nsIDOMHTMLHeadElement : nsISupports { }; diff --git a/dom/interfaces/html/nsIDOMHTMLHeadingElement.idl b/dom/interfaces/html/nsIDOMHTMLHeadingElement.idl index decdb412482d..a5f670130643 100644 --- a/dom/interfaces/html/nsIDOMHTMLHeadingElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLHeadingElement.idl @@ -16,8 +16,8 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(e601aadf-e9e7-4605-a6f9-2cd2006723de)] -interface nsIDOMHTMLHeadingElement : nsIDOMHTMLElement +[scriptable, uuid(a40b92f7-9da7-4c9f-8a0c-cf5b9e28bb30)] +interface nsIDOMHTMLHeadingElement : nsISupports { attribute DOMString align; }; diff --git a/dom/interfaces/html/nsIDOMHTMLHtmlElement.idl b/dom/interfaces/html/nsIDOMHTMLHtmlElement.idl index 876c7839c76d..ad0e6792f508 100644 --- a/dom/interfaces/html/nsIDOMHTMLHtmlElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLHtmlElement.idl @@ -16,8 +16,8 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(a624104d-10e8-42f3-9f61-45b64217ba4c)] -interface nsIDOMHTMLHtmlElement : nsIDOMHTMLElement +[scriptable, uuid(6a5d2ce7-2c45-43c1-bdab-9df7a06caed1)] +interface nsIDOMHTMLHtmlElement : nsISupports { attribute DOMString version; }; diff --git a/dom/interfaces/html/nsIDOMHTMLIFrameElement.idl b/dom/interfaces/html/nsIDOMHTMLIFrameElement.idl index 57508a25fa99..645da48e78c1 100644 --- a/dom/interfaces/html/nsIDOMHTMLIFrameElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLIFrameElement.idl @@ -16,8 +16,8 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(60D9BCF1-3B0C-4704-AE8C-5B6AC0180B2E)] -interface nsIDOMHTMLIFrameElement : nsIDOMHTMLElement +[scriptable, uuid(9fd7b656-1055-4cb2-b8b1-ed13efe24457)] +interface nsIDOMHTMLIFrameElement : nsISupports { attribute DOMString align; attribute DOMString frameBorder; diff --git a/dom/interfaces/html/nsIDOMHTMLImageElement.idl b/dom/interfaces/html/nsIDOMHTMLImageElement.idl index 79694be937e1..3ae8dda9aad8 100644 --- a/dom/interfaces/html/nsIDOMHTMLImageElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLImageElement.idl @@ -16,8 +16,8 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(98c38ca0-5e3a-4c71-90a4-69d12a3c8d16)] -interface nsIDOMHTMLImageElement : nsIDOMHTMLElement +[scriptable, uuid(d3e488b9-3b29-410a-bcf4-18fb874c170a)] +interface nsIDOMHTMLImageElement : nsISupports { attribute DOMString alt; attribute DOMString src; diff --git a/dom/interfaces/html/nsIDOMHTMLInputElement.idl b/dom/interfaces/html/nsIDOMHTMLInputElement.idl index 10ecec093769..8bc4bb227172 100644 --- a/dom/interfaces/html/nsIDOMHTMLInputElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLInputElement.idl @@ -20,8 +20,8 @@ interface nsIDOMValidityState; * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(d57537ed-39d0-46ea-8516-0ce0a5bfb805)] -interface nsIDOMHTMLInputElement : nsIDOMHTMLElement +[scriptable, uuid(64aeda0b-e9b5-4868-a4f9-e4776e32e733)] +interface nsIDOMHTMLInputElement : nsISupports { attribute DOMString accept; attribute DOMString alt; diff --git a/dom/interfaces/html/nsIDOMHTMLLIElement.idl b/dom/interfaces/html/nsIDOMHTMLLIElement.idl index 67993fc78449..844c6dc00d63 100644 --- a/dom/interfaces/html/nsIDOMHTMLLIElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLLIElement.idl @@ -16,8 +16,8 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(e2d41287-964c-472c-ba40-24dcdc9489c2)] -interface nsIDOMHTMLLIElement : nsIDOMHTMLElement +[scriptable, uuid(17bd5c1c-3746-4268-a9f6-45018025f09c)] +interface nsIDOMHTMLLIElement : nsISupports { attribute DOMString type; attribute long value; diff --git a/dom/interfaces/html/nsIDOMHTMLLabelElement.idl b/dom/interfaces/html/nsIDOMHTMLLabelElement.idl index ac433c023bd2..81efc33c08e0 100644 --- a/dom/interfaces/html/nsIDOMHTMLLabelElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLLabelElement.idl @@ -16,8 +16,8 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(cbffa708-f51e-4c74-9644-19f9d417aac5)] -interface nsIDOMHTMLLabelElement : nsIDOMHTMLElement +[scriptable, uuid(efc0eaf2-5756-4388-a229-fbec2033529d)] +interface nsIDOMHTMLLabelElement : nsISupports { readonly attribute nsIDOMHTMLFormElement form; attribute DOMString htmlFor; diff --git a/dom/interfaces/html/nsIDOMHTMLLinkElement.idl b/dom/interfaces/html/nsIDOMHTMLLinkElement.idl index 7c48d7a6913c..0b8ad253227a 100644 --- a/dom/interfaces/html/nsIDOMHTMLLinkElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLLinkElement.idl @@ -16,8 +16,8 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(ad43cb9b-3253-446d-8ba9-50ee50ff017e)] -interface nsIDOMHTMLLinkElement : nsIDOMHTMLElement +[scriptable, uuid(95d6ec66-2754-45bd-a068-49ac1fb45004)] +interface nsIDOMHTMLLinkElement : nsISupports { [binaryname(MozDisabled)] attribute boolean disabled; diff --git a/dom/interfaces/html/nsIDOMHTMLMapElement.idl b/dom/interfaces/html/nsIDOMHTMLMapElement.idl index fa2bd9cbe013..5824c90531b9 100644 --- a/dom/interfaces/html/nsIDOMHTMLMapElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLMapElement.idl @@ -16,8 +16,8 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(828f3b64-1df7-4592-b903-757d2fc3a4ca)] -interface nsIDOMHTMLMapElement : nsIDOMHTMLElement +[scriptable, uuid(3f49f8c6-2e9d-4323-b30c-2404d5ff1f57)] +interface nsIDOMHTMLMapElement : nsISupports { readonly attribute nsIDOMHTMLCollection areas; attribute DOMString name; diff --git a/dom/interfaces/html/nsIDOMHTMLMediaElement.idl b/dom/interfaces/html/nsIDOMHTMLMediaElement.idl index 30d95c39078b..01a4ecae7fcd 100644 --- a/dom/interfaces/html/nsIDOMHTMLMediaElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLMediaElement.idl @@ -27,8 +27,8 @@ interface nsIDOMMediaStream; #endif %} -[scriptable, uuid(21354ac9-7166-46a0-a3f0-a3135c3cc804)] -interface nsIDOMHTMLMediaElement : nsIDOMHTMLElement +[scriptable, uuid(d83d38f3-68b9-4ea2-8748-1cc738d74333)] +interface nsIDOMHTMLMediaElement : nsISupports { // error state readonly attribute nsIDOMMediaError error; diff --git a/dom/interfaces/html/nsIDOMHTMLMenuElement.idl b/dom/interfaces/html/nsIDOMHTMLMenuElement.idl index c88ddf56c830..92861c8cd0e3 100644 --- a/dom/interfaces/html/nsIDOMHTMLMenuElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLMenuElement.idl @@ -16,8 +16,8 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(689de43c-4614-4728-b3b1-30a02636c2a3)] -interface nsIDOMHTMLMenuElement : nsIDOMHTMLElement +[scriptable, uuid(a1ca9af6-f865-4fdf-901d-5858bb0ad5ea)] +interface nsIDOMHTMLMenuElement : nsISupports { attribute boolean compact; diff --git a/dom/interfaces/html/nsIDOMHTMLMenuItemElement.idl b/dom/interfaces/html/nsIDOMHTMLMenuItemElement.idl index fa4e9b2ab020..4e9980fb511e 100644 --- a/dom/interfaces/html/nsIDOMHTMLMenuItemElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLMenuItemElement.idl @@ -10,8 +10,8 @@ * element. */ -[scriptable, uuid(53180e95-90af-4c6e-9d16-34fa799f84d5)] -interface nsIDOMHTMLMenuItemElement : nsIDOMHTMLElement +[scriptable, uuid(979d6e44-5930-4232-b405-873939655c19)] +interface nsIDOMHTMLMenuItemElement : nsISupports { attribute DOMString type; attribute DOMString label; diff --git a/dom/interfaces/html/nsIDOMHTMLMetaElement.idl b/dom/interfaces/html/nsIDOMHTMLMetaElement.idl index 3376b2cfced7..a616e3466e1c 100644 --- a/dom/interfaces/html/nsIDOMHTMLMetaElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLMetaElement.idl @@ -16,8 +16,8 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(f2fd397e-663d-47ae-ae26-1cc654d56461)] -interface nsIDOMHTMLMetaElement : nsIDOMHTMLElement +[scriptable, uuid(2a3f789e-0667-464f-a8d7-6f58513443d9)] +interface nsIDOMHTMLMetaElement : nsISupports { attribute DOMString content; attribute DOMString httpEquiv; diff --git a/dom/interfaces/html/nsIDOMHTMLOListElement.idl b/dom/interfaces/html/nsIDOMHTMLOListElement.idl index 25067a2bc50b..30db97045245 100644 --- a/dom/interfaces/html/nsIDOMHTMLOListElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLOListElement.idl @@ -16,8 +16,8 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(d2359d18-dffb-452d-bdce-984f6fc0f893)] -interface nsIDOMHTMLOListElement : nsIDOMHTMLElement +[scriptable, uuid(d899642a-53e2-4eb4-9d65-4a666a45ee01)] +interface nsIDOMHTMLOListElement : nsISupports { attribute boolean compact; attribute boolean reversed; diff --git a/dom/interfaces/html/nsIDOMHTMLObjectElement.idl b/dom/interfaces/html/nsIDOMHTMLObjectElement.idl index ac5c4ba6b730..e322b30efb2a 100644 --- a/dom/interfaces/html/nsIDOMHTMLObjectElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLObjectElement.idl @@ -18,8 +18,8 @@ interface nsIDOMValidityState; -[scriptable, uuid(bed8f222-c4dd-41ba-9ec6-dfae0ec8def8)] -interface nsIDOMHTMLObjectElement : nsIDOMHTMLElement +[scriptable, uuid(baf443d2-da5d-40c9-be3c-c65a69a25250)] +interface nsIDOMHTMLObjectElement : nsISupports { readonly attribute nsIDOMHTMLFormElement form; attribute DOMString code; diff --git a/dom/interfaces/html/nsIDOMHTMLOptGroupElement.idl b/dom/interfaces/html/nsIDOMHTMLOptGroupElement.idl index d5566e231cc7..7b145b4d90c6 100644 --- a/dom/interfaces/html/nsIDOMHTMLOptGroupElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLOptGroupElement.idl @@ -16,8 +16,8 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(a288495a-27f1-4954-bb6b-3bb6afb63ab2)] -interface nsIDOMHTMLOptGroupElement : nsIDOMHTMLElement +[scriptable, uuid(6fa79f99-4ce4-4634-840a-867fcfb32dba)] +interface nsIDOMHTMLOptGroupElement : nsISupports { attribute boolean disabled; attribute DOMString label; diff --git a/dom/interfaces/html/nsIDOMHTMLOptionElement.idl b/dom/interfaces/html/nsIDOMHTMLOptionElement.idl index a90d6bd161d1..ed2ec9dd62d9 100644 --- a/dom/interfaces/html/nsIDOMHTMLOptionElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLOptionElement.idl @@ -16,8 +16,8 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(09017cf4-0004-4c27-a340-7f5d2fe282e3)] -interface nsIDOMHTMLOptionElement : nsIDOMHTMLElement +[scriptable, uuid(c2b3e9ff-6b36-4158-ace3-05a9c5b8e1c1)] +interface nsIDOMHTMLOptionElement : nsISupports { attribute boolean disabled; readonly attribute nsIDOMHTMLFormElement form; diff --git a/dom/interfaces/html/nsIDOMHTMLParagraphElement.idl b/dom/interfaces/html/nsIDOMHTMLParagraphElement.idl index 19fe2121f087..0a172cdf8503 100644 --- a/dom/interfaces/html/nsIDOMHTMLParagraphElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLParagraphElement.idl @@ -16,8 +16,8 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(9be22a4b-4edc-4c37-9403-c9350671b86f)] -interface nsIDOMHTMLParagraphElement : nsIDOMHTMLElement +[scriptable, uuid(b494e517-2388-4a63-80e7-2f73be3c38a3)] +interface nsIDOMHTMLParagraphElement : nsISupports { attribute DOMString align; }; diff --git a/dom/interfaces/html/nsIDOMHTMLPreElement.idl b/dom/interfaces/html/nsIDOMHTMLPreElement.idl index 5ac1202b40e2..3ae5956675c4 100644 --- a/dom/interfaces/html/nsIDOMHTMLPreElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLPreElement.idl @@ -16,8 +16,8 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(c805dade-fe2a-4f30-b7d7-e572554a3498)] -interface nsIDOMHTMLPreElement : nsIDOMHTMLElement +[scriptable, uuid(a2441b77-ad22-4275-b1dd-1b58c044fd04)] +interface nsIDOMHTMLPreElement : nsISupports { attribute long width; }; diff --git a/dom/interfaces/html/nsIDOMHTMLQuoteElement.idl b/dom/interfaces/html/nsIDOMHTMLQuoteElement.idl index a22ed6cd4374..df380b494be5 100644 --- a/dom/interfaces/html/nsIDOMHTMLQuoteElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLQuoteElement.idl @@ -16,8 +16,8 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(18a3b3c4-447d-4df6-9681-e8953e2da6a8)] -interface nsIDOMHTMLQuoteElement : nsIDOMHTMLElement +[scriptable, uuid(f02502b5-32a6-4df7-8a57-1416553a3188)] +interface nsIDOMHTMLQuoteElement : nsISupports { attribute DOMString cite; }; diff --git a/dom/interfaces/html/nsIDOMHTMLScriptElement.idl b/dom/interfaces/html/nsIDOMHTMLScriptElement.idl index f8ae4b2cf2e6..02ec010010b4 100644 --- a/dom/interfaces/html/nsIDOMHTMLScriptElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLScriptElement.idl @@ -16,8 +16,8 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(8783371a-6185-4176-9ed9-f781c75bf48a)] -interface nsIDOMHTMLScriptElement : nsIDOMHTMLElement +[scriptable, uuid(4627336e-3070-4e73-8f67-3851b54cc0eb)] +interface nsIDOMHTMLScriptElement : nsISupports { attribute DOMString src; attribute boolean async; diff --git a/dom/interfaces/html/nsIDOMHTMLSelectElement.idl b/dom/interfaces/html/nsIDOMHTMLSelectElement.idl index 87c63d230d90..a4233654ae0b 100644 --- a/dom/interfaces/html/nsIDOMHTMLSelectElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLSelectElement.idl @@ -19,8 +19,8 @@ interface nsIDOMValidityState; -[scriptable, uuid(8af2123f-c83a-430a-a739-d103a8eaba52)] -interface nsIDOMHTMLSelectElement : nsIDOMHTMLElement +[scriptable, uuid(846578b2-6d4f-4399-86cc-2c05f19469d0)] +interface nsIDOMHTMLSelectElement : nsISupports { attribute boolean autofocus; attribute boolean disabled; diff --git a/dom/interfaces/html/nsIDOMHTMLSourceElement.idl b/dom/interfaces/html/nsIDOMHTMLSourceElement.idl index a5e896a32c67..7da9bc6034ca 100644 --- a/dom/interfaces/html/nsIDOMHTMLSourceElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLSourceElement.idl @@ -16,8 +16,8 @@ * @status UNDER_DEVELOPMENT */ -[scriptable, uuid(a5cf9a0e-bb2f-4fdf-9a25-c52069bb62c2)] -interface nsIDOMHTMLSourceElement : nsIDOMHTMLElement +[scriptable, uuid(7adbaf06-572d-4c99-bd59-ac673ddcca93)] +interface nsIDOMHTMLSourceElement : nsISupports { attribute DOMString src; attribute DOMString type; diff --git a/dom/interfaces/html/nsIDOMHTMLStyleElement.idl b/dom/interfaces/html/nsIDOMHTMLStyleElement.idl index 371352e72def..25be003f24f6 100644 --- a/dom/interfaces/html/nsIDOMHTMLStyleElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLStyleElement.idl @@ -16,8 +16,8 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(e81273e1-d440-4dd3-9073-8199f7a9525e)] -interface nsIDOMHTMLStyleElement : nsIDOMHTMLElement +[scriptable, uuid(fa326d22-8739-4eef-a80e-6449bde605d2)] +interface nsIDOMHTMLStyleElement : nsISupports { [binaryname(MozDisabled)] attribute boolean disabled; diff --git a/dom/interfaces/html/nsIDOMHTMLTableCaptionElem.idl b/dom/interfaces/html/nsIDOMHTMLTableCaptionElem.idl index 37679d4f7b62..00a1567a3bfd 100644 --- a/dom/interfaces/html/nsIDOMHTMLTableCaptionElem.idl +++ b/dom/interfaces/html/nsIDOMHTMLTableCaptionElem.idl @@ -16,8 +16,8 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, builtinclass, uuid(cde2ef8a-4953-425d-9bd5-977035156f01)] -interface nsIDOMHTMLTableCaptionElement : nsIDOMHTMLElement +[scriptable, builtinclass, uuid(78f0635b-44d2-4d5c-87de-29d54df6aed6)] +interface nsIDOMHTMLTableCaptionElement : nsISupports { attribute DOMString align; }; diff --git a/dom/interfaces/html/nsIDOMHTMLTableCellElement.idl b/dom/interfaces/html/nsIDOMHTMLTableCellElement.idl index e9f2cb0cabd5..593abff4f1e5 100644 --- a/dom/interfaces/html/nsIDOMHTMLTableCellElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLTableCellElement.idl @@ -16,8 +16,8 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(1fb22137-c231-4eae-9ca4-557bb0852d89)] -interface nsIDOMHTMLTableCellElement : nsIDOMHTMLElement +[scriptable, uuid(3203c36f-33fd-4628-8c88-77e82d38df1e)] +interface nsIDOMHTMLTableCellElement : nsISupports { readonly attribute long cellIndex; attribute DOMString abbr; diff --git a/dom/interfaces/html/nsIDOMHTMLTableElement.idl b/dom/interfaces/html/nsIDOMHTMLTableElement.idl index 4d16be2fee4b..be89a6503819 100644 --- a/dom/interfaces/html/nsIDOMHTMLTableElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLTableElement.idl @@ -16,7 +16,7 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(1a7bf1f1-5d6c-4200-9ceb-455874322315)] -interface nsIDOMHTMLTableElement : nsIDOMHTMLElement +[scriptable, uuid(135a30ee-0374-4ee7-9d36-91736bff5fb1)] +interface nsIDOMHTMLTableElement : nsISupports { }; diff --git a/dom/interfaces/html/nsIDOMHTMLTextAreaElement.idl b/dom/interfaces/html/nsIDOMHTMLTextAreaElement.idl index 4c16aef963c6..9dcb4a028871 100644 --- a/dom/interfaces/html/nsIDOMHTMLTextAreaElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLTextAreaElement.idl @@ -19,8 +19,8 @@ interface nsIDOMValidityState; * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(b7e1b86f-c98e-4658-81ce-ac29962f854a)] -interface nsIDOMHTMLTextAreaElement : nsIDOMHTMLElement +[scriptable, uuid(7a4aeb2e-fcf3-443e-b002-ca1c8ea322e9)] +interface nsIDOMHTMLTextAreaElement : nsISupports { attribute boolean autofocus; attribute unsigned long cols; diff --git a/dom/interfaces/html/nsIDOMHTMLTitleElement.idl b/dom/interfaces/html/nsIDOMHTMLTitleElement.idl index 23435e519489..f0706983f66b 100644 --- a/dom/interfaces/html/nsIDOMHTMLTitleElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLTitleElement.idl @@ -16,8 +16,8 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(388687e5-960f-472f-9f10-e3cbd820d5fc)] -interface nsIDOMHTMLTitleElement : nsIDOMHTMLElement +[scriptable, uuid(e8e5168a-e12e-4946-9fa7-5fe0d6932198)] +interface nsIDOMHTMLTitleElement : nsISupports { attribute DOMString text; }; diff --git a/dom/interfaces/html/nsIDOMHTMLUListElement.idl b/dom/interfaces/html/nsIDOMHTMLUListElement.idl index e5f6ef5be736..91c968d6f949 100644 --- a/dom/interfaces/html/nsIDOMHTMLUListElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLUListElement.idl @@ -16,8 +16,8 @@ * http://www.whatwg.org/specs/web-apps/current-work/ */ -[scriptable, uuid(77fc8623-3380-4e9d-a532-a4a50e4f2abd)] -interface nsIDOMHTMLUListElement : nsIDOMHTMLElement +[scriptable, uuid(8ba1ee8d-36a4-43fc-9148-5144c2a29c96)] +interface nsIDOMHTMLUListElement : nsISupports { attribute boolean compact; attribute DOMString type; diff --git a/dom/interfaces/html/nsIDOMHTMLVideoElement.idl b/dom/interfaces/html/nsIDOMHTMLVideoElement.idl index 4d39eb799437..fef138e7a8d9 100644 --- a/dom/interfaces/html/nsIDOMHTMLVideoElement.idl +++ b/dom/interfaces/html/nsIDOMHTMLVideoElement.idl @@ -16,7 +16,7 @@ * @status UNDER_DEVELOPMENT */ -[scriptable, uuid(b48ec2c0-7529-4212-9717-1ce95507e7e4)] +[scriptable, uuid(185a3e8f-56a7-4bda-8dc7-2cff6ed07d1d)] interface nsIDOMHTMLVideoElement : nsIDOMHTMLMediaElement { attribute long width; diff --git a/dom/plugins/base/nsPluginInstanceOwner.cpp b/dom/plugins/base/nsPluginInstanceOwner.cpp index 59df986765ab..82a08ead93d7 100644 --- a/dom/plugins/base/nsPluginInstanceOwner.cpp +++ b/dom/plugins/base/nsPluginInstanceOwner.cpp @@ -1100,10 +1100,10 @@ nsresult nsPluginInstanceOwner::EnsureCachedAttrParamArrays() } if (domapplet || domobject) { if (domapplet) { - parent = domapplet; + parent = do_QueryInterface(domapplet); } else { - parent = domobject; + parent = do_QueryInterface(domobject); } nsCOMPtr mydomNode = do_QueryInterface(mydomElement); if (parent == mydomNode) { diff --git a/embedding/browser/webBrowser/nsContextMenuInfo.cpp b/embedding/browser/webBrowser/nsContextMenuInfo.cpp index ef856ebdb57e..27f569ce8f7e 100644 --- a/embedding/browser/webBrowser/nsContextMenuInfo.cpp +++ b/embedding/browser/webBrowser/nsContextMenuInfo.cpp @@ -29,6 +29,7 @@ #include "nsAutoPtr.h" #include "imgRequestProxy.h" + //***************************************************************************** // class nsContextMenuInfo //***************************************************************************** @@ -225,8 +226,9 @@ nsContextMenuInfo::GetBackgroundImageRequest(nsIDOMNode *aDOMNode, imgRequestPro // we'll defer to nsCOMPtr htmlElement = do_QueryInterface(domNode); if (htmlElement) { + nsCOMPtr element = do_QueryInterface(domNode); nsAutoString nameSpace; - htmlElement->GetNamespaceURI(nameSpace); + element->GetNamespaceURI(nameSpace); if (nameSpace.IsEmpty()) { nsresult rv = GetBackgroundImageRequestInternal(domNode, aRequest); if (NS_SUCCEEDED(rv) && *aRequest) diff --git a/embedding/components/webbrowserpersist/src/Makefile.in b/embedding/components/webbrowserpersist/src/Makefile.in index a688d9264c3a..e82ebf0086b4 100644 --- a/embedding/components/webbrowserpersist/src/Makefile.in +++ b/embedding/components/webbrowserpersist/src/Makefile.in @@ -15,3 +15,8 @@ FAIL_ON_WARNINGS = 1 include $(topsrcdir)/config/rules.mk +LOCAL_INCLUDES = \ + -I$(topsrcdir)/content/html/content/src \ + -I$(topsrcdir)/content/base/src \ + $(NULL) + diff --git a/embedding/components/webbrowserpersist/src/nsWebBrowserPersist.cpp b/embedding/components/webbrowserpersist/src/nsWebBrowserPersist.cpp index 31d5a3d3d38e..f61884111a4c 100644 --- a/embedding/components/webbrowserpersist/src/nsWebBrowserPersist.cpp +++ b/embedding/components/webbrowserpersist/src/nsWebBrowserPersist.cpp @@ -86,8 +86,12 @@ #include "nsWebBrowserPersist.h" #include "nsIContent.h" +#include "mozilla/dom/HTMLInputElement.h" +#include "mozilla/dom/HTMLSharedElement.h" +#include "mozilla/dom/HTMLSharedObjectElement.h" using namespace mozilla; +using namespace mozilla::dom; // Buffer file writes in 32kb chunks #define BUFFERED_OUTPUT_SIZE (1024 * 32) @@ -2962,11 +2966,12 @@ nsWebBrowserPersist::CloneNodeWithFixedUpAttributes( if (nodeAsBase) { nsCOMPtr ownerDocument; - nodeAsBase->GetOwnerDocument(getter_AddRefs(ownerDocument)); + HTMLSharedElement* base = static_cast(nodeAsBase.get()); + base->GetOwnerDocument(getter_AddRefs(ownerDocument)); if (ownerDocument) { nsAutoString href; - nodeAsBase->GetHref(href); // Doesn't matter if this fails + base->GetHref(href); // Doesn't matter if this fails nsCOMPtr comment; nsAutoString commentText; commentText.AssignLiteral(" base "); if (!href.IsEmpty()) @@ -3173,7 +3178,8 @@ nsWebBrowserPersist::CloneNodeWithFixedUpAttributes( } // Unset the codebase too, since we'll correctly relativize the // code and archive paths. - newApplet->RemoveAttribute(NS_LITERAL_STRING("codebase")); + static_cast(newApplet.get())-> + RemoveAttribute(NS_LITERAL_STRING("codebase")); FixupNodeAttribute(*aNodeOut, "code"); FixupNodeAttribute(*aNodeOut, "archive"); // restore the base URI we really want to have @@ -3240,7 +3246,9 @@ nsWebBrowserPersist::CloneNodeWithFixedUpAttributes( nsAutoString valueStr; NS_NAMED_LITERAL_STRING(valueAttr, "value"); // Update element node attributes with user-entered form state - nsCOMPtr outElt = do_QueryInterface(*aNodeOut); + nsCOMPtr content = do_QueryInterface(*aNodeOut); + nsRefPtr outElt = + HTMLInputElement::FromContentOrNull(content); nsCOMPtr formControl = do_QueryInterface(*aNodeOut); switch (formControl->GetType()) { case NS_FORM_INPUT_EMAIL: diff --git a/layout/forms/nsFileControlFrame.cpp b/layout/forms/nsFileControlFrame.cpp index 8c5de7c0c4c1..c454f999dc06 100644 --- a/layout/forms/nsFileControlFrame.cpp +++ b/layout/forms/nsFileControlFrame.cpp @@ -27,6 +27,7 @@ #include "nsIDOMMouseEvent.h" #include "nsINodeInfo.h" #include "nsIFile.h" +#include "mozilla/dom/HTMLButtonElement.h" #include "mozilla/dom/HTMLInputElement.h" #include "nsNodeInfoManager.h" #include "nsContentCreatorFunctions.h" @@ -133,8 +134,8 @@ nsFileControlFrame::CreateAnonymousContent(nsTArray& aElements) // Make sure access key and tab order for the element actually redirect to the // file picking button. - nsCOMPtr fileContent = do_QueryInterface(mContent); - nsCOMPtr browseControl = do_QueryInterface(mBrowse); + nsRefPtr fileContent = HTMLInputElement::FromContentOrNull(mContent); + nsRefPtr browseControl = HTMLButtonElement::FromContentOrNull(mBrowse); nsAutoString accessKey; fileContent->GetAccessKey(accessKey); diff --git a/toolkit/components/satchel/nsFormFillController.cpp b/toolkit/components/satchel/nsFormFillController.cpp index e0c23607a847..7a2970b0c0e5 100644 --- a/toolkit/components/satchel/nsFormFillController.cpp +++ b/toolkit/components/satchel/nsFormFillController.cpp @@ -302,8 +302,10 @@ nsFormFillController::SetPopupOpen(bool aPopupOpen) nsIPresShell::SCROLL_IF_NOT_VISIBLE), nsIPresShell::SCROLL_OVERFLOW_HIDDEN); // mFocusedPopup can be destroyed after ScrollContentIntoView, see bug 420089 - if (mFocusedPopup) - mFocusedPopup->OpenAutocompletePopup(this, mFocusedInput); + if (mFocusedPopup) { + nsCOMPtr element = do_QueryInterface(mFocusedInput); + mFocusedPopup->OpenAutocompletePopup(this, element); + } } else mFocusedPopup->ClosePopup(); } @@ -446,8 +448,10 @@ nsFormFillController::GetSearchParam(nsAString &aSearchParam) } mFocusedInput->GetName(aSearchParam); - if (aSearchParam.IsEmpty()) - mFocusedInput->GetId(aSearchParam); + if (aSearchParam.IsEmpty()) { + nsCOMPtr element = do_QueryInterface(mFocusedInput); + element->GetId(aSearchParam); + } return NS_OK; } @@ -532,7 +536,8 @@ nsFormFillController::OnTextEntered(bool* aPrevent) NS_ENSURE_TRUE(mFocusedInput, NS_OK); // Fire off a DOMAutoComplete event nsCOMPtr domDoc; - mFocusedInput->GetOwnerDocument(getter_AddRefs(domDoc)); + nsCOMPtr element = do_QueryInterface(mFocusedInput); + element->GetOwnerDocument(getter_AddRefs(domDoc)); NS_ENSURE_STATE(domDoc); nsCOMPtr event; @@ -576,7 +581,8 @@ nsFormFillController::GetInPrivateContext(bool *aInPrivateContext) } nsCOMPtr inputDoc; - mFocusedInput->GetOwnerDocument(getter_AddRefs(inputDoc)); + nsCOMPtr element = do_QueryInterface(mFocusedInput); + element->GetOwnerDocument(getter_AddRefs(inputDoc)); nsCOMPtr doc = do_QueryInterface(inputDoc); nsCOMPtr container = doc->GetContainer(); nsCOMPtr docShell = do_QueryInterface(container); @@ -1144,7 +1150,8 @@ nsIDocShell * nsFormFillController::GetDocShellForInput(nsIDOMHTMLInputElement *aInput) { nsCOMPtr domDoc; - aInput->GetOwnerDocument(getter_AddRefs(domDoc)); + nsCOMPtr element = do_QueryInterface(aInput); + element->GetOwnerDocument(getter_AddRefs(domDoc)); nsCOMPtr doc = do_QueryInterface(domDoc); NS_ENSURE_TRUE(doc, nullptr); nsCOMPtr webNav = do_GetInterface(doc->GetWindow());