Bug 784828 patch 1: Make nsSVGAttrTearoffTable lookups use nsRefPtr instead of manual NS_ADDREF refcounting, in DOMSVG*List.cpp. r=longsonr

This commit is contained in:
Daniel Holbert 2012-08-22 23:24:41 -07:00
parent 83b0fc7615
commit 650d35d1e1
6 changed files with 12 additions and 18 deletions

View File

@ -58,14 +58,13 @@ DOMSVGAnimatedLengthList::GetDOMWrapper(SVGAnimatedLengthList *aList,
uint8_t aAttrEnum,
uint8_t aAxis)
{
DOMSVGAnimatedLengthList *wrapper =
nsRefPtr<DOMSVGAnimatedLengthList> wrapper =
sSVGAnimatedLengthListTearoffTable.GetTearoff(aList);
if (!wrapper) {
wrapper = new DOMSVGAnimatedLengthList(aElement, aAttrEnum, aAxis);
sSVGAnimatedLengthListTearoffTable.AddTearoff(aList, wrapper);
}
NS_ADDREF(wrapper);
return wrapper;
return wrapper.forget();
}
/* static */ DOMSVGAnimatedLengthList*

View File

@ -57,14 +57,13 @@ DOMSVGAnimatedNumberList::GetDOMWrapper(SVGAnimatedNumberList *aList,
nsSVGElement *aElement,
uint8_t aAttrEnum)
{
DOMSVGAnimatedNumberList *wrapper =
nsRefPtr<DOMSVGAnimatedNumberList> wrapper =
sSVGAnimatedNumberListTearoffTable.GetTearoff(aList);
if (!wrapper) {
wrapper = new DOMSVGAnimatedNumberList(aElement, aAttrEnum);
sSVGAnimatedNumberListTearoffTable.AddTearoff(aList, wrapper);
}
NS_ADDREF(wrapper);
return wrapper;
return wrapper.forget();
}
/* static */ DOMSVGAnimatedNumberList*

View File

@ -58,14 +58,13 @@ DOMSVGAnimatedTransformList::GetAnimVal(nsIDOMSVGTransformList** aAnimVal)
DOMSVGAnimatedTransformList::GetDOMWrapper(SVGAnimatedTransformList *aList,
nsSVGElement *aElement)
{
DOMSVGAnimatedTransformList *wrapper =
nsRefPtr<DOMSVGAnimatedTransformList> wrapper =
sSVGAnimatedTransformListTearoffTable.GetTearoff(aList);
if (!wrapper) {
wrapper = new DOMSVGAnimatedTransformList(aElement);
sSVGAnimatedTransformListTearoffTable.AddTearoff(aList, wrapper);
}
NS_ADDREF(wrapper);
return wrapper;
return wrapper.forget();
}
/* static */ DOMSVGAnimatedTransformList*

View File

@ -55,14 +55,13 @@ DOMSVGPathSegList::GetDOMWrapper(void *aList,
nsSVGElement *aElement,
bool aIsAnimValList)
{
DOMSVGPathSegList *wrapper =
nsRefPtr<DOMSVGPathSegList> wrapper =
sSVGPathSegListTearoffTable.GetTearoff(aList);
if (!wrapper) {
wrapper = new DOMSVGPathSegList(aElement, aIsAnimValList);
sSVGPathSegListTearoffTable.AddTearoff(aList, wrapper);
}
NS_ADDREF(wrapper);
return wrapper;
return wrapper.forget();
}
/* static */ DOMSVGPathSegList*

View File

@ -74,14 +74,13 @@ DOMSVGPointList::GetDOMWrapper(void *aList,
nsSVGElement *aElement,
bool aIsAnimValList)
{
DOMSVGPointList *wrapper =
nsRefPtr<DOMSVGPointList> wrapper =
sSVGPointListTearoffTable.GetTearoff(aList);
if (!wrapper) {
wrapper = new DOMSVGPointList(aElement, aIsAnimValList);
sSVGPointListTearoffTable.AddTearoff(aList, wrapper);
}
NS_ADDREF(wrapper);
return wrapper;
return wrapper.forget();
}
/* static */ DOMSVGPointList*

View File

@ -39,7 +39,7 @@ DOMSVGStringList::GetDOMWrapper(SVGStringList *aList,
bool aIsConditionalProcessingAttribute,
uint8_t aAttrEnum)
{
DOMSVGStringList *wrapper =
nsRefPtr<DOMSVGStringList> wrapper =
sSVGStringListTearoffTable.GetTearoff(aList);
if (!wrapper) {
wrapper = new DOMSVGStringList(aElement,
@ -47,8 +47,7 @@ DOMSVGStringList::GetDOMWrapper(SVGStringList *aList,
aAttrEnum);
sSVGStringListTearoffTable.AddTearoff(aList, wrapper);
}
NS_ADDREF(wrapper);
return wrapper;
return wrapper.forget();
}
DOMSVGStringList::~DOMSVGStringList()