Fixing bug 381447. nsSVGLengthList::mCtxType is always set to nsSVGUtils::X. r+sr=tor@acm.org

git-svn-id: svn://10.0.0.236/trunk@226861 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
jwatt%jwatt.org
2007-05-23 08:38:54 +00:00
parent 39a72f2fbd
commit 9d5f92e7ec
5 changed files with 18 additions and 16 deletions

View File

@@ -57,9 +57,10 @@ class nsSVGLengthList : public nsIDOMSVGLengthList,
{
protected:
friend nsresult NS_NewSVGLengthList(nsIDOMSVGLengthList** result,
nsSVGElement *aContext);
nsSVGElement *aContext,
PRUint8 aCtxType);
nsSVGLengthList(nsSVGElement *aContext);
nsSVGLengthList(nsSVGElement *aContext, PRUint8 aCtxType);
~nsSVGLengthList();
// void Init();
@@ -101,8 +102,8 @@ protected:
//----------------------------------------------------------------------
// Implementation
nsSVGLengthList::nsSVGLengthList(nsSVGElement *aContext)
: mCtxType(0)
nsSVGLengthList::nsSVGLengthList(nsSVGElement *aContext, PRUint8 aCtxType)
: mCtxType(aCtxType)
{
mContext = do_GetWeakReference(NS_STATIC_CAST(nsGenericElement*, aContext));
}
@@ -389,11 +390,11 @@ nsSVGLengthList::InsertElementAt(nsISVGLength* aElement, PRInt32 index)
// Exported creation functions:
nsresult
NS_NewSVGLengthList(nsIDOMSVGLengthList** result, nsSVGElement *aContext)
NS_NewSVGLengthList(nsIDOMSVGLengthList** result, nsSVGElement *aContext, PRUint8 aCtxType)
{
*result = nsnull;
nsSVGLengthList* lengthList = new nsSVGLengthList(aContext);
nsSVGLengthList* lengthList = new nsSVGLengthList(aContext, aCtxType);
if (!lengthList) return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(lengthList);

View File

@@ -44,6 +44,6 @@
class nsSVGElement;
nsresult
NS_NewSVGLengthList(nsIDOMSVGLengthList** result, nsSVGElement *aContext);
NS_NewSVGLengthList(nsIDOMSVGLengthList** result, nsSVGElement *aContext, PRUint8 aCtxType);
#endif //__NS_SVGLENGTHLIST_H__

View File

@@ -134,7 +134,7 @@ nsSVGTSpanElement::Init()
// DOM property: nsIDOMSVGTextPositioningElement::x, #IMPLIED attrib: x
{
nsCOMPtr<nsIDOMSVGLengthList> lengthList;
rv = NS_NewSVGLengthList(getter_AddRefs(lengthList), this);
rv = NS_NewSVGLengthList(getter_AddRefs(lengthList), this, nsSVGUtils::X);
NS_ENSURE_SUCCESS(rv,rv);
rv = NS_NewSVGAnimatedLengthList(getter_AddRefs(mX),
lengthList);
@@ -146,7 +146,7 @@ nsSVGTSpanElement::Init()
// DOM property: nsIDOMSVGTextPositioningElement::y, #IMPLIED attrib: y
{
nsCOMPtr<nsIDOMSVGLengthList> lengthList;
rv = NS_NewSVGLengthList(getter_AddRefs(lengthList), this);
rv = NS_NewSVGLengthList(getter_AddRefs(lengthList), this, nsSVGUtils::Y);
NS_ENSURE_SUCCESS(rv,rv);
rv = NS_NewSVGAnimatedLengthList(getter_AddRefs(mY),
lengthList);
@@ -158,7 +158,7 @@ nsSVGTSpanElement::Init()
// DOM property: nsIDOMSVGTextPositioningElement::dx, #IMPLIED attrib: dx
{
nsCOMPtr<nsIDOMSVGLengthList> lengthList;
rv = NS_NewSVGLengthList(getter_AddRefs(lengthList), this);
rv = NS_NewSVGLengthList(getter_AddRefs(lengthList), this, nsSVGUtils::X);
NS_ENSURE_SUCCESS(rv,rv);
rv = NS_NewSVGAnimatedLengthList(getter_AddRefs(mdX),
lengthList);
@@ -170,7 +170,7 @@ nsSVGTSpanElement::Init()
// DOM property: nsIDOMSVGTextPositioningElement::dy, #IMPLIED attrib: dy
{
nsCOMPtr<nsIDOMSVGLengthList> lengthList;
rv = NS_NewSVGLengthList(getter_AddRefs(lengthList), this);
rv = NS_NewSVGLengthList(getter_AddRefs(lengthList), this, nsSVGUtils::Y);
NS_ENSURE_SUCCESS(rv,rv);
rv = NS_NewSVGAnimatedLengthList(getter_AddRefs(mdY),
lengthList);

View File

@@ -131,7 +131,7 @@ nsSVGTextElement::Init()
// DOM property: nsIDOMSVGTextPositioningElement::x, #IMPLIED attrib: x
{
nsCOMPtr<nsIDOMSVGLengthList> lengthList;
rv = NS_NewSVGLengthList(getter_AddRefs(lengthList), this);
rv = NS_NewSVGLengthList(getter_AddRefs(lengthList), this, nsSVGUtils::X);
NS_ENSURE_SUCCESS(rv,rv);
rv = NS_NewSVGAnimatedLengthList(getter_AddRefs(mX),
lengthList);
@@ -143,7 +143,7 @@ nsSVGTextElement::Init()
// DOM property: nsIDOMSVGTextPositioningElement::y, #IMPLIED attrib: y
{
nsCOMPtr<nsIDOMSVGLengthList> lengthList;
rv = NS_NewSVGLengthList(getter_AddRefs(lengthList), this);
rv = NS_NewSVGLengthList(getter_AddRefs(lengthList), this, nsSVGUtils::Y);
NS_ENSURE_SUCCESS(rv,rv);
rv = NS_NewSVGAnimatedLengthList(getter_AddRefs(mY),
lengthList);
@@ -155,7 +155,7 @@ nsSVGTextElement::Init()
// DOM property: nsIDOMSVGTextPositioningElement::dx, #IMPLIED attrib: dx
{
nsCOMPtr<nsIDOMSVGLengthList> lengthList;
rv = NS_NewSVGLengthList(getter_AddRefs(lengthList), this);
rv = NS_NewSVGLengthList(getter_AddRefs(lengthList), this, nsSVGUtils::X);
NS_ENSURE_SUCCESS(rv,rv);
rv = NS_NewSVGAnimatedLengthList(getter_AddRefs(mdX),
lengthList);
@@ -167,7 +167,7 @@ nsSVGTextElement::Init()
// DOM property: nsIDOMSVGTextPositioningElement::dy, #IMPLIED attrib: dy
{
nsCOMPtr<nsIDOMSVGLengthList> lengthList;
rv = NS_NewSVGLengthList(getter_AddRefs(lengthList), this);
rv = NS_NewSVGLengthList(getter_AddRefs(lengthList), this, nsSVGUtils::Y);
NS_ENSURE_SUCCESS(rv,rv);
rv = NS_NewSVGAnimatedLengthList(getter_AddRefs(mdY),
lengthList);

View File

@@ -129,7 +129,8 @@ nsSVGTextPathFrame::Init(nsIContent* aContent,
return NS_ERROR_FAILURE;
NS_NewSVGLengthList(getter_AddRefs(mX),
NS_STATIC_CAST(nsSVGElement*, mContent));
NS_STATIC_CAST(nsSVGElement*, mContent),
nsSVGUtils::X);
if (mX) {
nsCOMPtr<nsIDOMSVGLength> length;
mX->AppendItem(mStartOffset, getter_AddRefs(length));