Bug 613027: Make nsHTMLFieldSetElement participate in cycle collection properly. r=peterv a=blocking-final

This commit is contained in:
Kyle Huey 2010-11-24 01:09:48 +01:00
parent c50fa61cd3
commit e284b18b93
4 changed files with 26 additions and 3 deletions

View File

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html>
<head>
<script>
function boom()
{
var a = document.createElementNS("http://www.w3.org/1999/xhtml", "fieldset");
var b = document.createElementNS("http://www.w3.org/1999/xhtml", "legend");
var c = document.createElementNS("http://www.w3.org/1999/xhtml", "input");
a.appendChild(b);
a.appendChild(c);
a.removeChild(b);
c.expandoQ = a;
}
</script>
</head>
<body onload="boom();"></body>
</html>

View File

@ -22,3 +22,4 @@ load 596785-1.html
load 596785-2.html
load 606430-1.html
load 602117.html
load 613027.html

View File

@ -66,7 +66,8 @@ nsHTMLFieldSetElement::~nsHTMLFieldSetElement()
// nsISupports
NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(nsHTMLFieldSetElement)
NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED(nsHTMLFieldSetElement,
nsGenericHTMLFormElement)
NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mElements)
NS_IMPL_CYCLE_COLLECTION_UNLINK_END
@ -82,7 +83,7 @@ NS_IMPL_RELEASE_INHERITED(nsHTMLFieldSetElement, nsGenericElement)
DOMCI_NODE_DATA(HTMLFieldSetElement, nsHTMLFieldSetElement)
// QueryInterface implementation for nsHTMLFieldSetElement
NS_INTERFACE_TABLE_HEAD(nsHTMLFieldSetElement)
NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(nsHTMLFieldSetElement)
NS_HTML_CONTENT_INTERFACE_TABLE2(nsHTMLFieldSetElement,
nsIDOMHTMLFieldSetElement,
nsIConstraintValidation)

View File

@ -55,7 +55,7 @@ public:
virtual ~nsHTMLFieldSetElement();
// nsISupports
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
NS_DECL_ISUPPORTS_INHERITED
// nsIDOMNode
NS_FORWARD_NSIDOMNODE(nsGenericHTMLFormElement::)