Bug 1402499 - Simplify HTMLAnchorElement CC macros; r=bz draft
authorKyle Machulis <kyle@nonpolynomial.com>
Fri, 29 Sep 2017 12:04:09 -0700
changeset 672834 83e86c37a25899024990c7514e2fc045948666b6
parent 672833 75fa5ab60020c36086a0bb71af2bb2c5b2395367
child 672862 36d417be44d11678213b90f11af31835e1bfd982
child 675241 2421aacaa9f65f1766b61f63f8f17ef041e0446e
push id82382
push userbmo:kyle@nonpolynomial.com
push dateFri, 29 Sep 2017 19:59:29 +0000
reviewersbz
bugs1402499
milestone58.0a1
Bug 1402499 - Simplify HTMLAnchorElement CC macros; r=bz The HTMLAnchorElement macros were basically a verbose version of the CYCLE_COLLECTION_INHERITED helper macros. MozReview-Commit-ID: 1bxuKdWUMlG
dom/html/HTMLAnchorElement.cpp
--- a/dom/html/HTMLAnchorElement.cpp
+++ b/dom/html/HTMLAnchorElement.cpp
@@ -53,35 +53,23 @@ HTMLAnchorElement::~HTMLAnchorElement()
 
 bool
 HTMLAnchorElement::IsInteractiveHTMLContent(bool aIgnoreTabindex) const
 {
   return HasAttr(kNameSpaceID_None, nsGkAtoms::href) ||
          nsGenericHTMLElement::IsInteractiveHTMLContent(aIgnoreTabindex);
 }
 
-NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(HTMLAnchorElement)
-  NS_INTERFACE_TABLE_INHERITED(HTMLAnchorElement,
-                               Link)
-NS_INTERFACE_TABLE_TAIL_INHERITING(nsGenericHTMLElement)
-
-NS_IMPL_ADDREF_INHERITED(HTMLAnchorElement, Element)
-NS_IMPL_RELEASE_INHERITED(HTMLAnchorElement, Element)
-
-NS_IMPL_CYCLE_COLLECTION_CLASS(HTMLAnchorElement)
+NS_IMPL_ISUPPORTS_CYCLE_COLLECTION_INHERITED(HTMLAnchorElement,
+                                             nsGenericHTMLElement,
+                                             Link)
 
-NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(HTMLAnchorElement,
-                                                  nsGenericHTMLElement)
-  NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mRelList)
-NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
-
-NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED(HTMLAnchorElement,
-                                                nsGenericHTMLElement)
-  NS_IMPL_CYCLE_COLLECTION_UNLINK(mRelList)
-NS_IMPL_CYCLE_COLLECTION_UNLINK_END
+NS_IMPL_CYCLE_COLLECTION_INHERITED(HTMLAnchorElement,
+                                   nsGenericHTMLElement,
+                                   mRelList)
 
 NS_IMPL_ELEMENT_CLONE(HTMLAnchorElement)
 
 JSObject*
 HTMLAnchorElement::WrapNode(JSContext *aCx, JS::Handle<JSObject*> aGivenProto)
 {
   return HTMLAnchorElementBinding::Wrap(aCx, this, aGivenProto);
 }