mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-03 12:35:58 +00:00
Make HTML content objects use QI tables. Bug 389797, r+sr=jst, a=sicking.
This commit is contained in:
parent
6b2ada8afa
commit
3200cf8f82
@ -53,8 +53,6 @@
|
||||
#include "nsIObjectLoadingContent.h"
|
||||
#include "nsIRunnable.h"
|
||||
|
||||
#include "nsWeakReference.h"
|
||||
|
||||
struct nsAsyncInstantiateEvent;
|
||||
class AutoNotifier;
|
||||
class AutoFallback;
|
||||
@ -84,9 +82,6 @@ class nsObjectLoadingContent : public nsImageLoadingContent
|
||||
, public nsIObjectLoadingContent
|
||||
, public nsIInterfaceRequestor
|
||||
, public nsIChannelEventSink
|
||||
// Plugins code wants a weak reference to
|
||||
// notification callbacks
|
||||
, public nsSupportsWeakReference
|
||||
{
|
||||
friend class AutoNotifier;
|
||||
friend class AutoFallback;
|
||||
|
@ -1076,14 +1076,7 @@ nsFSTextPlain::GetEncodedSubmission(nsIURI* aURI,
|
||||
// nsISupports stuff
|
||||
//
|
||||
|
||||
NS_IMPL_ADDREF(nsFormSubmission)
|
||||
NS_IMPL_RELEASE(nsFormSubmission)
|
||||
|
||||
NS_INTERFACE_MAP_BEGIN(nsFormSubmission)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIFormSubmission)
|
||||
NS_INTERFACE_MAP_ENTRY(nsISupports)
|
||||
NS_INTERFACE_MAP_END
|
||||
|
||||
NS_IMPL_ISUPPORTS1(nsFormSubmission, nsIFormSubmission)
|
||||
|
||||
// JBK moved from nsFormFrame - bug 34297
|
||||
// submission
|
||||
|
@ -216,9 +216,11 @@ NS_IMPL_CYCLE_COLLECTING_ADDREF_AMBIGUOUS(nsGenericHTMLElementTearoff,
|
||||
NS_IMPL_CYCLE_COLLECTING_RELEASE_AMBIGUOUS(nsGenericHTMLElementTearoff,
|
||||
nsIDOMNSHTMLElement)
|
||||
|
||||
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(nsGenericHTMLElementTearoff)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMNSHTMLElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMElementCSSInlineStyle)
|
||||
NS_INTERFACE_TABLE_HEAD(nsGenericHTMLElementTearoff)
|
||||
NS_INTERFACE_TABLE_INHERITED2(nsGenericHTMLElementTearoff,
|
||||
nsIDOMNSHTMLElement,
|
||||
nsIDOMElementCSSInlineStyle)
|
||||
NS_INTERFACE_TABLE_TO_MAP_SEGUE_CYCLE_COLLECTION(nsGenericHTMLElementTearoff)
|
||||
NS_INTERFACE_MAP_END_AGGREGATED(mElement)
|
||||
|
||||
|
||||
@ -230,40 +232,23 @@ nsGenericHTMLElement::DOMQueryInterface(nsIDOMHTMLElement *aElement,
|
||||
{
|
||||
NS_PRECONDITION(aInstancePtr, "null out param");
|
||||
|
||||
nsISupports *inst = nsnull;
|
||||
nsresult rv = NS_ERROR_FAILURE;
|
||||
|
||||
if (aIID.Equals(NS_GET_IID(nsIDOMNode))) {
|
||||
inst = static_cast<nsIDOMNode *>(aElement);
|
||||
} else if (aIID.Equals(NS_GET_IID(nsIDOMElement))) {
|
||||
inst = static_cast<nsIDOMElement *>(aElement);
|
||||
} else if (aIID.Equals(NS_GET_IID(nsIDOMHTMLElement))) {
|
||||
inst = static_cast<nsIDOMHTMLElement *>(aElement);
|
||||
} else if (aIID.Equals(NS_GET_IID(nsIDOMNSHTMLElement))) {
|
||||
inst = static_cast<nsIDOMNSHTMLElement *>
|
||||
(new nsGenericHTMLElementTearoff(this));
|
||||
if (NS_UNLIKELY(!inst)) {
|
||||
*aInstancePtr = nsnull;
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
} else if (aIID.Equals(NS_GET_IID(nsIDOMElementCSSInlineStyle))) {
|
||||
inst = static_cast<nsIDOMElementCSSInlineStyle *>
|
||||
(new nsGenericHTMLElementTearoff(this));
|
||||
if (NS_UNLIKELY(!inst)) {
|
||||
*aInstancePtr = nsnull;
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
} else {
|
||||
*aInstancePtr = nsnull;
|
||||
return NS_ERROR_NO_INTERFACE;
|
||||
}
|
||||
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_ADDREF(inst);
|
||||
|
||||
*aInstancePtr = inst;
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
NS_INTERFACE_TABLE_TO_MAP_SEGUE
|
||||
NS_INTERFACE_MAP_ENTRY_TEAROFF(nsIDOMNSHTMLElement,
|
||||
new nsGenericHTMLElementTearoff(this))
|
||||
NS_INTERFACE_MAP_ENTRY_TEAROFF(nsIDOMElementCSSInlineStyle,
|
||||
new nsGenericHTMLElementTearoff(this))
|
||||
NS_INTERFACE_MAP_END
|
||||
|
||||
// No closing bracket, becuase NS_INTERFACE_MAP_END does that for us.
|
||||
|
||||
nsresult
|
||||
nsGenericHTMLElement::CopyInnerTo(nsGenericElement* aDst) const
|
||||
{
|
||||
@ -2537,10 +2522,9 @@ nsGenericHTMLFormElement::~nsGenericHTMLFormElement()
|
||||
SetForm(nsnull, PR_TRUE, PR_FALSE);
|
||||
}
|
||||
|
||||
NS_INTERFACE_MAP_BEGIN(nsGenericHTMLFormElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIFormControl)
|
||||
NS_INTERFACE_MAP_END_INHERITING(nsGenericHTMLElement)
|
||||
|
||||
NS_IMPL_QUERY_INTERFACE_INHERITED1(nsGenericHTMLFormElement,
|
||||
nsGenericHTMLElement,
|
||||
nsIFormControl)
|
||||
|
||||
PRBool
|
||||
nsGenericHTMLFormElement::IsNodeOfType(PRUint32 aFlags) const
|
||||
@ -2929,9 +2913,11 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(nsGenericHTMLFrameElement,
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mFrameLoader)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
|
||||
|
||||
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(nsGenericHTMLFrameElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMNSHTMLFrameElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIFrameLoaderOwner)
|
||||
NS_INTERFACE_TABLE_HEAD(nsGenericHTMLFrameElement)
|
||||
NS_INTERFACE_TABLE_INHERITED2(nsGenericHTMLFrameElement,
|
||||
nsIDOMNSHTMLFrameElement,
|
||||
nsIFrameLoaderOwner)
|
||||
NS_INTERFACE_TABLE_TO_MAP_SEGUE_CYCLE_COLLECTION(nsGenericHTMLFrameElement)
|
||||
NS_INTERFACE_MAP_END_INHERITING(nsGenericHTMLElement)
|
||||
|
||||
nsresult
|
||||
|
@ -1063,7 +1063,8 @@ NS_NewHTML##_elementName##Element(nsINodeInfo *aNodeInfo, PRBool aFromParser)\
|
||||
* QueryInterface() implementation helper macros
|
||||
*/
|
||||
|
||||
#define NS_HTML_CONTENT_INTERFACE_MAP_AMBIGOUS_BEGIN(_class, _base, _base_if) \
|
||||
#define NS_HTML_CONTENT_INTERFACE_TABLE_AMBIGOUS_HEAD(_class, _base, \
|
||||
_base_if) \
|
||||
NS_IMETHODIMP _class::QueryInterface(REFNSIID aIID, void** aInstancePtr) \
|
||||
{ \
|
||||
NS_PRECONDITION(aInstancePtr, "null out param"); \
|
||||
@ -1079,27 +1080,16 @@ NS_NewHTML##_elementName##Element(nsINodeInfo *aNodeInfo, PRBool aFromParser)\
|
||||
aInstancePtr); \
|
||||
\
|
||||
if (NS_SUCCEEDED(rv)) \
|
||||
return rv; \
|
||||
\
|
||||
nsISupports *foundInterface = nsnull;
|
||||
return rv;
|
||||
|
||||
|
||||
#define NS_HTML_CONTENT_INTERFACE_MAP_BEGIN(_class, _base) \
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_AMBIGOUS_BEGIN(_class, _base, \
|
||||
nsIDOMHTMLElement)
|
||||
#define NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(_class, _base) \
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_AMBIGOUS_HEAD(_class, _base, \
|
||||
nsIDOMHTMLElement)
|
||||
|
||||
#define NS_HTML_CONTENT_CC_INTERFACE_MAP_AMBIGUOUS_BEGIN(_class, _base, \
|
||||
_base_if) \
|
||||
NS_IMETHODIMP _class::QueryInterface(REFNSIID aIID, void** aInstancePtr) \
|
||||
{ \
|
||||
NS_PRECONDITION(aInstancePtr, "null out param"); \
|
||||
\
|
||||
if ( aIID.Equals(NS_GET_IID(nsXPCOMCycleCollectionParticipant)) ) { \
|
||||
*aInstancePtr = &NS_CYCLE_COLLECTION_NAME(_class); \
|
||||
return NS_OK; \
|
||||
} \
|
||||
\
|
||||
nsresult rv; \
|
||||
#define NS_HTML_CONTENT_CC_INTERFACE_TABLE_AMBIGUOUS_HEAD(_class, _base, \
|
||||
_base_if) \
|
||||
NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(_class) \
|
||||
\
|
||||
rv = _base::QueryInterface(aIID, aInstancePtr); \
|
||||
\
|
||||
@ -1110,13 +1100,11 @@ NS_NewHTML##_elementName##Element(nsINodeInfo *aNodeInfo, PRBool aFromParser)\
|
||||
aInstancePtr); \
|
||||
\
|
||||
if (NS_SUCCEEDED(rv)) \
|
||||
return rv; \
|
||||
\
|
||||
nsISupports *foundInterface = nsnull;
|
||||
return rv;
|
||||
|
||||
#define NS_HTML_CONTENT_CC_INTERFACE_MAP_BEGIN(_class, _base) \
|
||||
NS_HTML_CONTENT_CC_INTERFACE_MAP_AMBIGUOUS_BEGIN(_class, _base, \
|
||||
nsIDOMHTMLElement)
|
||||
#define NS_HTML_CONTENT_CC_INTERFACE_TABLE_HEAD(_class, _base) \
|
||||
NS_HTML_CONTENT_CC_INTERFACE_TABLE_AMBIGUOUS_HEAD(_class, _base, \
|
||||
nsIDOMHTMLElement)
|
||||
|
||||
#define NS_HTML_CONTENT_INTERFACE_MAP_END \
|
||||
{ \
|
||||
@ -1130,6 +1118,10 @@ NS_NewHTML##_elementName##Element(nsINodeInfo *aNodeInfo, PRBool aFromParser)\
|
||||
return NS_OK; \
|
||||
}
|
||||
|
||||
#define NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(_class) \
|
||||
NS_INTERFACE_TABLE_TO_MAP_SEGUE \
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(_class) \
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
|
||||
#define NS_INTERFACE_MAP_ENTRY_IF_TAG(_interface, _tag) \
|
||||
NS_INTERFACE_MAP_ENTRY_CONDITIONAL(_interface, \
|
||||
|
@ -154,13 +154,13 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLAnchorElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLAnchorElement
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_BEGIN(nsHTMLAnchorElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLAnchorElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMNSHTMLAnchorElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMNSHTMLAnchorElement2)
|
||||
NS_INTERFACE_MAP_ENTRY(nsILink)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLAnchorElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(nsHTMLAnchorElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_TABLE_INHERITED4(nsHTMLAnchorElement,
|
||||
nsIDOMHTMLAnchorElement,
|
||||
nsIDOMNSHTMLAnchorElement,
|
||||
nsIDOMNSHTMLAnchorElement2,
|
||||
nsILink)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLAnchorElement)
|
||||
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE(nsHTMLAnchorElement)
|
||||
|
@ -136,13 +136,13 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLAreaElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLAreaElement
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_BEGIN(nsHTMLAreaElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLAreaElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMNSHTMLAreaElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMNSHTMLAreaElement2)
|
||||
NS_INTERFACE_MAP_ENTRY(nsILink)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLAreaElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(nsHTMLAreaElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_TABLE_INHERITED4(nsHTMLAreaElement,
|
||||
nsIDOMHTMLAreaElement,
|
||||
nsIDOMNSHTMLAreaElement,
|
||||
nsIDOMNSHTMLAreaElement2,
|
||||
nsILink)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLAreaElement)
|
||||
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE(nsHTMLAreaElement)
|
||||
|
@ -92,10 +92,9 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLBRElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLBRElement
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_BEGIN(nsHTMLBRElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLBRElement)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLBRElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(nsHTMLBRElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_TABLE_INHERITED1(nsHTMLBRElement, nsIDOMHTMLBRElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLBRElement)
|
||||
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE(nsHTMLBRElement)
|
||||
|
@ -300,10 +300,9 @@ NS_IMPL_ADDREF_INHERITED(nsHTMLBodyElement, nsGenericElement)
|
||||
NS_IMPL_RELEASE_INHERITED(nsHTMLBodyElement, nsGenericElement)
|
||||
|
||||
// QueryInterface implementation for nsHTMLBodyElement
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_BEGIN(nsHTMLBodyElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLBodyElement)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLBodyElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(nsHTMLBodyElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_TABLE_INHERITED1(nsHTMLBodyElement, nsIDOMHTMLBodyElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLBodyElement)
|
||||
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE(nsHTMLBodyElement)
|
||||
|
@ -161,12 +161,12 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLButtonElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLButtonElement
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_BEGIN(nsHTMLButtonElement,
|
||||
nsGenericHTMLFormElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLButtonElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMNSHTMLButtonElement)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLButtonElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(nsHTMLButtonElement,
|
||||
nsGenericHTMLFormElement)
|
||||
NS_INTERFACE_TABLE_INHERITED2(nsHTMLButtonElement,
|
||||
nsIDOMHTMLButtonElement,
|
||||
nsIDOMNSHTMLButtonElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLButtonElement)
|
||||
|
||||
// nsIDOMHTMLButtonElement
|
||||
|
||||
|
@ -154,11 +154,11 @@ nsHTMLCanvasElement::~nsHTMLCanvasElement()
|
||||
NS_IMPL_ADDREF_INHERITED(nsHTMLCanvasElement, nsGenericElement)
|
||||
NS_IMPL_RELEASE_INHERITED(nsHTMLCanvasElement, nsGenericElement)
|
||||
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_BEGIN(nsHTMLCanvasElement, nsGenericElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLCanvasElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsICanvasElement)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLCanvasElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(nsHTMLCanvasElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_TABLE_INHERITED2(nsHTMLCanvasElement,
|
||||
nsIDOMHTMLCanvasElement,
|
||||
nsICanvasElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLCanvasElement)
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE(nsHTMLCanvasElement)
|
||||
|
||||
|
@ -85,9 +85,9 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLModElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLModElement
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_BEGIN(nsHTMLModElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLModElement)
|
||||
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(nsHTMLModElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_TABLE_INHERITED1(nsHTMLModElement, nsIDOMHTMLModElement)
|
||||
NS_INTERFACE_TABLE_TO_MAP_SEGUE
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO_IF_TAG(HTMLDelElement, del)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO_IF_TAG(HTMLInsElement, ins)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
|
@ -93,11 +93,9 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLDivElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLDivElement
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_BEGIN(nsHTMLDivElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLDivElement)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLDivElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(nsHTMLDivElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_TABLE_INHERITED1(nsHTMLDivElement, nsIDOMHTMLDivElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLDivElement)
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE(nsHTMLDivElement)
|
||||
|
||||
|
@ -96,11 +96,11 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLFieldSetElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLFieldSetElement
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_BEGIN(nsHTMLFieldSetElement,
|
||||
nsGenericHTMLFormElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLFieldSetElement)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLFieldSetElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(nsHTMLFieldSetElement,
|
||||
nsGenericHTMLFormElement)
|
||||
NS_INTERFACE_TABLE_INHERITED1(nsHTMLFieldSetElement,
|
||||
nsIDOMHTMLFieldSetElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLFieldSetElement)
|
||||
|
||||
|
||||
// nsIDOMHTMLFieldSetElement
|
||||
|
@ -96,10 +96,9 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLFontElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLFontElement
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_BEGIN(nsHTMLFontElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLFontElement)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLFontElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(nsHTMLFontElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_TABLE_INHERITED1(nsHTMLFontElement, nsIDOMHTMLFontElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLFontElement)
|
||||
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE(nsHTMLFontElement)
|
||||
|
@ -75,7 +75,6 @@
|
||||
#include "nsIWebProgress.h"
|
||||
#include "nsIDocShell.h"
|
||||
#include "nsIWebProgressListener.h"
|
||||
#include "nsWeakReference.h"
|
||||
|
||||
// radio buttons
|
||||
#include "nsIDOMHTMLInputElement.h"
|
||||
@ -129,7 +128,6 @@ private:
|
||||
// nsHTMLFormElement
|
||||
|
||||
class nsHTMLFormElement : public nsGenericHTMLElement,
|
||||
public nsSupportsWeakReference,
|
||||
public nsIDOMHTMLFormElement,
|
||||
public nsIDOMNSHTMLFormElement,
|
||||
public nsIWebProgressListener,
|
||||
@ -552,15 +550,15 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLFormElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLFormElement
|
||||
NS_HTML_CONTENT_CC_INTERFACE_MAP_BEGIN(nsHTMLFormElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsISupportsWeakReference)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLFormElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMNSHTMLFormElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIForm)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIWebProgressListener)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIRadioGroupContainer)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLFormElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_CC_INTERFACE_TABLE_HEAD(nsHTMLFormElement,
|
||||
nsGenericHTMLElement)
|
||||
NS_INTERFACE_TABLE_INHERITED5(nsHTMLFormElement,
|
||||
nsIDOMHTMLFormElement,
|
||||
nsIDOMNSHTMLFormElement,
|
||||
nsIForm,
|
||||
nsIWebProgressListener,
|
||||
nsIRadioGroupContainer)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLFormElement)
|
||||
|
||||
|
||||
// nsIDOMHTMLFormElement
|
||||
@ -2016,10 +2014,11 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(nsFormControlList)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
|
||||
|
||||
// XPConnect interface list for nsFormControlList
|
||||
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(nsFormControlList)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMNSHTMLFormControlList)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLCollection)
|
||||
NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIDOMHTMLCollection)
|
||||
NS_INTERFACE_TABLE_HEAD(nsFormControlList)
|
||||
NS_INTERFACE_TABLE2(nsFormControlList,
|
||||
nsIDOMHTMLCollection,
|
||||
nsIDOMNSHTMLFormControlList)
|
||||
NS_INTERFACE_TABLE_TO_MAP_SEGUE_CYCLE_COLLECTION(nsFormControlList)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLFormControlCollection)
|
||||
NS_INTERFACE_MAP_END
|
||||
|
||||
|
@ -94,11 +94,10 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLFrameElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLFrameElement
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_BEGIN(nsHTMLFrameElement,
|
||||
nsGenericHTMLFrameElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLFrameElement)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLFrameElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(nsHTMLFrameElement,
|
||||
nsGenericHTMLFrameElement)
|
||||
NS_INTERFACE_TABLE_INHERITED1(nsHTMLFrameElement, nsIDOMHTMLFrameElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLFrameElement)
|
||||
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE(nsHTMLFrameElement)
|
||||
|
@ -138,12 +138,12 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLFrameSetElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLFrameSetElement
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_BEGIN(nsHTMLFrameSetElement,
|
||||
nsGenericHTMLElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLFrameSetElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIFrameSetElement)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLFrameSetElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(nsHTMLFrameSetElement,
|
||||
nsGenericHTMLElement)
|
||||
NS_INTERFACE_TABLE_INHERITED2(nsHTMLFrameSetElement,
|
||||
nsIDOMHTMLFrameSetElement,
|
||||
nsIFrameSetElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLFrameSetElement)
|
||||
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE(nsHTMLFrameSetElement)
|
||||
|
@ -98,11 +98,11 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLHRElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLHRElement
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_BEGIN(nsHTMLHRElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLHRElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMNSHTMLHRElement)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLHRElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(nsHTMLHRElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_TABLE_INHERITED2(nsHTMLHRElement,
|
||||
nsIDOMHTMLHRElement,
|
||||
nsIDOMNSHTMLHRElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLHRElement)
|
||||
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE(nsHTMLHRElement)
|
||||
|
@ -86,10 +86,9 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLHeadElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLHeadElement
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_BEGIN(nsHTMLHeadElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLHeadElement)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLHeadElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(nsHTMLHeadElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_TABLE_INHERITED1(nsHTMLHeadElement, nsIDOMHTMLHeadElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLHeadElement)
|
||||
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE(nsHTMLHeadElement)
|
||||
|
@ -93,10 +93,10 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLHeadingElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLHeadingElement
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_BEGIN(nsHTMLHeadingElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLHeadingElement)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLHeadingElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(nsHTMLHeadingElement,
|
||||
nsGenericHTMLElement)
|
||||
NS_INTERFACE_TABLE_INHERITED1(nsHTMLHeadingElement, nsIDOMHTMLHeadingElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLHeadingElement)
|
||||
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE(nsHTMLHeadingElement)
|
||||
|
@ -88,10 +88,9 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLHtmlElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLHtmlElement
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_BEGIN(nsHTMLHtmlElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLHtmlElement)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLHtmlElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(nsHTMLHtmlElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_TABLE_INHERITED1(nsHTMLHtmlElement, nsIDOMHTMLHtmlElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLHtmlElement)
|
||||
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE(nsHTMLHtmlElement)
|
||||
|
@ -96,10 +96,10 @@ NS_IMPL_ADDREF_INHERITED(nsHTMLIFrameElement,nsGenericElement)
|
||||
NS_IMPL_RELEASE_INHERITED(nsHTMLIFrameElement,nsGenericElement)
|
||||
|
||||
// QueryInterface implementation for nsHTMLIFrameElement
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_BEGIN(nsHTMLIFrameElement, nsGenericHTMLFrameElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLIFrameElement)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLIFrameElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(nsHTMLIFrameElement,
|
||||
nsGenericHTMLFrameElement)
|
||||
NS_INTERFACE_TABLE_INHERITED1(nsHTMLIFrameElement, nsIDOMHTMLIFrameElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLIFrameElement)
|
||||
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE(nsHTMLIFrameElement)
|
||||
|
@ -191,14 +191,14 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLImageElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLImageElement
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_BEGIN(nsHTMLImageElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLImageElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMNSHTMLImageElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIJSNativeInitializer)
|
||||
NS_INTERFACE_MAP_ENTRY(imgIDecoderObserver)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIImageLoadingContent)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLImageElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(nsHTMLImageElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_TABLE_INHERITED5(nsHTMLImageElement,
|
||||
nsIDOMHTMLImageElement,
|
||||
nsIDOMNSHTMLImageElement,
|
||||
nsIJSNativeInitializer,
|
||||
imgIDecoderObserver,
|
||||
nsIImageLoadingContent)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLImageElement)
|
||||
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE(nsHTMLImageElement)
|
||||
|
@ -403,19 +403,19 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLInputElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLInputElement
|
||||
NS_HTML_CONTENT_CC_INTERFACE_MAP_BEGIN(nsHTMLInputElement,
|
||||
nsGenericHTMLFormElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLInputElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMNSHTMLInputElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsITextControlElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIFileControlElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIRadioControlElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIPhonetic)
|
||||
NS_INTERFACE_MAP_ENTRY(imgIDecoderObserver)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIImageLoadingContent)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMNSEditableElement)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLInputElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_CC_INTERFACE_TABLE_HEAD(nsHTMLInputElement,
|
||||
nsGenericHTMLFormElement)
|
||||
NS_INTERFACE_TABLE_INHERITED9(nsHTMLInputElement,
|
||||
nsIDOMHTMLInputElement,
|
||||
nsIDOMNSHTMLInputElement,
|
||||
nsITextControlElement,
|
||||
nsIFileControlElement,
|
||||
nsIRadioControlElement,
|
||||
nsIPhonetic,
|
||||
imgIDecoderObserver,
|
||||
nsIImageLoadingContent,
|
||||
nsIDOMNSEditableElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLInputElement)
|
||||
|
||||
|
||||
// nsIDOMNode
|
||||
@ -2960,13 +2960,7 @@ public:
|
||||
NS_IMETHOD Visit(nsIFormControl* aRadio, PRBool* aStop) = 0;
|
||||
};
|
||||
|
||||
NS_IMPL_ADDREF(nsRadioVisitor)
|
||||
NS_IMPL_RELEASE(nsRadioVisitor)
|
||||
|
||||
NS_INTERFACE_MAP_BEGIN(nsRadioVisitor)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIRadioVisitor)
|
||||
NS_INTERFACE_MAP_ENTRY(nsISupports)
|
||||
NS_INTERFACE_MAP_END
|
||||
NS_IMPL_ISUPPORTS1(nsRadioVisitor, nsIRadioVisitor)
|
||||
|
||||
|
||||
//
|
||||
|
@ -93,10 +93,9 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLLIElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLLIElement
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_BEGIN(nsHTMLLIElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLLIElement)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLLIElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(nsHTMLLIElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_TABLE_INHERITED1(nsHTMLLIElement, nsIDOMHTMLLIElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLLIElement)
|
||||
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE(nsHTMLLIElement)
|
||||
|
@ -138,11 +138,10 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLLabelElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLLabelElement
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_BEGIN(nsHTMLLabelElement,
|
||||
nsGenericHTMLFormElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLLabelElement)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLLabelElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(nsHTMLLabelElement,
|
||||
nsGenericHTMLFormElement)
|
||||
NS_INTERFACE_TABLE_INHERITED1(nsHTMLLabelElement, nsIDOMHTMLLabelElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLLabelElement)
|
||||
|
||||
|
||||
// nsIDOMHTMLLabelElement
|
||||
|
@ -124,11 +124,10 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLLegendElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLLegendElement
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_BEGIN(nsHTMLLegendElement,
|
||||
nsGenericHTMLFormElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLLegendElement)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLLegendElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(nsHTMLLegendElement,
|
||||
nsGenericHTMLFormElement)
|
||||
NS_INTERFACE_TABLE_INHERITED1(nsHTMLLegendElement, nsIDOMHTMLLegendElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLLegendElement)
|
||||
|
||||
|
||||
// nsIDOMHTMLLegendElement
|
||||
|
@ -146,13 +146,13 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLLinkElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLLinkElement
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_BEGIN(nsHTMLLinkElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLLinkElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMLinkStyle)
|
||||
NS_INTERFACE_MAP_ENTRY(nsILink)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIStyleSheetLinkingElement)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLLinkElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(nsHTMLLinkElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_TABLE_INHERITED4(nsHTMLLinkElement,
|
||||
nsIDOMHTMLLinkElement,
|
||||
nsIDOMLinkStyle,
|
||||
nsILink,
|
||||
nsIStyleSheetLinkingElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLLinkElement)
|
||||
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE(nsHTMLLinkElement)
|
||||
|
@ -102,10 +102,10 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLMapElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLMapElement
|
||||
NS_HTML_CONTENT_CC_INTERFACE_MAP_BEGIN(nsHTMLMapElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLMapElement)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLMapElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_CC_INTERFACE_TABLE_HEAD(nsHTMLMapElement,
|
||||
nsGenericHTMLElement)
|
||||
NS_INTERFACE_TABLE_INHERITED1(nsHTMLMapElement, nsIDOMHTMLMapElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLMapElement)
|
||||
|
||||
|
||||
nsresult
|
||||
|
@ -87,11 +87,10 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLMetaElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLMetaElement
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_BEGIN(nsHTMLMetaElement,
|
||||
nsGenericHTMLElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLMetaElement)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLMetaElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(nsHTMLMetaElement,
|
||||
nsGenericHTMLElement)
|
||||
NS_INTERFACE_TABLE_INHERITED1(nsHTMLMetaElement, nsIDOMHTMLMetaElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLMetaElement)
|
||||
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE(nsHTMLMetaElement)
|
||||
|
@ -103,9 +103,10 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLSharedListElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLSharedListElement
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_AMBIGOUS_BEGIN(nsHTMLSharedListElement,
|
||||
nsGenericHTMLElement,
|
||||
nsIDOMHTMLOListElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_AMBIGOUS_HEAD(nsHTMLSharedListElement,
|
||||
nsGenericHTMLElement,
|
||||
nsIDOMHTMLOListElement)
|
||||
NS_INTERFACE_TABLE_TO_MAP_SEGUE
|
||||
NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMHTMLOListElement, ol)
|
||||
NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMHTMLDListElement, dl)
|
||||
NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMHTMLUListElement, ul)
|
||||
|
@ -165,20 +165,19 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
|
||||
NS_IMPL_ADDREF_INHERITED(nsHTMLObjectElement, nsGenericElement)
|
||||
NS_IMPL_RELEASE_INHERITED(nsHTMLObjectElement, nsGenericElement)
|
||||
|
||||
NS_HTML_CONTENT_CC_INTERFACE_MAP_BEGIN(nsHTMLObjectElement,
|
||||
nsGenericHTMLFormElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLObjectElement)
|
||||
NS_INTERFACE_MAP_ENTRY(imgIDecoderObserver)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIRequestObserver)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIStreamListener)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIFrameLoaderOwner)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIObjectLoadingContent)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIImageLoadingContent)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIInterfaceRequestor)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIChannelEventSink)
|
||||
NS_INTERFACE_MAP_ENTRY(nsISupportsWeakReference)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLObjectElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_CC_INTERFACE_TABLE_HEAD(nsHTMLObjectElement,
|
||||
nsGenericHTMLFormElement)
|
||||
NS_INTERFACE_TABLE_INHERITED9(nsHTMLObjectElement,
|
||||
nsIDOMHTMLObjectElement,
|
||||
imgIDecoderObserver,
|
||||
nsIRequestObserver,
|
||||
nsIStreamListener,
|
||||
nsIFrameLoaderOwner,
|
||||
nsIObjectLoadingContent,
|
||||
nsIImageLoadingContent,
|
||||
nsIInterfaceRequestor,
|
||||
nsIChannelEventSink)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLObjectElement)
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE(nsHTMLObjectElement)
|
||||
|
||||
|
@ -114,11 +114,11 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLOptGroupElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLOptGroupElement
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_BEGIN(nsHTMLOptGroupElement,
|
||||
nsGenericHTMLElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLOptGroupElement)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLOptGroupElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(nsHTMLOptGroupElement,
|
||||
nsGenericHTMLElement)
|
||||
NS_INTERFACE_TABLE_INHERITED1(nsHTMLOptGroupElement,
|
||||
nsIDOMHTMLOptGroupElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLOptGroupElement)
|
||||
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE(nsHTMLOptGroupElement)
|
||||
|
@ -171,13 +171,14 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLOptionElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLOptionElement
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_BEGIN(nsHTMLOptionElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLOptionElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMNSHTMLOptionElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIJSNativeInitializer)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIOptionElement)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLOptionElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(nsHTMLOptionElement,
|
||||
nsGenericHTMLElement)
|
||||
NS_INTERFACE_TABLE_INHERITED4(nsHTMLOptionElement,
|
||||
nsIDOMHTMLOptionElement,
|
||||
nsIDOMNSHTMLOptionElement,
|
||||
nsIJSNativeInitializer,
|
||||
nsIOptionElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLOptionElement)
|
||||
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE(nsHTMLOptionElement)
|
||||
|
@ -97,11 +97,11 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLParagraphElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLParagraphElement
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_BEGIN(nsHTMLParagraphElement,
|
||||
nsGenericHTMLElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLParagraphElement)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLParagraphElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(nsHTMLParagraphElement,
|
||||
nsGenericHTMLElement)
|
||||
NS_INTERFACE_TABLE_INHERITED1(nsHTMLParagraphElement,
|
||||
nsIDOMHTMLParagraphElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLParagraphElement)
|
||||
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE(nsHTMLParagraphElement)
|
||||
|
@ -99,10 +99,9 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLPreElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLPreElement
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_BEGIN(nsHTMLPreElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLPreElement)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLPreElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(nsHTMLPreElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_TABLE_INHERITED1(nsHTMLPreElement, nsIDOMHTMLPreElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLPreElement)
|
||||
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE(nsHTMLPreElement)
|
||||
|
@ -383,11 +383,13 @@ NS_IMPL_ADDREF_INHERITED(nsHTMLScriptElement, nsGenericElement)
|
||||
NS_IMPL_RELEASE_INHERITED(nsHTMLScriptElement, nsGenericElement)
|
||||
|
||||
// QueryInterface implementation for nsHTMLScriptElement
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_BEGIN(nsHTMLScriptElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLScriptElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIScriptLoaderObserver)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIScriptElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIMutationObserver)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(nsHTMLScriptElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_TABLE_INHERITED4(nsHTMLScriptElement,
|
||||
nsIDOMHTMLScriptElement,
|
||||
nsIScriptLoaderObserver,
|
||||
nsIScriptElement,
|
||||
nsIMutationObserver)
|
||||
NS_INTERFACE_TABLE_TO_MAP_SEGUE
|
||||
if (mScriptEventHandler && aIID.Equals(NS_GET_IID(nsIScriptEventHandler)))
|
||||
foundInterface = static_cast<nsIScriptEventHandler*>
|
||||
(mScriptEventHandler);
|
||||
|
@ -534,14 +534,14 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLSelectElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLSelectElement
|
||||
NS_HTML_CONTENT_CC_INTERFACE_MAP_BEGIN(nsHTMLSelectElement,
|
||||
nsGenericHTMLFormElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLSelectElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMNSHTMLSelectElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMNSXBLFormControl)
|
||||
NS_INTERFACE_MAP_ENTRY(nsISelectElement)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLSelectElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_CC_INTERFACE_TABLE_HEAD(nsHTMLSelectElement,
|
||||
nsGenericHTMLFormElement)
|
||||
NS_INTERFACE_TABLE_INHERITED4(nsHTMLSelectElement,
|
||||
nsIDOMHTMLSelectElement,
|
||||
nsIDOMNSHTMLSelectElement,
|
||||
nsIDOMNSXBLFormControl,
|
||||
nsISelectElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLSelectElement)
|
||||
|
||||
|
||||
// nsIDOMHTMLSelectElement
|
||||
@ -2247,11 +2247,12 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
|
||||
// nsISupports
|
||||
|
||||
// QueryInterface implementation for nsHTMLOptionCollection
|
||||
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(nsHTMLOptionCollection)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLOptionsCollection)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMNSHTMLOptionCollection)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLCollection)
|
||||
NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIDOMNSHTMLOptionCollection)
|
||||
NS_INTERFACE_TABLE_HEAD(nsHTMLOptionCollection)
|
||||
NS_INTERFACE_TABLE3(nsHTMLOptionCollection,
|
||||
nsIDOMNSHTMLOptionCollection,
|
||||
nsIDOMHTMLOptionsCollection,
|
||||
nsIDOMHTMLCollection)
|
||||
NS_INTERFACE_TABLE_TO_MAP_SEGUE_CYCLE_COLLECTION(nsHTMLOptionCollection)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLOptionsCollection)
|
||||
NS_INTERFACE_MAP_END
|
||||
|
||||
|
@ -128,9 +128,10 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLSharedElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLSharedElement
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_AMBIGOUS_BEGIN(nsHTMLSharedElement,
|
||||
nsGenericHTMLElement,
|
||||
nsIDOMHTMLParamElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_AMBIGOUS_HEAD(nsHTMLSharedElement,
|
||||
nsGenericHTMLElement,
|
||||
nsIDOMHTMLParamElement)
|
||||
NS_INTERFACE_TABLE_TO_MAP_SEGUE
|
||||
NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMHTMLParamElement, param)
|
||||
NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMHTMLIsIndexElement, isindex)
|
||||
NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMHTMLBaseElement, base)
|
||||
|
@ -209,23 +209,24 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
|
||||
NS_IMPL_ADDREF_INHERITED(nsHTMLSharedObjectElement, nsGenericElement)
|
||||
NS_IMPL_RELEASE_INHERITED(nsHTMLSharedObjectElement, nsGenericElement)
|
||||
|
||||
NS_HTML_CONTENT_CC_INTERFACE_MAP_AMBIGUOUS_BEGIN(nsHTMLSharedObjectElement,
|
||||
nsGenericHTMLElement,
|
||||
nsIDOMHTMLAppletElement)
|
||||
NS_HTML_CONTENT_CC_INTERFACE_TABLE_AMBIGUOUS_HEAD(nsHTMLSharedObjectElement,
|
||||
nsGenericHTMLElement,
|
||||
nsIDOMHTMLAppletElement)
|
||||
NS_INTERFACE_TABLE_INHERITED8(nsHTMLSharedObjectElement,
|
||||
imgIDecoderObserver,
|
||||
nsIRequestObserver,
|
||||
nsIStreamListener,
|
||||
nsIFrameLoaderOwner,
|
||||
nsIObjectLoadingContent,
|
||||
nsIImageLoadingContent,
|
||||
nsIInterfaceRequestor,
|
||||
nsIChannelEventSink)
|
||||
NS_INTERFACE_TABLE_TO_MAP_SEGUE
|
||||
NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMHTMLAppletElement, applet)
|
||||
NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMHTMLEmbedElement, embed)
|
||||
#ifdef MOZ_SVG
|
||||
NS_INTERFACE_MAP_ENTRY_IF_TAG(nsIDOMGetSVGDocument, embed)
|
||||
#endif
|
||||
NS_INTERFACE_MAP_ENTRY(imgIDecoderObserver)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIRequestObserver)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIStreamListener)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIFrameLoaderOwner)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIObjectLoadingContent)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIImageLoadingContent)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIInterfaceRequestor)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIChannelEventSink)
|
||||
NS_INTERFACE_MAP_ENTRY(nsISupportsWeakReference)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO_IF_TAG(HTMLAppletElement, applet)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO_IF_TAG(HTMLEmbedElement, embed)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
|
@ -87,9 +87,8 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLSpanElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLSpanElement
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_BEGIN(nsHTMLSpanElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLSpanElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(nsHTMLSpanElement, nsGenericHTMLElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLSpanElement)
|
||||
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE(nsHTMLSpanElement)
|
||||
|
@ -147,13 +147,13 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLStyleElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLStyleElement
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_BEGIN(nsHTMLStyleElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLStyleElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMLinkStyle)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIStyleSheetLinkingElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIMutationObserver)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLStyleElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(nsHTMLStyleElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_TABLE_INHERITED4(nsHTMLStyleElement,
|
||||
nsIDOMHTMLStyleElement,
|
||||
nsIDOMLinkStyle,
|
||||
nsIStyleSheetLinkingElement,
|
||||
nsIMutationObserver)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLStyleElement)
|
||||
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE(nsHTMLStyleElement)
|
||||
|
@ -94,11 +94,11 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLTableCaptionElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLTableCaptionElement
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_BEGIN(nsHTMLTableCaptionElement,
|
||||
nsGenericHTMLElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLTableCaptionElement)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLTableCaptionElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(nsHTMLTableCaptionElement,
|
||||
nsGenericHTMLElement)
|
||||
NS_INTERFACE_TABLE_INHERITED1(nsHTMLTableCaptionElement,
|
||||
nsIDOMHTMLTableCaptionElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLTableCaptionElement)
|
||||
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE(nsHTMLTableCaptionElement)
|
||||
|
@ -104,10 +104,11 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLTableCellElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLTableCellElement
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_BEGIN(nsHTMLTableCellElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLTableCellElement)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLTableCellElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(nsHTMLTableCellElement,
|
||||
nsGenericHTMLElement)
|
||||
NS_INTERFACE_TABLE_INHERITED1(nsHTMLTableCellElement,
|
||||
nsIDOMHTMLTableCellElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLTableCellElement)
|
||||
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE(nsHTMLTableCellElement)
|
||||
|
@ -98,12 +98,11 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLTableColElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLTableColElement
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_BEGIN(nsHTMLTableColElement,
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(nsHTMLTableColElement,
|
||||
nsGenericHTMLElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLTableColElement)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLTableColElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
|
||||
NS_INTERFACE_TABLE_INHERITED1(nsHTMLTableColElement,
|
||||
nsIDOMHTMLTableColElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLTableColElement)
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE(nsHTMLTableColElement)
|
||||
|
||||
|
@ -150,11 +150,10 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
|
||||
NS_IMPL_CYCLE_COLLECTING_ADDREF(TableRowsCollection)
|
||||
NS_IMPL_CYCLE_COLLECTING_RELEASE(TableRowsCollection)
|
||||
|
||||
NS_INTERFACE_MAP_BEGIN(TableRowsCollection)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLCollection)
|
||||
NS_INTERFACE_MAP_ENTRY(nsISupports)
|
||||
NS_INTERFACE_TABLE_HEAD(TableRowsCollection)
|
||||
NS_INTERFACE_TABLE1(TableRowsCollection, nsIDOMHTMLCollection)
|
||||
NS_INTERFACE_TABLE_TO_MAP_SEGUE_CYCLE_COLLECTION(TableRowsCollection)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLGenericCollection)
|
||||
NS_INTERFACE_MAP_ENTRIES_CYCLE_COLLECTION(TableRowsCollection)
|
||||
NS_INTERFACE_MAP_END
|
||||
|
||||
nsresult
|
||||
@ -364,10 +363,10 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLTableElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLTableElement
|
||||
NS_HTML_CONTENT_CC_INTERFACE_MAP_BEGIN(nsHTMLTableElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLTableElement)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLTableElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_CC_INTERFACE_TABLE_HEAD(nsHTMLTableElement,
|
||||
nsGenericHTMLElement)
|
||||
NS_INTERFACE_TABLE_INHERITED1(nsHTMLTableElement, nsIDOMHTMLTableElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLTableElement)
|
||||
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE(nsHTMLTableElement)
|
||||
|
@ -109,11 +109,11 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLTableRowElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLTableRowElement
|
||||
NS_HTML_CONTENT_CC_INTERFACE_MAP_BEGIN(nsHTMLTableRowElement,
|
||||
nsGenericHTMLElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLTableRowElement)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLTableRowElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_CC_INTERFACE_TABLE_HEAD(nsHTMLTableRowElement,
|
||||
nsGenericHTMLElement)
|
||||
NS_INTERFACE_TABLE_INHERITED1(nsHTMLTableRowElement,
|
||||
nsIDOMHTMLTableRowElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLTableRowElement)
|
||||
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE(nsHTMLTableRowElement)
|
||||
|
@ -107,11 +107,11 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLTableSectionElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLTableSectionElement
|
||||
NS_HTML_CONTENT_CC_INTERFACE_MAP_BEGIN(nsHTMLTableSectionElement,
|
||||
nsGenericHTMLElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLTableSectionElement)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLTableSectionElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_CC_INTERFACE_TABLE_HEAD(nsHTMLTableSectionElement,
|
||||
nsGenericHTMLElement)
|
||||
NS_INTERFACE_TABLE_INHERITED1(nsHTMLTableSectionElement,
|
||||
nsIDOMHTMLTableSectionElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLTableSectionElement)
|
||||
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE(nsHTMLTableSectionElement)
|
||||
|
@ -251,15 +251,15 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLTextAreaElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLTextAreaElement
|
||||
NS_HTML_CONTENT_CC_INTERFACE_MAP_BEGIN(nsHTMLTextAreaElement,
|
||||
nsGenericHTMLFormElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLTextAreaElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMNSHTMLTextAreaElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsITextControlElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMNSEditableElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIMutationObserver)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLTextAreaElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_CC_INTERFACE_TABLE_HEAD(nsHTMLTextAreaElement,
|
||||
nsGenericHTMLFormElement)
|
||||
NS_INTERFACE_TABLE_INHERITED5(nsHTMLTextAreaElement,
|
||||
nsIDOMHTMLTextAreaElement,
|
||||
nsIDOMNSHTMLTextAreaElement,
|
||||
nsITextControlElement,
|
||||
nsIDOMNSEditableElement,
|
||||
nsIMutationObserver)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLTextAreaElement)
|
||||
|
||||
|
||||
// nsIDOMHTMLTextAreaElement
|
||||
|
@ -88,10 +88,9 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLTitleElement, nsGenericElement)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLTitleElement
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_BEGIN(nsHTMLTitleElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLTitleElement)
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLTitleElement)
|
||||
NS_HTML_CONTENT_INTERFACE_MAP_END
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_HEAD(nsHTMLTitleElement, nsGenericHTMLElement)
|
||||
NS_INTERFACE_TABLE_INHERITED1(nsHTMLTitleElement, nsIDOMHTMLTitleElement)
|
||||
NS_HTML_CONTENT_INTERFACE_TABLE_TAIL_CLASSINFO(HTMLTitleElement)
|
||||
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE(nsHTMLTitleElement)
|
||||
|
@ -40,9 +40,9 @@
|
||||
#include "nsContentUtils.h"
|
||||
#include "nsDOMClassInfoID.h"
|
||||
|
||||
NS_INTERFACE_MAP_BEGIN(nsTextRectangle)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMTextRectangle)
|
||||
NS_INTERFACE_MAP_ENTRY(nsISupports)
|
||||
NS_INTERFACE_TABLE_HEAD(nsTextRectangle)
|
||||
NS_INTERFACE_TABLE1(nsTextRectangle, nsIDOMTextRectangle)
|
||||
NS_INTERFACE_TABLE_TO_MAP_SEGUE
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(TextRectangle)
|
||||
NS_INTERFACE_MAP_END
|
||||
|
||||
@ -82,9 +82,9 @@ nsTextRectangle::GetBottom(float* aResult)
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_INTERFACE_MAP_BEGIN(nsTextRectangleList)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMTextRectangleList)
|
||||
NS_INTERFACE_MAP_ENTRY(nsISupports)
|
||||
NS_INTERFACE_TABLE_HEAD(nsTextRectangleList)
|
||||
NS_INTERFACE_TABLE1(nsTextRectangleList, nsIDOMTextRectangleList)
|
||||
NS_INTERFACE_TABLE_TO_MAP_SEGUE
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(TextRectangleList)
|
||||
NS_INTERFACE_MAP_END
|
||||
|
||||
|
@ -94,6 +94,7 @@ _TEST_FILES = test_bug589.html \
|
||||
test_bug386728.html \
|
||||
test_bug386996.html \
|
||||
test_bug388746.html \
|
||||
test_bug389797.html \
|
||||
$(NULL)
|
||||
|
||||
libs:: $(_TEST_FILES)
|
||||
|
282
content/html/content/test/test_bug389797.html
Normal file
282
content/html/content/test/test_bug389797.html
Normal file
@ -0,0 +1,282 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<!--
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=389797
|
||||
-->
|
||||
<head>
|
||||
<title>Test for Bug 389797</title>
|
||||
<script type="text/javascript" src="/MochiKit/MochiKit.js"></script>
|
||||
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
|
||||
</head>
|
||||
<body>
|
||||
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=389797">Mozilla Bug 389797</a>
|
||||
<p id="display"></p>
|
||||
<div id="content" style="display: none">
|
||||
|
||||
</div>
|
||||
<pre id="test">
|
||||
<script class="testbody" type="text/javascript">
|
||||
|
||||
/** Test for Bug 389797 **/
|
||||
var allTags = [];
|
||||
var classInfos = {};
|
||||
var interfaces = {};
|
||||
var interfacesNonClassinfo = {};
|
||||
|
||||
function getClassName(tag) {
|
||||
return "HTML" + classInfos[tag] + "Element";
|
||||
}
|
||||
|
||||
function HTML_TAG(aTagName, aImplClass) {
|
||||
allTags.push(aTagName);
|
||||
classInfos[aTagName] = aImplClass;
|
||||
interfaces[aTagName] =
|
||||
[ "nsIDOM3Node",
|
||||
"nsIDOMNSElement",
|
||||
"nsIDOMEventTarget",
|
||||
"nsIDOMNSHTMLElement",
|
||||
"nsIDOMElementCSSInlineStyle" ];
|
||||
|
||||
// Some interfaces don't appear in classinfo because other interfaces that
|
||||
// inherit from them do.
|
||||
interfacesNonClassinfo[aTagName] =
|
||||
[ "nsIDOMNode",
|
||||
"nsIDOMElement",
|
||||
"nsIDOM3EventTarget", "nsIDOMNSEventTarget",
|
||||
"nsISupportsWeakReference" ];
|
||||
|
||||
var interfaceName = "nsIDOM" + getClassName(aTagName);
|
||||
if (interfaceName in Components.interfaces) { // no nsIDOMHTMLSpanElement
|
||||
interfaces[aTagName].push(interfaceName);
|
||||
interfacesNonClassinfo[aTagName].push("nsIDOMHTMLElement");
|
||||
} else if (aTagName != "ins" && aTagName != "del") {
|
||||
// Inherits directly from nsIDOMHTMLElement, unless it's "ins" or "del",
|
||||
// which are weird.
|
||||
interfaces[aTagName].push("nsIDOMHTMLElement");
|
||||
|
||||
}
|
||||
|
||||
var interfaceNameNS = "nsIDOMNS" + getClassName(aTagName);
|
||||
if (interfaceNameNS in Components.interfaces) {
|
||||
interfaces[aTagName].push(interfaceNameNS);
|
||||
}
|
||||
|
||||
if (arguments.length > 2) {
|
||||
for (var i = 0; i < arguments[2].length; ++i) {
|
||||
interfaces[aTagName].push(arguments[2][i]);
|
||||
}
|
||||
}
|
||||
|
||||
if (arguments.length > 3) {
|
||||
for (i = 0; i < arguments[3].length; ++i) {
|
||||
interfacesNonClassinfo[aTagName].push(arguments[3][i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const objectIfaces = [
|
||||
"imgIDecoderObserver", "nsIRequestObserver", "nsIStreamListener",
|
||||
"nsIFrameLoaderOwner", "nsIObjectLoadingContent", "nsIInterfaceRequestor",
|
||||
"nsIChannelEventSink"
|
||||
];
|
||||
|
||||
var objectIfaces2 = [];
|
||||
for each (var iface in objectIfaces) {
|
||||
objectIfaces2.push(iface);
|
||||
}
|
||||
objectIfaces2.push("nsIImageLoadingContent");
|
||||
|
||||
/* List copy/pasted from nsHTMLTagList.h, with the second field modified to the
|
||||
correct classinfo (instead of the impl class) in the following cases:
|
||||
|
||||
applet
|
||||
base
|
||||
basefont
|
||||
blockquote
|
||||
del
|
||||
dir
|
||||
dl
|
||||
embed
|
||||
ins
|
||||
isindex
|
||||
menu
|
||||
ol
|
||||
param
|
||||
q
|
||||
spacer
|
||||
ul
|
||||
wbr
|
||||
*/
|
||||
HTML_TAG("a", "Anchor", [ "nsIDOMNSHTMLAnchorElement2" ]);
|
||||
HTML_TAG("abbr", "Span");
|
||||
HTML_TAG("acronym", "Span");
|
||||
HTML_TAG("address", "Span");
|
||||
HTML_TAG("applet", "Applet", [], objectIfaces);
|
||||
HTML_TAG("area", "Area", [ "nsIDOMNSHTMLAreaElement2" ]);
|
||||
HTML_TAG("b", "Span");
|
||||
HTML_TAG("base", "Base");
|
||||
HTML_TAG("basefont", "BaseFont");
|
||||
HTML_TAG("bdo", "Span");
|
||||
HTML_TAG("bgsound", "Span");
|
||||
HTML_TAG("big", "Span");
|
||||
HTML_TAG("blink", "Span");
|
||||
HTML_TAG("blockquote", "Quote");
|
||||
HTML_TAG("body", "Body");
|
||||
HTML_TAG("br", "BR");
|
||||
HTML_TAG("button", "Button");
|
||||
HTML_TAG("canvas", "Canvas");
|
||||
HTML_TAG("caption", "TableCaption");
|
||||
HTML_TAG("center", "Span");
|
||||
HTML_TAG("cite", "Span");
|
||||
HTML_TAG("code", "Span");
|
||||
HTML_TAG("col", "TableCol");
|
||||
HTML_TAG("colgroup", "TableCol");
|
||||
HTML_TAG("dd", "Span");
|
||||
HTML_TAG("del", "Del", [ "nsIDOMHTMLModElement" ]);
|
||||
HTML_TAG("dfn", "Span");
|
||||
HTML_TAG("dir", "Directory");
|
||||
HTML_TAG("div", "Div");
|
||||
HTML_TAG("dl", "DList");
|
||||
HTML_TAG("dt", "Span");
|
||||
HTML_TAG("em", "Span");
|
||||
HTML_TAG("embed", "Embed", [ "nsIDOMGetSVGDocument" ], objectIfaces);
|
||||
HTML_TAG("fieldset", "FieldSet");
|
||||
HTML_TAG("font", "Font");
|
||||
HTML_TAG("form", "Form", [], [ "nsIWebProgressListener" ]);
|
||||
HTML_TAG("frame", "Frame", [], [ "nsIFrameLoaderOwner" ]);
|
||||
HTML_TAG("frameset", "FrameSet");
|
||||
HTML_TAG("h1", "Heading");
|
||||
HTML_TAG("h2", "Heading");
|
||||
HTML_TAG("h3", "Heading");
|
||||
HTML_TAG("h4", "Heading");
|
||||
HTML_TAG("h5", "Heading");
|
||||
HTML_TAG("h6", "Heading");
|
||||
HTML_TAG("head", "Head");
|
||||
HTML_TAG("hr", "HR");
|
||||
HTML_TAG("html", "Html");
|
||||
HTML_TAG("i", "Span");
|
||||
HTML_TAG("iframe", "IFrame", [ "nsIDOMNSHTMLFrameElement" ],
|
||||
[ "nsIFrameLoaderOwner" ]);
|
||||
HTML_TAG("image", "Span");
|
||||
HTML_TAG("img", "Image", [], [ "imgIDecoderObserver",
|
||||
"nsIImageLoadingContent" ]);
|
||||
HTML_TAG("input", "Input", [], [ "imgIDecoderObserver",
|
||||
"nsIImageLoadingContent",
|
||||
"nsIDOMNSEditableElement" ]);
|
||||
HTML_TAG("ins", "Ins", [ "nsIDOMHTMLModElement" ]);
|
||||
HTML_TAG("isindex", "IsIndex");
|
||||
HTML_TAG("kbd", "Span");
|
||||
HTML_TAG("keygen", "Span");
|
||||
HTML_TAG("label", "Label");
|
||||
HTML_TAG("legend", "Legend");
|
||||
HTML_TAG("li", "LI");
|
||||
HTML_TAG("link", "Link", [ "nsIDOMLinkStyle" ]);
|
||||
HTML_TAG("listing", "Span");
|
||||
HTML_TAG("map", "Map");
|
||||
HTML_TAG("marquee", "Div");
|
||||
HTML_TAG("menu", "Menu");
|
||||
HTML_TAG("meta", "Meta");
|
||||
HTML_TAG("multicol", "Span");
|
||||
HTML_TAG("nobr", "Span");
|
||||
HTML_TAG("noembed", "Div");
|
||||
HTML_TAG("noframes", "Div");
|
||||
HTML_TAG("noscript", "Div");
|
||||
HTML_TAG("object", "Object", [],
|
||||
objectIfaces.concat([ "nsIImageLoadingContent" ]));
|
||||
HTML_TAG("ol", "OList");
|
||||
HTML_TAG("optgroup", "OptGroup");
|
||||
HTML_TAG("option", "Option");
|
||||
HTML_TAG("p", "Paragraph");
|
||||
HTML_TAG("param", "Param");
|
||||
HTML_TAG("plaintext", "Span");
|
||||
HTML_TAG("pre", "Pre");
|
||||
HTML_TAG("q", "Quote");
|
||||
HTML_TAG("s", "Span");
|
||||
HTML_TAG("samp", "Span");
|
||||
HTML_TAG("script", "Script", [], [ "nsIScriptLoaderObserver" ]);
|
||||
HTML_TAG("select", "Select", [ "nsIDOMNSXBLFormControl" ]);
|
||||
HTML_TAG("small", "Span");
|
||||
HTML_TAG("spacer", "Spacer");
|
||||
HTML_TAG("span", "Span");
|
||||
HTML_TAG("strike", "Span");
|
||||
HTML_TAG("strong", "Span");
|
||||
HTML_TAG("style", "Style", [ "nsIDOMLinkStyle" ]);
|
||||
HTML_TAG("sub", "Span");
|
||||
HTML_TAG("sup", "Span");
|
||||
HTML_TAG("table", "Table");
|
||||
HTML_TAG("tbody", "TableSection");
|
||||
HTML_TAG("td", "TableCell");
|
||||
HTML_TAG("textarea", "TextArea", [], [ "nsIDOMNSEditableElement" ]);
|
||||
HTML_TAG("tfoot", "TableSection");
|
||||
HTML_TAG("th", "TableCell");
|
||||
HTML_TAG("thead", "TableSection");
|
||||
HTML_TAG("title", "Title");
|
||||
HTML_TAG("tr", "TableRow");
|
||||
HTML_TAG("tt", "Span");
|
||||
HTML_TAG("u", "Span");
|
||||
HTML_TAG("ul", "UList");
|
||||
HTML_TAG("var", "Span");
|
||||
HTML_TAG("wbr", "WBR");
|
||||
HTML_TAG("xmp", "Span");
|
||||
|
||||
function tagName(aTag) {
|
||||
return "<" + aTag + ">";
|
||||
}
|
||||
|
||||
for each (var tag in allTags) {
|
||||
var node = document.createElement(tag);
|
||||
|
||||
// Have to use the proto's toString(), since HTMLAnchorElement and company
|
||||
// override toString().
|
||||
var nodeString = HTMLElement.prototype.toString.apply(node);
|
||||
|
||||
// Debug builds have extra info, so chop off after "Element" if it's followed
|
||||
// by ' ' or ']'
|
||||
nodeString = nodeString.replace(/Element[\] ].*/, "Element");
|
||||
|
||||
var classInfoString = getClassName(tag);
|
||||
is(nodeString, "[object " + classInfoString,
|
||||
"Unexpected classname for " + tagName(tag));
|
||||
is(node instanceof window[classInfoString], true,
|
||||
tagName(tag) + " not an instance of " + classInfos[tag]);
|
||||
|
||||
// Check that each node QIs to all the things we expect it to QI to
|
||||
for each (var iface in interfaces[tag].concat(interfacesNonClassinfo[tag])) {
|
||||
is(iface in Components.interfaces, true,
|
||||
iface + " not in Components.interfaces");
|
||||
is(node instanceof Components.interfaces[iface], true,
|
||||
tagName(tag) + " does not QI to " + iface);
|
||||
}
|
||||
|
||||
// Now see what classinfo reports
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var nodeClassInfo = node.QueryInterface(Components.interfaces.nsIClassInfo);
|
||||
var count = {};
|
||||
var classInfoInterfaces = nodeClassInfo.getInterfaces(count);
|
||||
|
||||
// Stringify them
|
||||
for (var idx = 0; idx < classInfoInterfaces.length; ++idx) {
|
||||
classInfoInterfaces[idx] =
|
||||
Components.interfacesByID[classInfoInterfaces[idx]].toString();
|
||||
}
|
||||
|
||||
// Make sure that we know about all the things classinfo claims
|
||||
for each (var classInfoInterface in classInfoInterfaces) {
|
||||
isnot(interfaces[tag].indexOf(classInfoInterface), -1,
|
||||
"Should know about " + tagName(tag) + " implementing " +
|
||||
classInfoInterface);
|
||||
}
|
||||
|
||||
// And make sure classinfo claims all the things we know about
|
||||
for each (iface in interfaces[tag]) {
|
||||
isnot(classInfoInterfaces.indexOf(iface), -1,
|
||||
"Classinfo for " + tagName(tag) + " should claim to implement " +
|
||||
iface);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -383,10 +383,12 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLDocument, nsDocument)
|
||||
|
||||
|
||||
// QueryInterface implementation for nsHTMLDocument
|
||||
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(nsHTMLDocument)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIHTMLDocument)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMHTMLDocument)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMNSHTMLDocument)
|
||||
NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(nsHTMLDocument)
|
||||
NS_INTERFACE_TABLE_INHERITED3(nsHTMLDocument,
|
||||
nsIHTMLDocument,
|
||||
nsIDOMHTMLDocument,
|
||||
nsIDOMNSHTMLDocument)
|
||||
NS_INTERFACE_TABLE_TO_MAP_SEGUE
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(HTMLDocument)
|
||||
NS_INTERFACE_MAP_END_INHERITING(nsDocument)
|
||||
|
||||
|
@ -223,16 +223,10 @@ nsHTMLFragmentContentSink::~nsHTMLFragmentContentSink()
|
||||
}
|
||||
}
|
||||
|
||||
NS_IMPL_ADDREF(nsHTMLFragmentContentSink)
|
||||
NS_IMPL_RELEASE(nsHTMLFragmentContentSink)
|
||||
|
||||
NS_INTERFACE_MAP_BEGIN(nsHTMLFragmentContentSink)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIFragmentContentSink)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIHTMLContentSink)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIContentSink)
|
||||
NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIFragmentContentSink)
|
||||
NS_INTERFACE_MAP_END
|
||||
|
||||
NS_IMPL_ISUPPORTS3(nsHTMLFragmentContentSink,
|
||||
nsIFragmentContentSink,
|
||||
nsIHTMLContentSink,
|
||||
nsIContentSink)
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsHTMLFragmentContentSink::WillBuildModel(void)
|
||||
|
@ -80,8 +80,6 @@ public:
|
||||
ImageListener(nsImageDocument* aDocument);
|
||||
virtual ~ImageListener();
|
||||
|
||||
NS_DECL_ISUPPORTS
|
||||
|
||||
NS_DECL_NSIREQUESTOBSERVER
|
||||
};
|
||||
|
||||
@ -94,7 +92,7 @@ public:
|
||||
nsImageDocument();
|
||||
virtual ~nsImageDocument();
|
||||
|
||||
NS_DECL_ISUPPORTS
|
||||
NS_DECL_ISUPPORTS_INHERITED
|
||||
|
||||
virtual nsresult Init();
|
||||
|
||||
@ -148,12 +146,6 @@ protected:
|
||||
PRPackedBool mFirstResize;
|
||||
};
|
||||
|
||||
NS_IMPL_ADDREF_INHERITED(ImageListener, nsMediaDocumentStreamListener)
|
||||
NS_IMPL_RELEASE_INHERITED(ImageListener, nsMediaDocumentStreamListener)
|
||||
|
||||
NS_INTERFACE_MAP_BEGIN(ImageListener)
|
||||
NS_INTERFACE_MAP_END_INHERITING(nsMediaDocumentStreamListener)
|
||||
|
||||
ImageListener::ImageListener(nsImageDocument* aDocument)
|
||||
: nsMediaDocumentStreamListener(aDocument)
|
||||
{
|
||||
@ -269,14 +261,18 @@ nsImageDocument::~nsImageDocument()
|
||||
{
|
||||
}
|
||||
|
||||
// XXXbz shouldn't this participate in cycle collection? It's got
|
||||
// mImageContent!
|
||||
NS_IMPL_ADDREF_INHERITED(nsImageDocument, nsMediaDocument)
|
||||
NS_IMPL_RELEASE_INHERITED(nsImageDocument, nsMediaDocument)
|
||||
|
||||
NS_INTERFACE_MAP_BEGIN(nsImageDocument)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIImageDocument)
|
||||
NS_INTERFACE_MAP_ENTRY(imgIDecoderObserver)
|
||||
NS_INTERFACE_MAP_ENTRY(imgIContainerObserver)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIDOMEventListener)
|
||||
NS_INTERFACE_TABLE_HEAD(nsImageDocument)
|
||||
NS_INTERFACE_TABLE4(nsImageDocument,
|
||||
nsIImageDocument,
|
||||
imgIDecoderObserver,
|
||||
imgIContainerObserver,
|
||||
nsIDOMEventListener)
|
||||
NS_INTERFACE_TABLE_TO_MAP_SEGUE
|
||||
NS_INTERFACE_MAP_ENTRY_CONTENT_CLASSINFO(ImageDocument)
|
||||
NS_INTERFACE_MAP_END_INHERITING(nsMediaDocument)
|
||||
|
||||
|
@ -44,6 +44,8 @@
|
||||
#include "nsIDocShellTreeItem.h"
|
||||
#include "nsNodeInfoManager.h"
|
||||
#include "nsContentCreatorFunctions.h"
|
||||
#include "nsContentPolicyUtils.h"
|
||||
#include "nsIPropertyBag2.h"
|
||||
|
||||
class nsPluginDocument : public nsMediaDocument,
|
||||
public nsIPluginDocument
|
||||
@ -52,7 +54,7 @@ public:
|
||||
nsPluginDocument();
|
||||
virtual ~nsPluginDocument();
|
||||
|
||||
NS_DECL_ISUPPORTS
|
||||
NS_DECL_ISUPPORTS_INHERITED
|
||||
NS_DECL_NSIPLUGINDOCUMENT
|
||||
|
||||
virtual nsresult StartDocumentLoad(const char* aCommand,
|
||||
@ -143,13 +145,10 @@ nsPluginDocument::~nsPluginDocument()
|
||||
{
|
||||
}
|
||||
|
||||
NS_IMPL_ADDREF_INHERITED(nsPluginDocument, nsMediaDocument)
|
||||
NS_IMPL_RELEASE_INHERITED(nsPluginDocument, nsMediaDocument)
|
||||
|
||||
NS_INTERFACE_MAP_BEGIN(nsPluginDocument)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIPluginDocument)
|
||||
NS_INTERFACE_MAP_END_INHERITING(nsMediaDocument)
|
||||
|
||||
// XXXbz shouldn't this participate in cycle collection? It's got
|
||||
// mPluginContent!
|
||||
NS_IMPL_ISUPPORTS_INHERITED1(nsPluginDocument, nsMediaDocument,
|
||||
nsIPluginDocument)
|
||||
|
||||
void
|
||||
nsPluginDocument::SetScriptGlobalObject(nsIScriptGlobalObject* aScriptGlobalObject)
|
||||
|
@ -80,7 +80,8 @@ public:
|
||||
* receive the result.
|
||||
* @return <b>NS_OK</b> if the interface is supported by the associated
|
||||
* instance, <b>NS_NOINTERFACE</b> if it is not.
|
||||
* <b>NS_ERROR_INVALID_POINTER</b> if <i>aInstancePtr</i> is <b>NULL</b>.
|
||||
*
|
||||
* aInstancePtr must not be null.
|
||||
*/
|
||||
NS_IMETHOD QueryInterface(REFNSIID aIID, void** aInstancePtr) = 0;
|
||||
/**
|
||||
|
@ -167,13 +167,29 @@ public:
|
||||
|
||||
#define NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(_class) \
|
||||
NS_INTERFACE_MAP_BEGIN(_class) \
|
||||
NS_INTERFACE_MAP_ENTRY_CYCLE_COLLECTION(_class) \
|
||||
NS_INTERFACE_MAP_ENTRY_CYCLE_COLLECTION_ISUPPORTS(_class)
|
||||
NS_INTERFACE_MAP_ENTRIES_CYCLE_COLLECTION(_class)
|
||||
|
||||
#define NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(_class) \
|
||||
NS_INTERFACE_MAP_BEGIN(_class) \
|
||||
NS_INTERFACE_MAP_ENTRY_CYCLE_COLLECTION(_class)
|
||||
|
||||
#define NS_INTERFACE_TABLE_TO_MAP_SEGUE_CYCLE_COLLECTION(_class) \
|
||||
if (rv == NS_OK) return rv; \
|
||||
nsISupports* foundInterface; \
|
||||
NS_INTERFACE_MAP_ENTRIES_CYCLE_COLLECTION(_class)
|
||||
|
||||
#define NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(_class) \
|
||||
NS_IMETHODIMP _class::QueryInterface(REFNSIID aIID, void** aInstancePtr) \
|
||||
{ \
|
||||
NS_PRECONDITION(aInstancePtr, "null out param"); \
|
||||
\
|
||||
if ( aIID.Equals(NS_GET_IID(nsXPCOMCycleCollectionParticipant)) ) { \
|
||||
*aInstancePtr = &NS_CYCLE_COLLECTION_NAME(_class); \
|
||||
return NS_OK; \
|
||||
} \
|
||||
nsresult rv;
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Helpers for implementing nsCycleCollectionParticipant::Unlink
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -435,7 +435,7 @@ NS_IMETHODIMP _class::QueryInterface(REFNSIID aIID, void** aInstancePtr) \
|
||||
{ \
|
||||
NS_ASSERTION(aInstancePtr, \
|
||||
"QueryInterface requires a non-NULL destination!"); \
|
||||
nsresult rv = NS_ERROR_FAILURE;;
|
||||
nsresult rv = NS_ERROR_FAILURE;
|
||||
|
||||
#define NS_INTERFACE_TABLE_BEGIN \
|
||||
static const QITableEntry table[] = {
|
||||
@ -456,11 +456,14 @@ NS_IMETHODIMP _class::QueryInterface(REFNSIID aIID, void** aInstancePtr) \
|
||||
reinterpret_cast<char*>((_class*) 0x1000) \
|
||||
},
|
||||
|
||||
#define NS_INTERFACE_TABLE_END \
|
||||
#define NS_INTERFACE_TABLE_END_WITH_PTR(_ptr) \
|
||||
{ nsnull, 0 } }; \
|
||||
rv = NS_TableDrivenQI(static_cast<void*>(this), \
|
||||
rv = NS_TableDrivenQI(static_cast<void*>(_ptr), \
|
||||
table, aIID, aInstancePtr);
|
||||
|
||||
#define NS_INTERFACE_TABLE_END \
|
||||
NS_INTERFACE_TABLE_END_WITH_PTR(this)
|
||||
|
||||
#define NS_INTERFACE_TABLE_TAIL \
|
||||
return rv; \
|
||||
}
|
||||
@ -586,53 +589,42 @@ NS_IMETHODIMP _class::QueryInterface(REFNSIID aIID, void** aInstancePtr) \
|
||||
#define NS_INTERFACE_MAP_END_AGGREGATED(_aggregator) \
|
||||
NS_IMPL_QUERY_TAIL_USING_AGGREGATOR(_aggregator)
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE0(_class) \
|
||||
NS_INTERFACE_TABLE_HEAD(_class) \
|
||||
#define NS_INTERFACE_TABLE0(_class) \
|
||||
NS_INTERFACE_TABLE_BEGIN \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, nsISupports) \
|
||||
NS_INTERFACE_TABLE_END \
|
||||
NS_INTERFACE_TABLE_TAIL
|
||||
NS_INTERFACE_TABLE_END
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE1(_class, _i1) \
|
||||
NS_INTERFACE_TABLE_HEAD(_class) \
|
||||
#define NS_INTERFACE_TABLE1(_class, _i1) \
|
||||
NS_INTERFACE_TABLE_BEGIN \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i1) \
|
||||
NS_INTERFACE_TABLE_ENTRY_AMBIGUOUS(_class, nsISupports, _i1) \
|
||||
NS_INTERFACE_TABLE_END \
|
||||
NS_INTERFACE_TABLE_TAIL
|
||||
NS_INTERFACE_TABLE_END
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE2(_class, _i1, _i2) \
|
||||
NS_INTERFACE_TABLE_HEAD(_class) \
|
||||
#define NS_INTERFACE_TABLE2(_class, _i1, _i2) \
|
||||
NS_INTERFACE_TABLE_BEGIN \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i1) \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i2) \
|
||||
NS_INTERFACE_TABLE_ENTRY_AMBIGUOUS(_class, nsISupports, _i1) \
|
||||
NS_INTERFACE_TABLE_END \
|
||||
NS_INTERFACE_TABLE_TAIL
|
||||
NS_INTERFACE_TABLE_END
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE3(_class, _i1, _i2, _i3) \
|
||||
NS_INTERFACE_TABLE_HEAD(_class) \
|
||||
#define NS_INTERFACE_TABLE3(_class, _i1, _i2, _i3) \
|
||||
NS_INTERFACE_TABLE_BEGIN \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i1) \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i2) \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i3) \
|
||||
NS_INTERFACE_TABLE_ENTRY_AMBIGUOUS(_class, nsISupports, _i1) \
|
||||
NS_INTERFACE_TABLE_END \
|
||||
NS_INTERFACE_TABLE_TAIL
|
||||
NS_INTERFACE_TABLE_END
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE4(_class, _i1, _i2, _i3, _i4) \
|
||||
NS_INTERFACE_TABLE_HEAD(_class) \
|
||||
#define NS_INTERFACE_TABLE4(_class, _i1, _i2, _i3, _i4) \
|
||||
NS_INTERFACE_TABLE_BEGIN \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i1) \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i2) \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i3) \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i4) \
|
||||
NS_INTERFACE_TABLE_ENTRY_AMBIGUOUS(_class, nsISupports, _i1) \
|
||||
NS_INTERFACE_TABLE_END \
|
||||
NS_INTERFACE_TABLE_TAIL
|
||||
NS_INTERFACE_TABLE_END
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE5(_class, _i1, _i2, _i3, _i4, _i5) \
|
||||
NS_INTERFACE_TABLE_HEAD(_class) \
|
||||
#define NS_INTERFACE_TABLE5(_class, _i1, _i2, _i3, _i4, _i5) \
|
||||
NS_INTERFACE_TABLE_BEGIN \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i1) \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i2) \
|
||||
@ -640,11 +632,9 @@ NS_IMETHODIMP _class::QueryInterface(REFNSIID aIID, void** aInstancePtr) \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i4) \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i5) \
|
||||
NS_INTERFACE_TABLE_ENTRY_AMBIGUOUS(_class, nsISupports, _i1) \
|
||||
NS_INTERFACE_TABLE_END \
|
||||
NS_INTERFACE_TABLE_TAIL
|
||||
NS_INTERFACE_TABLE_END
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE6(_class, _i1, _i2, _i3, _i4, _i5, _i6) \
|
||||
NS_INTERFACE_TABLE_HEAD(_class) \
|
||||
#define NS_INTERFACE_TABLE6(_class, _i1, _i2, _i3, _i4, _i5, _i6) \
|
||||
NS_INTERFACE_TABLE_BEGIN \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i1) \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i2) \
|
||||
@ -653,11 +643,9 @@ NS_IMETHODIMP _class::QueryInterface(REFNSIID aIID, void** aInstancePtr) \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i5) \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i6) \
|
||||
NS_INTERFACE_TABLE_ENTRY_AMBIGUOUS(_class, nsISupports, _i1) \
|
||||
NS_INTERFACE_TABLE_END \
|
||||
NS_INTERFACE_TABLE_TAIL
|
||||
NS_INTERFACE_TABLE_END
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE7(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7) \
|
||||
NS_INTERFACE_TABLE_HEAD(_class) \
|
||||
#define NS_INTERFACE_TABLE7(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7) \
|
||||
NS_INTERFACE_TABLE_BEGIN \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i1) \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i2) \
|
||||
@ -667,12 +655,9 @@ NS_IMETHODIMP _class::QueryInterface(REFNSIID aIID, void** aInstancePtr) \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i6) \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i7) \
|
||||
NS_INTERFACE_TABLE_ENTRY_AMBIGUOUS(_class, nsISupports, _i1) \
|
||||
NS_INTERFACE_TABLE_END \
|
||||
NS_INTERFACE_TABLE_TAIL
|
||||
NS_INTERFACE_TABLE_END
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE8(_class, _i1, _i2, _i3, _i4, _i5, _i6, \
|
||||
_i7, _i8) \
|
||||
NS_INTERFACE_TABLE_HEAD(_class) \
|
||||
#define NS_INTERFACE_TABLE8(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7, _i8) \
|
||||
NS_INTERFACE_TABLE_BEGIN \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i1) \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i2) \
|
||||
@ -683,12 +668,10 @@ NS_IMETHODIMP _class::QueryInterface(REFNSIID aIID, void** aInstancePtr) \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i7) \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i8) \
|
||||
NS_INTERFACE_TABLE_ENTRY_AMBIGUOUS(_class, nsISupports, _i1) \
|
||||
NS_INTERFACE_TABLE_END \
|
||||
NS_INTERFACE_TABLE_TAIL
|
||||
NS_INTERFACE_TABLE_END
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE9(_class, _i1, _i2, _i3, _i4, _i5, _i6, \
|
||||
_i7, _i8, _i9) \
|
||||
NS_INTERFACE_TABLE_HEAD(_class) \
|
||||
#define NS_INTERFACE_TABLE9(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7, \
|
||||
_i8, _i9) \
|
||||
NS_INTERFACE_TABLE_BEGIN \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i1) \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i2) \
|
||||
@ -700,12 +683,10 @@ NS_IMETHODIMP _class::QueryInterface(REFNSIID aIID, void** aInstancePtr) \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i8) \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i9) \
|
||||
NS_INTERFACE_TABLE_ENTRY_AMBIGUOUS(_class, nsISupports, _i1) \
|
||||
NS_INTERFACE_TABLE_END \
|
||||
NS_INTERFACE_TABLE_TAIL
|
||||
NS_INTERFACE_TABLE_END
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE10(_class, _i1, _i2, _i3, _i4, _i5, _i6, \
|
||||
_i7, _i8, _i9, _i10) \
|
||||
NS_INTERFACE_TABLE_HEAD(_class) \
|
||||
#define NS_INTERFACE_TABLE10(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7, \
|
||||
_i8, _i9, _i10) \
|
||||
NS_INTERFACE_TABLE_BEGIN \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i1) \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i2) \
|
||||
@ -718,12 +699,10 @@ NS_IMETHODIMP _class::QueryInterface(REFNSIID aIID, void** aInstancePtr) \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i9) \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i10) \
|
||||
NS_INTERFACE_TABLE_ENTRY_AMBIGUOUS(_class, nsISupports, _i1) \
|
||||
NS_INTERFACE_TABLE_END \
|
||||
NS_INTERFACE_TABLE_TAIL
|
||||
NS_INTERFACE_TABLE_END
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE11(_class, _i1, _i2, _i3, _i4, _i5, _i6, \
|
||||
_i7, _i8, _i9, _i10, _i11) \
|
||||
NS_INTERFACE_TABLE_HEAD(_class) \
|
||||
#define NS_INTERFACE_TABLE11(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7, \
|
||||
_i8, _i9, _i10, _i11) \
|
||||
NS_INTERFACE_TABLE_BEGIN \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i1) \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i2) \
|
||||
@ -737,7 +716,72 @@ NS_IMETHODIMP _class::QueryInterface(REFNSIID aIID, void** aInstancePtr) \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i10) \
|
||||
NS_INTERFACE_TABLE_ENTRY(_class, _i11) \
|
||||
NS_INTERFACE_TABLE_ENTRY_AMBIGUOUS(_class, nsISupports, _i1) \
|
||||
NS_INTERFACE_TABLE_END \
|
||||
NS_INTERFACE_TABLE_END
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE0(_class) \
|
||||
NS_INTERFACE_TABLE_HEAD(_class) \
|
||||
NS_INTERFACE_TABLE0(_class) \
|
||||
NS_INTERFACE_TABLE_TAIL
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE1(_class, _i1) \
|
||||
NS_INTERFACE_TABLE_HEAD(_class) \
|
||||
NS_INTERFACE_TABLE1(_class, _i1) \
|
||||
NS_INTERFACE_TABLE_TAIL
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE2(_class, _i1, _i2) \
|
||||
NS_INTERFACE_TABLE_HEAD(_class) \
|
||||
NS_INTERFACE_TABLE2(_class, _i1, _i2) \
|
||||
NS_INTERFACE_TABLE_TAIL
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE3(_class, _i1, _i2, _i3) \
|
||||
NS_INTERFACE_TABLE_HEAD(_class) \
|
||||
NS_INTERFACE_TABLE3(_class, _i1, _i2, _i3) \
|
||||
NS_INTERFACE_TABLE_TAIL
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE4(_class, _i1, _i2, _i3, _i4) \
|
||||
NS_INTERFACE_TABLE_HEAD(_class) \
|
||||
NS_INTERFACE_TABLE4(_class, _i1, _i2, _i3, _i4) \
|
||||
NS_INTERFACE_TABLE_TAIL
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE5(_class, _i1, _i2, _i3, _i4, _i5) \
|
||||
NS_INTERFACE_TABLE_HEAD(_class) \
|
||||
NS_INTERFACE_TABLE5(_class, _i1, _i2, _i3, _i4, _i5) \
|
||||
NS_INTERFACE_TABLE_TAIL
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE6(_class, _i1, _i2, _i3, _i4, _i5, _i6) \
|
||||
NS_INTERFACE_TABLE_HEAD(_class) \
|
||||
NS_INTERFACE_TABLE6(_class, _i1, _i2, _i3, _i4, _i5, _i6) \
|
||||
NS_INTERFACE_TABLE_TAIL
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE7(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7) \
|
||||
NS_INTERFACE_TABLE_HEAD(_class) \
|
||||
NS_INTERFACE_TABLE7(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7) \
|
||||
NS_INTERFACE_TABLE_TAIL
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE8(_class, _i1, _i2, _i3, _i4, _i5, _i6, \
|
||||
_i7, _i8) \
|
||||
NS_INTERFACE_TABLE_HEAD(_class) \
|
||||
NS_INTERFACE_TABLE8(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7, _i8) \
|
||||
NS_INTERFACE_TABLE_TAIL
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE9(_class, _i1, _i2, _i3, _i4, _i5, _i6, \
|
||||
_i7, _i8, _i9) \
|
||||
NS_INTERFACE_TABLE_HEAD(_class) \
|
||||
NS_INTERFACE_TABLE9(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7, _i8, _i9) \
|
||||
NS_INTERFACE_TABLE_TAIL
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE10(_class, _i1, _i2, _i3, _i4, _i5, _i6, \
|
||||
_i7, _i8, _i9, _i10) \
|
||||
NS_INTERFACE_TABLE_HEAD(_class) \
|
||||
NS_INTERFACE_TABLE10(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7, _i8, \
|
||||
_i9, _i10) \
|
||||
NS_INTERFACE_TABLE_TAIL
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE11(_class, _i1, _i2, _i3, _i4, _i5, _i6, \
|
||||
_i7, _i8, _i9, _i10, _i11) \
|
||||
NS_INTERFACE_TABLE_HEAD(_class) \
|
||||
NS_INTERFACE_TABLE11(_class, _i1, _i2, _i3, _i4, _i5, _i6, _i7, _i8, \
|
||||
_i9, _i10, _i11) \
|
||||
NS_INTERFACE_TABLE_TAIL
|
||||
|
||||
|
||||
@ -754,17 +798,6 @@ NS_IMETHODIMP _class::QueryInterface(REFNSIID aIID, void** aInstancePtr) \
|
||||
#define NS_IMPL_THREADSAFE_QUERY_INTERFACE10 NS_IMPL_QUERY_INTERFACE10
|
||||
#define NS_IMPL_THREADSAFE_QUERY_INTERFACE11 NS_IMPL_QUERY_INTERFACE11
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE_INHERITED7(Class,Super,i1,i2,i3,i4,i5,i6,i7) \
|
||||
NS_IMPL_QUERY_HEAD(Class) \
|
||||
NS_IMPL_QUERY_BODY(i1) \
|
||||
NS_IMPL_QUERY_BODY(i2) \
|
||||
NS_IMPL_QUERY_BODY(i3) \
|
||||
NS_IMPL_QUERY_BODY(i4) \
|
||||
NS_IMPL_QUERY_BODY(i5) \
|
||||
NS_IMPL_QUERY_BODY(i6) \
|
||||
NS_IMPL_QUERY_BODY(i7) \
|
||||
NS_IMPL_QUERY_TAIL_INHERITING(Super) \
|
||||
|
||||
/**
|
||||
* Declare that you're going to inherit from something that already
|
||||
* implements nsISupports, but also implements an additional interface, thus
|
||||
@ -808,57 +841,44 @@ NS_IMETHODIMP_(nsrefcnt) Class::Release(void) \
|
||||
return r; \
|
||||
} \
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE_INHERITED0(Class, Super) \
|
||||
NS_INTERFACE_TABLE_HEAD(Class) \
|
||||
NS_INTERFACE_TABLE_TAIL_INHERITING(Super)
|
||||
#define NS_INTERFACE_TABLE_INHERITED0(Class) /* Nothing to do here */
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE_INHERITED1(Class, Super, i1) \
|
||||
NS_INTERFACE_TABLE_HEAD(Class) \
|
||||
#define NS_INTERFACE_TABLE_INHERITED1(Class, i1) \
|
||||
NS_INTERFACE_TABLE_BEGIN \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i1) \
|
||||
NS_INTERFACE_TABLE_END \
|
||||
NS_INTERFACE_TABLE_TAIL_INHERITING(Super)
|
||||
NS_INTERFACE_TABLE_END
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE_INHERITED2(Class, Super, i1, i2) \
|
||||
NS_INTERFACE_TABLE_HEAD(Class) \
|
||||
#define NS_INTERFACE_TABLE_INHERITED2(Class, i1, i2) \
|
||||
NS_INTERFACE_TABLE_BEGIN \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i1) \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i2) \
|
||||
NS_INTERFACE_TABLE_END \
|
||||
NS_INTERFACE_TABLE_TAIL_INHERITING(Super)
|
||||
NS_INTERFACE_TABLE_END
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE_INHERITED3(Class, Super, i1, i2, i3) \
|
||||
NS_INTERFACE_TABLE_HEAD(Class) \
|
||||
#define NS_INTERFACE_TABLE_INHERITED3(Class, i1, i2, i3) \
|
||||
NS_INTERFACE_TABLE_BEGIN \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i1) \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i2) \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i3) \
|
||||
NS_INTERFACE_TABLE_END \
|
||||
NS_INTERFACE_TABLE_TAIL_INHERITING(Super)
|
||||
NS_INTERFACE_TABLE_END
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE_INHERITED4(Class, Super, i1, i2, i3, i4) \
|
||||
NS_INTERFACE_TABLE_HEAD(Class) \
|
||||
#define NS_INTERFACE_TABLE_INHERITED4(Class, i1, i2, i3, i4) \
|
||||
NS_INTERFACE_TABLE_BEGIN \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i1) \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i2) \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i3) \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i4) \
|
||||
NS_INTERFACE_TABLE_END \
|
||||
NS_INTERFACE_TABLE_TAIL_INHERITING(Super)
|
||||
NS_INTERFACE_TABLE_END
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE_INHERITED5(Class,Super,i1,i2,i3,i4,i5) \
|
||||
NS_INTERFACE_TABLE_HEAD(Class) \
|
||||
#define NS_INTERFACE_TABLE_INHERITED5(Class, i1, i2, i3, i4, i5) \
|
||||
NS_INTERFACE_TABLE_BEGIN \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i1) \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i2) \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i3) \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i4) \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i5) \
|
||||
NS_INTERFACE_TABLE_END \
|
||||
NS_INTERFACE_TABLE_TAIL_INHERITING(Super)
|
||||
NS_INTERFACE_TABLE_END
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE_INHERITED6(Class,Super,i1,i2,i3,i4,i5,i6) \
|
||||
NS_INTERFACE_TABLE_HEAD(Class) \
|
||||
#define NS_INTERFACE_TABLE_INHERITED6(Class, i1, i2, i3, i4, i5, i6) \
|
||||
NS_INTERFACE_TABLE_BEGIN \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i1) \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i2) \
|
||||
@ -866,7 +886,95 @@ NS_IMETHODIMP_(nsrefcnt) Class::Release(void) \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i4) \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i5) \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i6) \
|
||||
NS_INTERFACE_TABLE_END \
|
||||
NS_INTERFACE_TABLE_END
|
||||
|
||||
#define NS_INTERFACE_TABLE_INHERITED7(Class, i1, i2, i3, i4, i5, i6, i7) \
|
||||
NS_INTERFACE_TABLE_BEGIN \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i1) \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i2) \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i3) \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i4) \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i5) \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i6) \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i7) \
|
||||
NS_INTERFACE_TABLE_END
|
||||
|
||||
#define NS_INTERFACE_TABLE_INHERITED8(Class, i1, i2, i3, i4, i5, i6, i7, i8) \
|
||||
NS_INTERFACE_TABLE_BEGIN \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i1) \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i2) \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i3) \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i4) \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i5) \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i6) \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i7) \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i8) \
|
||||
NS_INTERFACE_TABLE_END
|
||||
|
||||
#define NS_INTERFACE_TABLE_INHERITED9(Class, i1, i2, i3, i4, i5, i6, i7, \
|
||||
i8, i9) \
|
||||
NS_INTERFACE_TABLE_BEGIN \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i1) \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i2) \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i3) \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i4) \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i5) \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i6) \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i7) \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i8) \
|
||||
NS_INTERFACE_TABLE_ENTRY(Class, i9) \
|
||||
NS_INTERFACE_TABLE_END
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE_INHERITED0(Class, Super) \
|
||||
NS_INTERFACE_TABLE_HEAD(Class) \
|
||||
NS_INTERFACE_TABLE_INHERITED0(Class) \
|
||||
NS_INTERFACE_TABLE_TAIL_INHERITING(Super)
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE_INHERITED1(Class, Super, i1) \
|
||||
NS_INTERFACE_TABLE_HEAD(Class) \
|
||||
NS_INTERFACE_TABLE_INHERITED1(Class, i1) \
|
||||
NS_INTERFACE_TABLE_TAIL_INHERITING(Super)
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE_INHERITED2(Class, Super, i1, i2) \
|
||||
NS_INTERFACE_TABLE_HEAD(Class) \
|
||||
NS_INTERFACE_TABLE_INHERITED2(Class, i1, i2) \
|
||||
NS_INTERFACE_TABLE_TAIL_INHERITING(Super)
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE_INHERITED3(Class, Super, i1, i2, i3) \
|
||||
NS_INTERFACE_TABLE_HEAD(Class) \
|
||||
NS_INTERFACE_TABLE_INHERITED3(Class, i1, i2, i3) \
|
||||
NS_INTERFACE_TABLE_TAIL_INHERITING(Super)
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE_INHERITED4(Class, Super, i1, i2, i3, i4) \
|
||||
NS_INTERFACE_TABLE_HEAD(Class) \
|
||||
NS_INTERFACE_TABLE_INHERITED4(Class, i1, i2, i3, i4) \
|
||||
NS_INTERFACE_TABLE_TAIL_INHERITING(Super)
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE_INHERITED5(Class,Super,i1,i2,i3,i4,i5) \
|
||||
NS_INTERFACE_TABLE_HEAD(Class) \
|
||||
NS_INTERFACE_TABLE_INHERITED5(Class, i1, i2, i3, i4, i5) \
|
||||
NS_INTERFACE_TABLE_TAIL_INHERITING(Super)
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE_INHERITED6(Class,Super,i1,i2,i3,i4,i5,i6) \
|
||||
NS_INTERFACE_TABLE_HEAD(Class) \
|
||||
NS_INTERFACE_TABLE_INHERITED6(Class, i1, i2, i3, i4, i5, i6) \
|
||||
NS_INTERFACE_TABLE_TAIL_INHERITING(Super)
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE_INHERITED7(Class,Super,i1,i2,i3,i4,i5,i6,i7) \
|
||||
NS_INTERFACE_TABLE_HEAD(Class) \
|
||||
NS_INTERFACE_TABLE_INHERITED7(Class, i1, i2, i3, i4, i5, i6, i7) \
|
||||
NS_INTERFACE_TABLE_TAIL_INHERITING(Super)
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE_INHERITED8(Class,Super,i1,i2,i3,i4,i5,i6, \
|
||||
i7,i8) \
|
||||
NS_INTERFACE_TABLE_HEAD(Class) \
|
||||
NS_INTERFACE_TABLE_INHERITED8(Class, i1, i2, i3, i4, i5, i6, i7, i8) \
|
||||
NS_INTERFACE_TABLE_TAIL_INHERITING(Super)
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE_INHERITED9(Class,Super,i1,i2,i3,i4,i5,i6, \
|
||||
i7,i8,i9) \
|
||||
NS_INTERFACE_TABLE_HEAD(Class) \
|
||||
NS_INTERFACE_TABLE_INHERITED9(Class, i1, i2, i3, i4, i5, i6, i7, i8, i9) \
|
||||
NS_INTERFACE_TABLE_TAIL_INHERITING(Super)
|
||||
|
||||
/**
|
||||
@ -982,6 +1090,16 @@ NS_IMETHODIMP_(nsrefcnt) Class::Release(void) \
|
||||
NS_IMPL_ADDREF_INHERITED(Class, Super) \
|
||||
NS_IMPL_RELEASE_INHERITED(Class, Super) \
|
||||
|
||||
/*
|
||||
* Macro to glue together a QI that starts with an interface table
|
||||
* and segues into an interface map (e.g. it uses singleton classinfo
|
||||
* or tearoffs).
|
||||
*/
|
||||
#define NS_INTERFACE_TABLE_TO_MAP_SEGUE \
|
||||
if (rv == NS_OK) return rv; \
|
||||
nsISupports* foundInterface;
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
/**
|
||||
*
|
||||
|
Loading…
x
Reference in New Issue
Block a user