зеркало из https://github.com/mozilla/gecko-dev.git
Bug 795221 part 5. Hook up <svg:style> elements to cycle collect their stylesheet. r=smaug
--HG-- rename : content/html/content/crashtests/795221-1.html => content/html/content/crashtests/795221-4.html
This commit is contained in:
Родитель
ea25893c42
Коммит
b9ca5298cb
|
@ -0,0 +1,9 @@
|
|||
<!DOCTYPE html>
|
||||
<svg>
|
||||
<style>
|
||||
div { }
|
||||
</style>
|
||||
</svg>
|
||||
<script>
|
||||
document.styleSheets[0].cssRules[0].style.foo = document;
|
||||
</script>
|
|
@ -39,3 +39,4 @@ load 741250.xhtml
|
|||
load 795221-1.html
|
||||
load 795221-2.html
|
||||
load 795221-3.html
|
||||
load 795221-4.html
|
||||
|
|
|
@ -30,6 +30,9 @@ public:
|
|||
NS_DECL_ISUPPORTS_INHERITED
|
||||
NS_DECL_NSIDOMSVGSTYLEELEMENT
|
||||
|
||||
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(nsSVGStyleElement,
|
||||
nsSVGStyleElementBase)
|
||||
|
||||
// xxx I wish we could use virtual inheritance
|
||||
NS_FORWARD_NSIDOMNODE(nsSVGStyleElementBase::)
|
||||
NS_FORWARD_NSIDOMELEMENT(nsSVGStyleElementBase::)
|
||||
|
@ -105,7 +108,7 @@ NS_IMPL_RELEASE_INHERITED(nsSVGStyleElement,nsSVGStyleElementBase)
|
|||
|
||||
DOMCI_NODE_DATA(SVGStyleElement, nsSVGStyleElement)
|
||||
|
||||
NS_INTERFACE_TABLE_HEAD(nsSVGStyleElement)
|
||||
NS_INTERFACE_TABLE_HEAD_CYCLE_COLLECTION_INHERITED(nsSVGStyleElement)
|
||||
NS_NODE_INTERFACE_TABLE7(nsSVGStyleElement, nsIDOMNode, nsIDOMElement,
|
||||
nsIDOMSVGElement, nsIDOMSVGStyleElement,
|
||||
nsIDOMLinkStyle, nsIStyleSheetLinkingElement,
|
||||
|
@ -113,6 +116,16 @@ NS_INTERFACE_TABLE_HEAD(nsSVGStyleElement)
|
|||
NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO(SVGStyleElement)
|
||||
NS_INTERFACE_MAP_END_INHERITING(nsSVGStyleElementBase)
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_CLASS(nsSVGStyleElement)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(nsSVGStyleElement,
|
||||
nsSVGStyleElementBase)
|
||||
tmp->nsStyleLinkElement::Traverse(cb);
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED(nsSVGStyleElement,
|
||||
nsSVGStyleElementBase)
|
||||
tmp->nsStyleLinkElement::Unlink();
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_END
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
// Implementation
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче