Backout 790be8926d50 to fix commit message

--HG--
extra : rebase_source : 930b7802b35784ef5d70ed359d5d9932013ad62d
This commit is contained in:
Peter Van der Beken 2012-03-12 21:13:23 +01:00
parent f486e3b94a
commit fbde930e20
17 changed files with 39 additions and 187 deletions

View File

@ -40,8 +40,6 @@
#include "nsDOMError.h"
#include "SVGAnimatedLengthList.h"
#include "nsCOMPtr.h"
#include "nsContentUtils.h"
#include "dombindings.h"
// See the comment in this file's header.
@ -74,16 +72,11 @@ NS_IMPL_CYCLE_COLLECTION_CLASS(DOMSVGLengthList)
NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(DOMSVGLengthList)
// No need to null check tmp - script/SMIL can't detach us from mAList
( tmp->IsAnimValList() ? tmp->mAList->mAnimVal : tmp->mAList->mBaseVal ) = nsnull;
NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mAList)
NS_IMPL_CYCLE_COLLECTION_UNLINK_PRESERVED_WRAPPER
NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mAList)
NS_IMPL_CYCLE_COLLECTION_UNLINK_END
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(DOMSVGLengthList)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mAList)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_SCRIPT_OBJECTS
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mAList)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
NS_IMPL_CYCLE_COLLECTION_TRACE_BEGIN(DOMSVGLengthList)
NS_IMPL_CYCLE_COLLECTION_TRACE_PRESERVED_WRAPPER
NS_IMPL_CYCLE_COLLECTION_TRACE_END
NS_IMPL_CYCLE_COLLECTING_ADDREF(DOMSVGLengthList)
NS_IMPL_CYCLE_COLLECTING_RELEASE(DOMSVGLengthList)
@ -93,22 +86,14 @@ DOMCI_DATA(SVGLengthList, mozilla::DOMSVGLengthList)
namespace mozilla {
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(DOMSVGLengthList)
NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY
NS_INTERFACE_MAP_ENTRY(nsIDOMSVGLengthList)
NS_INTERFACE_MAP_ENTRY(nsISupports)
NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO(SVGLengthList)
NS_INTERFACE_MAP_END
JSObject*
DOMSVGLengthList::WrapObject(JSContext *cx, XPCWrappedNativeScope *scope,
bool *triedToWrap)
{
return mozilla::dom::binding::SVGLengthList::create(cx, scope, this,
triedToWrap);
}
nsIDOMSVGLength*
DOMSVGLengthList::GetItemAt(PRUint32 aIndex)
DOMSVGLengthList::GetItemWithoutAddRef(PRUint32 aIndex)
{
if (IsAnimValList()) {
Element()->FlushAnimations();
@ -235,7 +220,7 @@ NS_IMETHODIMP
DOMSVGLengthList::GetItem(PRUint32 index,
nsIDOMSVGLength **_retval)
{
*_retval = GetItemAt(index);
*_retval = GetItemWithoutAddRef(index);
if (!*_retval) {
return NS_ERROR_DOM_INDEX_SIZE_ERR;
}

View File

@ -69,22 +69,19 @@ class DOMSVGLength;
*
* Our DOM items are created lazily on demand as and when script requests them.
*/
class DOMSVGLengthList : public nsIDOMSVGLengthList,
public nsWrapperCache
class DOMSVGLengthList : public nsIDOMSVGLengthList
{
friend class DOMSVGLength;
public:
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(DOMSVGLengthList)
NS_DECL_CYCLE_COLLECTION_CLASS(DOMSVGLengthList)
NS_DECL_NSIDOMSVGLENGTHLIST
DOMSVGLengthList(DOMSVGAnimatedLengthList *aAList,
const SVGLengthList &aInternalList)
: mAList(aAList)
{
SetIsProxy();
// aInternalList must be passed in explicitly because we can't use
// InternalList() here. (Because it depends on IsAnimValList, which depends
// on this object having been assigned to aAList's mBaseVal or mAnimVal,
@ -102,14 +99,6 @@ public:
}
};
virtual JSObject* WrapObject(JSContext *cx, XPCWrappedNativeScope *scope,
bool *triedToWrap);
nsISupports* GetParentObject()
{
return static_cast<nsIContent*>(Element());
}
/**
* This will normally be the same as InternalList().Length(), except if we've
* hit OOM in which case our length will be zero.
@ -121,6 +110,8 @@ public:
return mItems.Length();
}
nsIDOMSVGLength* GetItemWithoutAddRef(PRUint32 aIndex);
/// Called to notify us to syncronize our length and detach excess items.
void InternalListLengthWillChange(PRUint32 aNewLength);

View File

@ -40,8 +40,6 @@
#include "nsDOMError.h"
#include "SVGAnimatedNumberList.h"
#include "nsCOMPtr.h"
#include "nsContentUtils.h"
#include "dombindings.h"
// See the comment in this file's header.
@ -74,16 +72,11 @@ NS_IMPL_CYCLE_COLLECTION_CLASS(DOMSVGNumberList)
NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(DOMSVGNumberList)
// No need to null check tmp - script/SMIL can't detach us from mAList
( tmp->IsAnimValList() ? tmp->mAList->mAnimVal : tmp->mAList->mBaseVal ) = nsnull;
NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mAList)
NS_IMPL_CYCLE_COLLECTION_UNLINK_PRESERVED_WRAPPER
NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mAList)
NS_IMPL_CYCLE_COLLECTION_UNLINK_END
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(DOMSVGNumberList)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mAList)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_SCRIPT_OBJECTS
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mAList)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
NS_IMPL_CYCLE_COLLECTION_TRACE_BEGIN(DOMSVGNumberList)
NS_IMPL_CYCLE_COLLECTION_TRACE_PRESERVED_WRAPPER
NS_IMPL_CYCLE_COLLECTION_TRACE_END
NS_IMPL_CYCLE_COLLECTING_ADDREF(DOMSVGNumberList)
NS_IMPL_CYCLE_COLLECTING_RELEASE(DOMSVGNumberList)
@ -93,23 +86,14 @@ DOMCI_DATA(SVGNumberList, mozilla::DOMSVGNumberList)
namespace mozilla {
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(DOMSVGNumberList)
NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY
NS_INTERFACE_MAP_ENTRY(nsIDOMSVGNumberList)
NS_INTERFACE_MAP_ENTRY(nsISupports)
NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO(SVGNumberList)
NS_INTERFACE_MAP_END
JSObject*
DOMSVGNumberList::WrapObject(JSContext *cx, XPCWrappedNativeScope *scope,
bool *triedToWrap)
{
return mozilla::dom::binding::SVGNumberList::create(cx, scope, this,
triedToWrap);
}
nsIDOMSVGNumber*
DOMSVGNumberList::GetItemAt(PRUint32 aIndex)
DOMSVGNumberList::GetItemWithoutAddRef(PRUint32 aIndex)
{
if (IsAnimValList()) {
Element()->FlushAnimations();
@ -236,7 +220,7 @@ NS_IMETHODIMP
DOMSVGNumberList::GetItem(PRUint32 index,
nsIDOMSVGNumber **_retval)
{
*_retval = GetItemAt(index);
*_retval = GetItemWithoutAddRef(index);
if (!*_retval) {
return NS_ERROR_DOM_INDEX_SIZE_ERR;
}

View File

@ -68,22 +68,19 @@ class DOMSVGNumber;
*
* Our DOM items are created lazily on demand as and when script requests them.
*/
class DOMSVGNumberList : public nsIDOMSVGNumberList,
public nsWrapperCache
class DOMSVGNumberList : public nsIDOMSVGNumberList
{
friend class DOMSVGNumber;
public:
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(DOMSVGNumberList)
NS_DECL_CYCLE_COLLECTION_CLASS(DOMSVGNumberList)
NS_DECL_NSIDOMSVGNUMBERLIST
DOMSVGNumberList(DOMSVGAnimatedNumberList *aAList,
const SVGNumberList &aInternalList)
: mAList(aAList)
{
SetIsProxy();
// aInternalList must be passed in explicitly because we can't use
// InternalList() here. (Because it depends on IsAnimValList, which depends
// on this object having been assigned to aAList's mBaseVal or mAnimVal,
@ -101,14 +98,6 @@ public:
}
}
virtual JSObject* WrapObject(JSContext *cx, XPCWrappedNativeScope *scope,
bool *triedToWrap);
nsISupports* GetParentObject()
{
return static_cast<nsIContent*>(Element());
}
/**
* This will normally be the same as InternalList().Length(), except if we've
* hit OOM in which case our length will be zero.
@ -120,6 +109,8 @@ public:
return mItems.Length();
}
nsIDOMSVGNumber* GetItemWithoutAddRef(PRUint32 aIndex);
/// Called to notify us to syncronize our length and detach excess items.
void InternalListLengthWillChange(PRUint32 aNewLength);

View File

@ -42,8 +42,6 @@
#include "nsCOMPtr.h"
#include "nsSVGAttrTearoffTable.h"
#include "SVGPathSegUtils.h"
#include "dombindings.h"
#include "nsContentUtils.h"
// See the comment in this file's header.
@ -52,19 +50,7 @@ namespace mozilla {
static nsSVGAttrTearoffTable<void, DOMSVGPathSegList>
sSVGPathSegListTearoffTable;
NS_IMPL_CYCLE_COLLECTION_CLASS(DOMSVGPathSegList)
NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(DOMSVGPathSegList)
// No unlinking of mElement, we'd need to null out the value pointer (the
// object it points to is held by the element) and null-check it everywhere.
NS_IMPL_CYCLE_COLLECTION_UNLINK_PRESERVED_WRAPPER
NS_IMPL_CYCLE_COLLECTION_UNLINK_END
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(DOMSVGPathSegList)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR_AMBIGUOUS(mElement, nsIContent)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_SCRIPT_OBJECTS
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
NS_IMPL_CYCLE_COLLECTION_TRACE_BEGIN(DOMSVGPathSegList)
NS_IMPL_CYCLE_COLLECTION_TRACE_PRESERVED_WRAPPER
NS_IMPL_CYCLE_COLLECTION_TRACE_END
NS_SVG_VAL_IMPL_CYCLE_COLLECTION(DOMSVGPathSegList, mElement)
NS_IMPL_CYCLE_COLLECTING_ADDREF(DOMSVGPathSegList)
NS_IMPL_CYCLE_COLLECTING_RELEASE(DOMSVGPathSegList)
@ -74,7 +60,6 @@ DOMCI_DATA(SVGPathSegList, mozilla::DOMSVGPathSegList)
namespace mozilla {
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(DOMSVGPathSegList)
NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY
NS_INTERFACE_MAP_ENTRY(nsIDOMSVGPathSegList)
NS_INTERFACE_MAP_ENTRY(nsISupports)
NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO(SVGPathSegList)
@ -112,16 +97,8 @@ DOMSVGPathSegList::~DOMSVGPathSegList()
sSVGPathSegListTearoffTable.RemoveTearoff(key);
}
JSObject*
DOMSVGPathSegList::WrapObject(JSContext *cx, XPCWrappedNativeScope *scope,
bool *triedToWrap)
{
return mozilla::dom::binding::SVGPathSegList::create(cx, scope, this,
triedToWrap);
}
nsIDOMSVGPathSeg*
DOMSVGPathSegList::GetItemAt(PRUint32 aIndex)
DOMSVGPathSegList::GetItemWithoutAddRef(PRUint32 aIndex)
{
if (IsAnimValList()) {
Element()->FlushAnimations();
@ -350,7 +327,7 @@ NS_IMETHODIMP
DOMSVGPathSegList::GetItem(PRUint32 aIndex,
nsIDOMSVGPathSeg **_retval)
{
*_retval = GetItemAt(aIndex);
*_retval = GetItemWithoutAddRef(aIndex);
if (!*_retval) {
return NS_ERROR_DOM_INDEX_SIZE_ERR;
}

View File

@ -78,24 +78,15 @@ class SVGAnimatedPathSegList;
*
* Our DOM items are created lazily on demand as and when script requests them.
*/
class DOMSVGPathSegList : public nsIDOMSVGPathSegList,
public nsWrapperCache
class DOMSVGPathSegList : public nsIDOMSVGPathSegList
{
friend class DOMSVGPathSeg;
public:
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(DOMSVGPathSegList)
NS_DECL_CYCLE_COLLECTION_CLASS(DOMSVGPathSegList)
NS_DECL_NSIDOMSVGPATHSEGLIST
virtual JSObject* WrapObject(JSContext *cx, XPCWrappedNativeScope *scope,
bool *triedToWrap);
nsISupports* GetParentObject()
{
return static_cast<nsIContent*>(mElement);
}
/**
* Factory method to create and return a DOMSVGPathSegList wrapper
* for a given internal SVGPathData object. The factory takes care
@ -137,6 +128,8 @@ public:
return mItems.Length();
}
nsIDOMSVGPathSeg* GetItemWithoutAddRef(PRUint32 aIndex);
/**
* WATCH OUT! If you add code to call this on a baseVal wrapper, then you
* must also call it on the animVal wrapper too if necessary!! See other
@ -171,8 +164,6 @@ private:
: mElement(aElement)
, mIsAnimValList(aIsAnimValList)
{
SetIsProxy();
InternalListWillChangeTo(InternalList()); // Sync mItems
}

View File

@ -41,8 +41,6 @@
#include "SVGAnimatedPointList.h"
#include "nsCOMPtr.h"
#include "nsSVGAttrTearoffTable.h"
#include "nsContentUtils.h"
#include "dombindings.h"
// See the comment in this file's header.
@ -71,19 +69,7 @@ namespace mozilla {
static nsSVGAttrTearoffTable<void, DOMSVGPointList>
sSVGPointListTearoffTable;
NS_IMPL_CYCLE_COLLECTION_CLASS(DOMSVGPointList)
NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(DOMSVGPointList)
// No unlinking of mElement, we'd need to null out the value pointer (the
// object it points to is held by the element) and null-check it everywhere.
NS_IMPL_CYCLE_COLLECTION_UNLINK_PRESERVED_WRAPPER
NS_IMPL_CYCLE_COLLECTION_UNLINK_END
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(DOMSVGPointList)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR_AMBIGUOUS(mElement, nsIContent)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_SCRIPT_OBJECTS
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
NS_IMPL_CYCLE_COLLECTION_TRACE_BEGIN(DOMSVGPointList)
NS_IMPL_CYCLE_COLLECTION_TRACE_PRESERVED_WRAPPER
NS_IMPL_CYCLE_COLLECTION_TRACE_END
NS_SVG_VAL_IMPL_CYCLE_COLLECTION(DOMSVGPointList, mElement)
NS_IMPL_CYCLE_COLLECTING_ADDREF(DOMSVGPointList)
NS_IMPL_CYCLE_COLLECTING_RELEASE(DOMSVGPointList)
@ -93,7 +79,6 @@ DOMCI_DATA(SVGPointList, mozilla::DOMSVGPointList)
namespace mozilla {
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(DOMSVGPointList)
NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY
NS_INTERFACE_MAP_ENTRY(nsIDOMSVGPointList)
NS_INTERFACE_MAP_ENTRY(nsISupports)
NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO(SVGPointList)
@ -131,16 +116,8 @@ DOMSVGPointList::~DOMSVGPointList()
sSVGPointListTearoffTable.RemoveTearoff(key);
}
JSObject*
DOMSVGPointList::WrapObject(JSContext *cx, XPCWrappedNativeScope *scope,
bool *triedToWrap)
{
return mozilla::dom::binding::SVGPointList::create(cx, scope, this,
triedToWrap);
}
nsIDOMSVGPoint*
DOMSVGPointList::GetItemAt(PRUint32 aIndex)
DOMSVGPointList::GetItemWithoutAddRef(PRUint32 aIndex)
{
if (IsAnimValList()) {
Element()->FlushAnimations();
@ -294,7 +271,7 @@ NS_IMETHODIMP
DOMSVGPointList::GetItem(PRUint32 aIndex,
nsIDOMSVGPoint **_retval)
{
*_retval = GetItemAt(aIndex);
*_retval = GetItemWithoutAddRef(aIndex);
if (!*_retval) {
return NS_ERROR_DOM_INDEX_SIZE_ERR;
}

View File

@ -78,24 +78,15 @@ class SVGAnimatedPointList;
*
* Our DOM items are created lazily on demand as and when script requests them.
*/
class DOMSVGPointList : public nsIDOMSVGPointList,
public nsWrapperCache
class DOMSVGPointList : public nsIDOMSVGPointList
{
friend class DOMSVGPoint;
public:
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(DOMSVGPointList)
NS_DECL_CYCLE_COLLECTION_CLASS(DOMSVGPointList)
NS_DECL_NSIDOMSVGPOINTLIST
virtual JSObject* WrapObject(JSContext *cx, XPCWrappedNativeScope *scope,
bool *triedToWrap);
nsISupports* GetParentObject()
{
return static_cast<nsIContent*>(mElement);
}
/**
* Factory method to create and return a DOMSVGPointList wrapper
* for a given internal SVGPointList object. The factory takes care
@ -137,6 +128,8 @@ public:
return mItems.Length();
}
nsIDOMSVGPoint* GetItemWithoutAddRef(PRUint32 aIndex);
/**
* WATCH OUT! If you add code to call this on a baseVal wrapper, then you
* must also call it on the animVal wrapper too if necessary!! See other
@ -171,8 +164,6 @@ private:
: mElement(aElement)
, mIsAnimValList(aIsAnimValList)
{
SetIsProxy();
InternalListWillChangeTo(InternalList()); // Sync mItems
}

View File

@ -42,8 +42,6 @@
#include "DOMSVGMatrix.h"
#include "SVGAnimatedTransformList.h"
#include "nsSVGElement.h"
#include "nsContentUtils.h"
#include "dombindings.h"
// local helper functions
namespace {
@ -74,16 +72,11 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(DOMSVGTransformList)
// No need to null check tmp - script/SMIL can't detach us from mAList
( tmp->IsAnimValList() ? tmp->mAList->mAnimVal : tmp->mAList->mBaseVal ) =
nsnull;
NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mAList)
NS_IMPL_CYCLE_COLLECTION_UNLINK_PRESERVED_WRAPPER
NS_IMPL_CYCLE_COLLECTION_UNLINK_NSCOMPTR(mAList)
NS_IMPL_CYCLE_COLLECTION_UNLINK_END
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(DOMSVGTransformList)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mAList)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_SCRIPT_OBJECTS
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR(mAList)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
NS_IMPL_CYCLE_COLLECTION_TRACE_BEGIN(DOMSVGTransformList)
NS_IMPL_CYCLE_COLLECTION_TRACE_PRESERVED_WRAPPER
NS_IMPL_CYCLE_COLLECTION_TRACE_END
NS_IMPL_CYCLE_COLLECTING_ADDREF(DOMSVGTransformList)
NS_IMPL_CYCLE_COLLECTING_RELEASE(DOMSVGTransformList)
@ -93,7 +86,6 @@ DOMCI_DATA(SVGTransformList, mozilla::DOMSVGTransformList)
namespace mozilla {
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(DOMSVGTransformList)
NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY
NS_INTERFACE_MAP_ENTRY(nsIDOMSVGTransformList)
NS_INTERFACE_MAP_ENTRY(nsISupports)
NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO(SVGTransformList)
@ -102,16 +94,8 @@ NS_INTERFACE_MAP_END
//----------------------------------------------------------------------
// DOMSVGTransformList methods:
JSObject*
DOMSVGTransformList::WrapObject(JSContext *cx, XPCWrappedNativeScope *scope,
bool *triedToWrap)
{
return mozilla::dom::binding::SVGTransformList::create(cx, scope, this,
triedToWrap);
}
nsIDOMSVGTransform*
DOMSVGTransformList::GetItemAt(PRUint32 aIndex)
DOMSVGTransformList::GetItemWithoutAddRef(PRUint32 aIndex)
{
if (IsAnimValList()) {
Element()->FlushAnimations();
@ -250,7 +234,7 @@ DOMSVGTransformList::Initialize(nsIDOMSVGTransform *newItem,
NS_IMETHODIMP
DOMSVGTransformList::GetItem(PRUint32 index, nsIDOMSVGTransform **_retval)
{
*_retval = GetItemAt(index);
*_retval = GetItemWithoutAddRef(index);
if (!*_retval) {
return NS_ERROR_DOM_INDEX_SIZE_ERR;
}

View File

@ -64,22 +64,19 @@ class DOMSVGTransform;
*
* See the architecture comment in DOMSVGAnimatedTransformList.h.
*/
class DOMSVGTransformList : public nsIDOMSVGTransformList,
public nsWrapperCache
class DOMSVGTransformList : public nsIDOMSVGTransformList
{
friend class DOMSVGTransform;
public:
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(DOMSVGTransformList)
NS_DECL_CYCLE_COLLECTION_CLASS(DOMSVGTransformList)
NS_DECL_NSIDOMSVGTRANSFORMLIST
DOMSVGTransformList(DOMSVGAnimatedTransformList *aAList,
const SVGTransformList &aInternalList)
: mAList(aAList)
{
SetIsProxy();
// aInternalList must be passed in explicitly because we can't use
// InternalList() here. (Because it depends on IsAnimValList, which depends
// on this object having been assigned to aAList's mBaseVal or mAnimVal,
@ -97,14 +94,6 @@ public:
}
}
virtual JSObject* WrapObject(JSContext *cx, XPCWrappedNativeScope *scope,
bool *triedToWrap);
nsISupports* GetParentObject()
{
return static_cast<nsIContent*>(Element());
}
/**
* This will normally be the same as InternalList().Length(), except if we've
* hit OOM in which case our length will be zero.
@ -116,6 +105,8 @@ public:
return mItems.Length();
}
nsIDOMSVGTransform* GetItemWithoutAddRef(PRUint32 aIndex);
/// Called to notify us to synchronize our length and detach excess items.
void InternalListLengthWillChange(PRUint32 aNewLength);

View File

@ -10640,7 +10640,7 @@ nsSVGListSH<ListInterfaceType, ListType>::GetItemAt(nsISupports *aNative,
}
#endif
return list->GetItemAt(aIndex);
return list->GetItemWithoutAddRef(aIndex);
}

View File

@ -52,7 +52,6 @@ interface nsIDOMSVGLengthList : nsISupports
// raises(nsIDOMDOMException, nsIDOMSVGException);
nsIDOMSVGLength getItem(in unsigned long index);
// raises(nsIDOMDOMException);
[getter,noscript,notxpcom,nostdcall] nsIDOMSVGLength getItemAt(in unsigned long index);
nsIDOMSVGLength insertItemBefore(in nsIDOMSVGLength newItem, in unsigned long index);
// raises(nsIDOMDOMException, nsIDOMSVGException);
nsIDOMSVGLength replaceItem(in nsIDOMSVGLength newItem, in unsigned long index);

View File

@ -52,7 +52,6 @@ interface nsIDOMSVGNumberList : nsISupports
// raises(nsIDOMDOMException, nsIDOMSVGException);
nsIDOMSVGNumber getItem(in unsigned long index);
// raises(nsIDOMDOMException);
[getter,noscript,notxpcom,nostdcall] nsIDOMSVGNumber getItemAt(in unsigned long index);
nsIDOMSVGNumber insertItemBefore(in nsIDOMSVGNumber newItem, in unsigned long index);
// raises(nsIDOMDOMException, nsIDOMSVGException);
nsIDOMSVGNumber replaceItem(in nsIDOMSVGNumber newItem, in unsigned long index);

View File

@ -52,7 +52,6 @@ interface nsIDOMSVGPathSegList : nsISupports
// raises(nsIDOMDOMException, nsIDOMSVGException);
nsIDOMSVGPathSeg getItem(in unsigned long index);
// raises(nsIDOMDOMException);
[getter,noscript,notxpcom,nostdcall] nsIDOMSVGPathSeg getItemAt(in unsigned long index);
nsIDOMSVGPathSeg insertItemBefore(in nsIDOMSVGPathSeg newItem, in unsigned long index);
// raises(nsIDOMDOMException, nsIDOMSVGException);
nsIDOMSVGPathSeg replaceItem(in nsIDOMSVGPathSeg newItem, in unsigned long index);

View File

@ -52,7 +52,6 @@ interface nsIDOMSVGPointList : nsISupports
// raises( DOMException, SVGException );
nsIDOMSVGPoint getItem (in unsigned long index);
// raises( DOMException );
[getter,noscript,notxpcom,nostdcall] nsIDOMSVGPoint getItemAt(in unsigned long index);
nsIDOMSVGPoint insertItemBefore(in nsIDOMSVGPoint newItem, in unsigned long index);
// raises( DOMException, SVGException );
nsIDOMSVGPoint replaceItem(in nsIDOMSVGPoint newItem, in unsigned long index);

View File

@ -53,7 +53,6 @@ interface nsIDOMSVGTransformList : nsISupports
// raises( DOMException, SVGException );
nsIDOMSVGTransform getItem(in unsigned long index);
// raises( DOMException );
[getter,noscript,notxpcom,nostdcall] nsIDOMSVGTransform getItemAt(in unsigned long index);
nsIDOMSVGTransform insertItemBefore(in nsIDOMSVGTransform newItem,
in unsigned long index);
// raises( DOMException, SVGException );

View File

@ -10,11 +10,6 @@ prefableClasses = {
'PaintRequestList': 'nsPaintRequestList',
'TouchList': 'nsDOMTouchList',
'FileList': 'nsDOMFileList',
'SVGLengthList': 'mozilla::DOMSVGLengthList',
'SVGNumberList': 'mozilla::DOMSVGNumberList',
'SVGPathSegList': 'mozilla::DOMSVGPathSegList',
'SVGPointList': 'mozilla::DOMSVGPointList',
'SVGTransformList': 'mozilla::DOMSVGTransformList',
}
irregularFilenames = {