Bug 1390660, part 2 - Define and use a new macro for CC isupports. r=peterv
The main purpose of defining this is to make conversion of places that use the non-CC variant easier. There are many more places that could be converted to use these new macros, if somebody felt motivated. MozReview-Commit-ID: HspjcN76fjg
This commit is contained in:
@@ -710,12 +710,9 @@ XULTreeItemAccessibleBase::~XULTreeItemAccessibleBase()
|
||||
NS_IMPL_CYCLE_COLLECTION_INHERITED(XULTreeItemAccessibleBase, Accessible,
|
||||
mTree)
|
||||
|
||||
NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(XULTreeItemAccessibleBase)
|
||||
NS_INTERFACE_TABLE_INHERITED(XULTreeItemAccessibleBase,
|
||||
XULTreeItemAccessibleBase)
|
||||
NS_INTERFACE_TABLE_TAIL_INHERITING(Accessible)
|
||||
NS_IMPL_ADDREF_INHERITED(XULTreeItemAccessibleBase, Accessible)
|
||||
NS_IMPL_RELEASE_INHERITED(XULTreeItemAccessibleBase, Accessible)
|
||||
NS_IMPL_ISUPPORTS_CYCLE_COLLECTION_INHERITED(XULTreeItemAccessibleBase,
|
||||
Accessible,
|
||||
XULTreeItemAccessibleBase)
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// XULTreeItemAccessibleBase: Accessible
|
||||
|
||||
@@ -58,14 +58,10 @@ HTMLAnchorElement::IsInteractiveHTMLContent(bool aIgnoreTabindex) const
|
||||
nsGenericHTMLElement::IsInteractiveHTMLContent(aIgnoreTabindex);
|
||||
}
|
||||
|
||||
NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(HTMLAnchorElement)
|
||||
NS_INTERFACE_TABLE_INHERITED(HTMLAnchorElement,
|
||||
nsIDOMHTMLAnchorElement,
|
||||
Link)
|
||||
NS_INTERFACE_TABLE_TAIL_INHERITING(nsGenericHTMLElement)
|
||||
|
||||
NS_IMPL_ADDREF_INHERITED(HTMLAnchorElement, Element)
|
||||
NS_IMPL_RELEASE_INHERITED(HTMLAnchorElement, Element)
|
||||
NS_IMPL_ISUPPORTS_CYCLE_COLLECTION_INHERITED(HTMLAnchorElement,
|
||||
nsGenericHTMLElement,
|
||||
nsIDOMHTMLAnchorElement,
|
||||
Link)
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_CLASS(HTMLAnchorElement)
|
||||
|
||||
|
||||
@@ -28,26 +28,14 @@ HTMLAreaElement::~HTMLAreaElement()
|
||||
{
|
||||
}
|
||||
|
||||
NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(HTMLAreaElement)
|
||||
NS_INTERFACE_TABLE_INHERITED(HTMLAreaElement,
|
||||
nsIDOMHTMLAreaElement,
|
||||
Link)
|
||||
NS_INTERFACE_TABLE_TAIL_INHERITING(nsGenericHTMLElement)
|
||||
NS_IMPL_ISUPPORTS_CYCLE_COLLECTION_INHERITED(HTMLAreaElement,
|
||||
nsGenericHTMLElement,
|
||||
nsIDOMHTMLAreaElement,
|
||||
Link)
|
||||
|
||||
NS_IMPL_ADDREF_INHERITED(HTMLAreaElement, Element)
|
||||
NS_IMPL_RELEASE_INHERITED(HTMLAreaElement, Element)
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_CLASS(HTMLAreaElement)
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(HTMLAreaElement,
|
||||
nsGenericHTMLElement)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mRelList)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED(HTMLAreaElement,
|
||||
nsGenericHTMLElement)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK(mRelList)
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_END
|
||||
NS_IMPL_CYCLE_COLLECTION_INHERITED(HTMLAreaElement,
|
||||
nsGenericHTMLElement,
|
||||
mRelList)
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE(HTMLAreaElement)
|
||||
|
||||
|
||||
@@ -76,16 +76,10 @@ NS_IMPL_CYCLE_COLLECTION_INHERITED(HTMLButtonElement,
|
||||
nsGenericHTMLFormElementWithState,
|
||||
mValidity)
|
||||
|
||||
NS_IMPL_ADDREF_INHERITED(HTMLButtonElement, Element)
|
||||
NS_IMPL_RELEASE_INHERITED(HTMLButtonElement, Element)
|
||||
|
||||
|
||||
// QueryInterface implementation for HTMLButtonElement
|
||||
NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(HTMLButtonElement)
|
||||
NS_INTERFACE_TABLE_INHERITED(HTMLButtonElement,
|
||||
nsIDOMHTMLButtonElement,
|
||||
nsIConstraintValidation)
|
||||
NS_INTERFACE_TABLE_TAIL_INHERITING(nsGenericHTMLFormElementWithState)
|
||||
NS_IMPL_ISUPPORTS_CYCLE_COLLECTION_INHERITED(HTMLButtonElement,
|
||||
nsGenericHTMLFormElementWithState,
|
||||
nsIDOMHTMLButtonElement,
|
||||
nsIConstraintValidation)
|
||||
|
||||
void
|
||||
HTMLButtonElement::SetCustomValidity(const nsAString& aError)
|
||||
|
||||
@@ -404,12 +404,9 @@ NS_IMPL_CYCLE_COLLECTION_INHERITED(HTMLCanvasElement, nsGenericHTMLElement,
|
||||
mPrintState, mOriginalCanvas,
|
||||
mOffscreenCanvas)
|
||||
|
||||
NS_IMPL_ADDREF_INHERITED(HTMLCanvasElement, Element)
|
||||
NS_IMPL_RELEASE_INHERITED(HTMLCanvasElement, Element)
|
||||
|
||||
NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(HTMLCanvasElement)
|
||||
NS_INTERFACE_TABLE_INHERITED(HTMLCanvasElement, nsIDOMHTMLCanvasElement)
|
||||
NS_INTERFACE_TABLE_TAIL_INHERITING(nsGenericHTMLElement)
|
||||
NS_IMPL_ISUPPORTS_CYCLE_COLLECTION_INHERITED(HTMLCanvasElement,
|
||||
nsGenericHTMLElement,
|
||||
nsIDOMHTMLCanvasElement)
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE(HTMLCanvasElement)
|
||||
|
||||
|
||||
@@ -55,20 +55,16 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(HTMLEmbedElement,
|
||||
nsObjectLoadingContent::Traverse(tmp, cb);
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
|
||||
|
||||
NS_IMPL_ADDREF_INHERITED(HTMLEmbedElement, Element)
|
||||
NS_IMPL_RELEASE_INHERITED(HTMLEmbedElement, Element)
|
||||
|
||||
NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(HTMLEmbedElement)
|
||||
NS_INTERFACE_TABLE_INHERITED(HTMLEmbedElement,
|
||||
nsIRequestObserver,
|
||||
nsIStreamListener,
|
||||
nsIFrameLoaderOwner,
|
||||
nsIObjectLoadingContent,
|
||||
imgINotificationObserver,
|
||||
nsIImageLoadingContent,
|
||||
imgIOnloadBlocker,
|
||||
nsIChannelEventSink)
|
||||
NS_INTERFACE_TABLE_TAIL_INHERITING(nsGenericHTMLElement)
|
||||
NS_IMPL_ISUPPORTS_CYCLE_COLLECTION_INHERITED(HTMLEmbedElement,
|
||||
nsGenericHTMLElement,
|
||||
nsIRequestObserver,
|
||||
nsIStreamListener,
|
||||
nsIFrameLoaderOwner,
|
||||
nsIObjectLoadingContent,
|
||||
imgINotificationObserver,
|
||||
nsIImageLoadingContent,
|
||||
imgIOnloadBlocker,
|
||||
nsIChannelEventSink)
|
||||
|
||||
NS_IMPL_ELEMENT_CLONE(HTMLEmbedElement)
|
||||
|
||||
|
||||
@@ -954,6 +954,22 @@ static NS_CYCLE_COLLECTION_INNERCLASS NS_CYCLE_COLLECTION_INNERNAME;
|
||||
|
||||
#define NS_CYCLE_COLLECTION_NOTE_EDGE_NAME CycleCollectionNoteEdgeName
|
||||
|
||||
|
||||
/**
|
||||
* Convenience macros for defining nISupports methods in a cycle collected class.
|
||||
*/
|
||||
|
||||
#define NS_IMPL_QUERY_INTERFACE_CYCLE_COLLECTION_INHERITED(aClass, aSuper, ...) \
|
||||
NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(aClass) \
|
||||
NS_INTERFACE_TABLE_INHERITED(aClass, __VA_ARGS__) \
|
||||
NS_INTERFACE_TABLE_TAIL_INHERITING(aSuper)
|
||||
|
||||
#define NS_IMPL_ISUPPORTS_CYCLE_COLLECTION_INHERITED(aClass, aSuper, ...) \
|
||||
NS_IMPL_QUERY_INTERFACE_CYCLE_COLLECTION_INHERITED(aClass, aSuper, __VA_ARGS__) \
|
||||
NS_IMPL_ADDREF_INHERITED(aClass, aSuper) \
|
||||
NS_IMPL_RELEASE_INHERITED(aClass, aSuper)
|
||||
|
||||
|
||||
/**
|
||||
* Equivalency of the high three words where two IIDs have the same
|
||||
* top three words but not the same low word.
|
||||
|
||||
Reference in New Issue
Block a user