mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Backout 790be8926d50 to fix commit message
--HG-- extra : rebase_source : 930b7802b35784ef5d70ed359d5d9932013ad62d
This commit is contained in:
parent
f486e3b94a
commit
fbde930e20
@ -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;
|
||||
}
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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);
|
||||
|
||||
|
@ -10640,7 +10640,7 @@ nsSVGListSH<ListInterfaceType, ListType>::GetItemAt(nsISupports *aNative,
|
||||
}
|
||||
#endif
|
||||
|
||||
return list->GetItemAt(aIndex);
|
||||
return list->GetItemWithoutAddRef(aIndex);
|
||||
}
|
||||
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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 );
|
||||
|
@ -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 = {
|
||||
|
Loading…
Reference in New Issue
Block a user