Bug 882553 - Convert SVGAnimatedString to WebIDL r=Ms2ger

This commit is contained in:
David Zbarsky 2013-06-14 15:37:27 -07:00
parent d10a18830c
commit 97e1b80d17
86 changed files with 221 additions and 190 deletions

View File

@ -50,7 +50,7 @@ SVGAElement::SVGAElement(already_AddRefed<nsINodeInfo> aNodeInfo)
{
}
already_AddRefed<nsIDOMSVGAnimatedString>
already_AddRefed<SVGAnimatedString>
SVGAElement::Href()
{
return mStringAttributes[HREF].ToDOMAnimatedString(this);
@ -79,7 +79,7 @@ NS_IMPL_ELEMENT_CLONE_WITH_INIT(SVGAElement)
//----------------------------------------------------------------------
already_AddRefed<nsIDOMSVGAnimatedString>
already_AddRefed<SVGAnimatedString>
SVGAElement::Target()
{
return mStringAttributes[TARGET].ToDOMAnimatedString(this);

View File

@ -66,8 +66,8 @@ public:
bool aNotify) MOZ_OVERRIDE;
// WebIDL
already_AddRefed<nsIDOMSVGAnimatedString> Href();
already_AddRefed<nsIDOMSVGAnimatedString> Target();
already_AddRefed<SVGAnimatedString> Href();
already_AddRefed<SVGAnimatedString> Target();
void GetDownload(nsAString & aDownload);
void SetDownload(const nsAString & aDownload, ErrorResult& rv);

View File

@ -36,7 +36,7 @@ SVGAltGlyphElement::SVGAltGlyphElement(already_AddRefed<nsINodeInfo> aNodeInfo)
NS_IMPL_ELEMENT_CLONE_WITH_INIT(SVGAltGlyphElement)
already_AddRefed<nsIDOMSVGAnimatedString>
already_AddRefed<SVGAnimatedString>
SVGAltGlyphElement::Href()
{
return mStringAttributes[HREF].ToDOMAnimatedString(this);

View File

@ -33,7 +33,7 @@ public:
virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE;
// WebIDL
already_AddRefed<nsIDOMSVGAnimatedString> Href();
already_AddRefed<SVGAnimatedString> Href();
void GetGlyphRef(nsAString & aGlyphRef);
void SetGlyphRef(const nsAString & aGlyphRef, ErrorResult& rv);
void GetFormat(nsAString & aFormat);

View File

@ -0,0 +1,20 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "mozilla/dom/SVGAnimatedString.h"
#include "mozilla/dom/SVGAnimatedStringBinding.h"
namespace mozilla {
namespace dom {
JSObject*
SVGAnimatedString::WrapObject(JSContext* aCx,
JS::Handle<JSObject*> aScope)
{
return SVGAnimatedStringBinding::Wrap(aCx, aScope, this);
}
} // namespace dom
} // namespace mozilla

View File

@ -0,0 +1,43 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef mozilla_dom_SVGAnimatedString_h
#define mozilla_dom_SVGAnimatedString_h
#include "nsSVGElement.h"
namespace mozilla {
namespace dom {
class SVGAnimatedString : public nsISupports,
public nsWrapperCache
{
public:
SVGAnimatedString(nsSVGElement* aSVGElement)
: mSVGElement(aSVGElement)
{
SetIsDOMBinding();
}
virtual JSObject* WrapObject(JSContext* aCx,
JS::Handle<JSObject*> aScope) MOZ_OVERRIDE;
// WebIDL
nsSVGElement* GetParentObject() const
{
return mSVGElement;
}
virtual void GetBaseVal(nsAString& aResult) = 0;
virtual void SetBaseVal(const nsAString& aValue) = 0;
virtual void GetAnimVal(nsAString& aResult) = 0;
nsRefPtr<nsSVGElement> mSVGElement;
};
} // namespace dom
} // namespace mozilla
#endif // mozilla_dom_SVGAnimatedString_h

View File

@ -50,13 +50,13 @@ NS_IMPL_ELEMENT_CLONE_WITH_INIT(SVGFEBlendElement)
//----------------------------------------------------------------------
// nsIDOMSVGFEBlendElement methods
already_AddRefed<nsIDOMSVGAnimatedString>
already_AddRefed<SVGAnimatedString>
SVGFEBlendElement::In1()
{
return mStringAttributes[IN1].ToDOMAnimatedString(this);
}
already_AddRefed<nsIDOMSVGAnimatedString>
already_AddRefed<SVGAnimatedString>
SVGFEBlendElement::In2()
{
return mStringAttributes[IN2].ToDOMAnimatedString(this);

View File

@ -48,8 +48,8 @@ public:
virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE;
// WebIDL
already_AddRefed<nsIDOMSVGAnimatedString> In1();
already_AddRefed<nsIDOMSVGAnimatedString> In2();
already_AddRefed<SVGAnimatedString> In1();
already_AddRefed<SVGAnimatedString> In2();
already_AddRefed<nsIDOMSVGAnimatedEnumeration> Mode();
protected:

View File

@ -57,7 +57,7 @@ NS_IMPL_ELEMENT_CLONE_WITH_INIT(SVGFEColorMatrixElement)
//----------------------------------------------------------------------
already_AddRefed<nsIDOMSVGAnimatedString>
already_AddRefed<SVGAnimatedString>
SVGFEColorMatrixElement::In1()
{
return mStringAttributes[IN1].ToDOMAnimatedString(this);

View File

@ -49,7 +49,7 @@ public:
virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE;
// WebIDL
already_AddRefed<nsIDOMSVGAnimatedString> In1();
already_AddRefed<SVGAnimatedString> In1();
already_AddRefed<nsIDOMSVGAnimatedEnumeration> Type();
already_AddRefed<DOMSVGAnimatedNumberList> Values();

View File

@ -30,7 +30,7 @@ nsSVGElement::StringInfo SVGFEComponentTransferElement::sStringInfo[2] =
NS_IMPL_ELEMENT_CLONE_WITH_INIT(SVGFEComponentTransferElement)
already_AddRefed<nsIDOMSVGAnimatedString>
already_AddRefed<SVGAnimatedString>
SVGFEComponentTransferElement::In1()
{
return mStringAttributes[IN1].ToDOMAnimatedString(this);

View File

@ -42,7 +42,7 @@ public:
virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE;
// WebIDL
already_AddRefed<nsIDOMSVGAnimatedString> In1();
already_AddRefed<SVGAnimatedString> In1();
protected:
virtual bool OperatesOnPremultipledAlpha(int32_t) MOZ_OVERRIDE { return false; }

View File

@ -55,13 +55,13 @@ nsSVGElement::StringInfo SVGFECompositeElement::sStringInfo[3] =
NS_IMPL_ELEMENT_CLONE_WITH_INIT(SVGFECompositeElement)
already_AddRefed<nsIDOMSVGAnimatedString>
already_AddRefed<SVGAnimatedString>
SVGFECompositeElement::In1()
{
return mStringAttributes[IN1].ToDOMAnimatedString(this);
}
already_AddRefed<nsIDOMSVGAnimatedString>
already_AddRefed<SVGAnimatedString>
SVGFECompositeElement::In2()
{
return mStringAttributes[IN2].ToDOMAnimatedString(this);

View File

@ -55,8 +55,8 @@ public:
virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE;
// WebIDL
already_AddRefed<nsIDOMSVGAnimatedString> In1();
already_AddRefed<nsIDOMSVGAnimatedString> In2();
already_AddRefed<SVGAnimatedString> In1();
already_AddRefed<SVGAnimatedString> In2();
already_AddRefed<nsIDOMSVGAnimatedEnumeration> Operator();
already_AddRefed<nsIDOMSVGAnimatedNumber> K1();
already_AddRefed<nsIDOMSVGAnimatedNumber> K2();

View File

@ -85,7 +85,7 @@ NS_IMPL_ELEMENT_CLONE_WITH_INIT(SVGFEConvolveMatrixElement)
//----------------------------------------------------------------------
already_AddRefed<nsIDOMSVGAnimatedString>
already_AddRefed<SVGAnimatedString>
SVGFEConvolveMatrixElement::In1()
{
return mStringAttributes[IN1].ToDOMAnimatedString(this);

View File

@ -58,7 +58,7 @@ public:
virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE;
// WebIDL
already_AddRefed<nsIDOMSVGAnimatedString> In1();
already_AddRefed<SVGAnimatedString> In1();
already_AddRefed<nsIDOMSVGAnimatedInteger> OrderX();
already_AddRefed<nsIDOMSVGAnimatedInteger> OrderY();
already_AddRefed<DOMSVGAnimatedNumberList> KernelMatrix();

View File

@ -25,7 +25,7 @@ NS_IMPL_ELEMENT_CLONE_WITH_INIT(SVGFEDiffuseLightingElement)
//----------------------------------------------------------------------
already_AddRefed<nsIDOMSVGAnimatedString>
already_AddRefed<SVGAnimatedString>
SVGFEDiffuseLightingElement::In1()
{
return mStringAttributes[IN1].ToDOMAnimatedString(this);

View File

@ -35,7 +35,7 @@ public:
virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const;
// WebIDL
already_AddRefed<nsIDOMSVGAnimatedString> In1();
already_AddRefed<SVGAnimatedString> In1();
already_AddRefed<nsIDOMSVGAnimatedNumber> SurfaceScale();
already_AddRefed<nsIDOMSVGAnimatedNumber> DiffuseConstant();
already_AddRefed<nsIDOMSVGAnimatedNumber> KernelUnitLengthX();

View File

@ -65,13 +65,13 @@ NS_IMPL_ELEMENT_CLONE_WITH_INIT(SVGFEDisplacementMapElement)
//----------------------------------------------------------------------
already_AddRefed<nsIDOMSVGAnimatedString>
already_AddRefed<SVGAnimatedString>
SVGFEDisplacementMapElement::In1()
{
return mStringAttributes[IN1].ToDOMAnimatedString(this);
}
already_AddRefed<nsIDOMSVGAnimatedString>
already_AddRefed<SVGAnimatedString>
SVGFEDisplacementMapElement::In2()
{
return mStringAttributes[IN2].ToDOMAnimatedString(this);

View File

@ -49,8 +49,8 @@ public:
virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE;
// WebIDL
already_AddRefed<nsIDOMSVGAnimatedString> In1();
already_AddRefed<nsIDOMSVGAnimatedString> In2();
already_AddRefed<SVGAnimatedString> In1();
already_AddRefed<SVGAnimatedString> In2();
already_AddRefed<nsIDOMSVGAnimatedNumber> Scale();
already_AddRefed<nsIDOMSVGAnimatedEnumeration> XChannelSelector();
already_AddRefed<nsIDOMSVGAnimatedEnumeration> YChannelSelector();

View File

@ -37,7 +37,7 @@ NS_IMPL_ELEMENT_CLONE_WITH_INIT(SVGFEGaussianBlurElement)
//----------------------------------------------------------------------
already_AddRefed<nsIDOMSVGAnimatedString>
already_AddRefed<SVGAnimatedString>
SVGFEGaussianBlurElement::In1()
{
return mStringAttributes[IN1].ToDOMAnimatedString(this);

View File

@ -50,7 +50,7 @@ public:
virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE;
// WebIDL
already_AddRefed<nsIDOMSVGAnimatedString> In1();
already_AddRefed<SVGAnimatedString> In1();
already_AddRefed<nsIDOMSVGAnimatedNumber> StdDeviationX();
already_AddRefed<nsIDOMSVGAnimatedNumber> StdDeviationY();
void SetStdDeviation(float stdDeviationX, float stdDeviationY);

View File

@ -175,7 +175,7 @@ SVGFEImageElement::IntrinsicState() const
NS_IMPL_ELEMENT_CLONE_WITH_INIT(SVGFEImageElement)
already_AddRefed<nsIDOMSVGAnimatedString>
already_AddRefed<SVGAnimatedString>
SVGFEImageElement::Href()
{
return mStringAttributes[HREF].ToDOMAnimatedString(this);

View File

@ -65,7 +65,7 @@ public:
void MaybeLoadSVGImage();
// WebIDL
already_AddRefed<nsIDOMSVGAnimatedString> Href();
already_AddRefed<SVGAnimatedString> Href();
already_AddRefed<DOMSVGAnimatedPreserveAspectRatio> PreserveAspectRatio();
private:

View File

@ -37,7 +37,7 @@ SVGFEMergeNodeElement::AttributeAffectsRendering(int32_t aNameSpaceID,
return aNameSpaceID == kNameSpaceID_None && aAttribute == nsGkAtoms::in;
}
already_AddRefed<nsIDOMSVGAnimatedString>
already_AddRefed<SVGAnimatedString>
SVGFEMergeNodeElement::In1()
{
return mStringAttributes[IN1].ToDOMAnimatedString(this);

View File

@ -37,7 +37,7 @@ public:
const nsSVGString* GetIn1() { return &mStringAttributes[IN1]; }
// WebIDL
already_AddRefed<nsIDOMSVGAnimatedString> In1();
already_AddRefed<SVGAnimatedString> In1();
protected:
virtual StringAttributesInfo GetStringInfo() MOZ_OVERRIDE;

View File

@ -58,7 +58,7 @@ NS_IMPL_ELEMENT_CLONE_WITH_INIT(SVGFEMorphologyElement)
//----------------------------------------------------------------------
// SVGFEMorphologyElement methods
already_AddRefed<nsIDOMSVGAnimatedString>
already_AddRefed<SVGAnimatedString>
SVGFEMorphologyElement::In1()
{
return mStringAttributes[IN1].ToDOMAnimatedString(this);

View File

@ -50,7 +50,7 @@ public:
virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE;
// WebIDL
already_AddRefed<nsIDOMSVGAnimatedString> In1();
already_AddRefed<SVGAnimatedString> In1();
already_AddRefed<nsIDOMSVGAnimatedEnumeration> Operator();
already_AddRefed<nsIDOMSVGAnimatedNumber> RadiusX();
already_AddRefed<nsIDOMSVGAnimatedNumber> RadiusY();

View File

@ -39,7 +39,7 @@ NS_IMPL_ELEMENT_CLONE_WITH_INIT(SVGFEOffsetElement)
//----------------------------------------------------------------------
already_AddRefed<nsIDOMSVGAnimatedString>
already_AddRefed<SVGAnimatedString>
SVGFEOffsetElement::In1()
{
return mStringAttributes[IN1].ToDOMAnimatedString(this);

View File

@ -49,7 +49,7 @@ public:
virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE;
// WebIDL
already_AddRefed<nsIDOMSVGAnimatedString> In1();
already_AddRefed<SVGAnimatedString> In1();
already_AddRefed<nsIDOMSVGAnimatedNumber> Dx();
already_AddRefed<nsIDOMSVGAnimatedNumber> Dy();

View File

@ -23,7 +23,7 @@ SVGFESpecularLightingElement::WrapNode(JSContext* aCx, JS::Handle<JSObject*> aSc
NS_IMPL_ELEMENT_CLONE_WITH_INIT(SVGFESpecularLightingElement)
already_AddRefed<nsIDOMSVGAnimatedString>
already_AddRefed<SVGAnimatedString>
SVGFESpecularLightingElement::In1()
{
return mStringAttributes[IN1].ToDOMAnimatedString(this);

View File

@ -41,7 +41,7 @@ public:
int32_t aNameSpaceID, nsIAtom* aAttribute) const;
// WebIDL
already_AddRefed<nsIDOMSVGAnimatedString> In1();
already_AddRefed<SVGAnimatedString> In1();
already_AddRefed<nsIDOMSVGAnimatedNumber> SurfaceScale();
already_AddRefed<nsIDOMSVGAnimatedNumber> SpecularConstant();
already_AddRefed<nsIDOMSVGAnimatedNumber> SpecularExponent();

View File

@ -31,7 +31,7 @@ nsSVGElement::StringInfo SVGFETileElement::sStringInfo[2] =
NS_IMPL_ELEMENT_CLONE_WITH_INIT(SVGFETileElement)
already_AddRefed<nsIDOMSVGAnimatedString>
already_AddRefed<SVGAnimatedString>
SVGFETileElement::In1()
{
return mStringAttributes[IN1].ToDOMAnimatedString(this);

View File

@ -49,7 +49,7 @@ public:
virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const MOZ_OVERRIDE;
// WebIDL
already_AddRefed<nsIDOMSVGAnimatedString> In1();
already_AddRefed<SVGAnimatedString> In1();
protected:
virtual StringAttributesInfo GetStringInfo() MOZ_OVERRIDE;

View File

@ -125,7 +125,7 @@ SVGFilterElement::SetFilterRes(uint32_t filterResX, uint32_t filterResY)
mIntegerPairAttributes[FILTERRES].SetBaseValues(filterResX, filterResY, this);
}
already_AddRefed<nsIDOMSVGAnimatedString>
already_AddRefed<SVGAnimatedString>
SVGFilterElement::Href()
{
return mStringAttributes[HREF].ToDOMAnimatedString(this);

View File

@ -57,7 +57,7 @@ public:
already_AddRefed<nsIDOMSVGAnimatedInteger> FilterResX();
already_AddRefed<nsIDOMSVGAnimatedInteger> FilterResY();
void SetFilterRes(uint32_t filterResX, uint32_t filterResY);
already_AddRefed<nsIDOMSVGAnimatedString> Href();
already_AddRefed<SVGAnimatedString> Href();
protected:

View File

@ -93,7 +93,7 @@ SVGGradientElement::SpreadMethod()
return mEnumAttributes[SPREADMETHOD].ToDOMAnimatedEnum(this);
}
already_AddRefed<nsIDOMSVGAnimatedString>
already_AddRefed<SVGAnimatedString>
SVGGradientElement::Href()
{
return mStringAttributes[HREF].ToDOMAnimatedString(this);

View File

@ -62,7 +62,7 @@ public:
already_AddRefed<nsIDOMSVGAnimatedEnumeration> GradientUnits();
already_AddRefed<SVGAnimatedTransformList> GradientTransform();
already_AddRefed<nsIDOMSVGAnimatedEnumeration> SpreadMethod();
already_AddRefed<nsIDOMSVGAnimatedString> Href();
already_AddRefed<SVGAnimatedString> Href();
protected:
virtual EnumAttributesInfo GetEnumInfo() MOZ_OVERRIDE;

View File

@ -103,7 +103,7 @@ SVGImageElement::PreserveAspectRatio()
return ratio.forget();
}
already_AddRefed<nsIDOMSVGAnimatedString>
already_AddRefed<SVGAnimatedString>
SVGImageElement::Href()
{
return mStringAttributes[HREF].ToDOMAnimatedString(this);

View File

@ -73,7 +73,7 @@ public:
already_AddRefed<SVGAnimatedLength> Width();
already_AddRefed<SVGAnimatedLength> Height();
already_AddRefed<DOMSVGAnimatedPreserveAspectRatio> PreserveAspectRatio();
already_AddRefed<nsIDOMSVGAnimatedString> Href();
already_AddRefed<SVGAnimatedString> Href();
protected:
nsresult LoadSVGImage(bool aForce, bool aNotify);

View File

@ -78,7 +78,7 @@ SVGMPathElement::~SVGMPathElement()
NS_IMPL_ELEMENT_CLONE_WITH_INIT(SVGMPathElement)
already_AddRefed<nsIDOMSVGAnimatedString>
already_AddRefed<SVGAnimatedString>
SVGMPathElement::Href()
{
return mStringAttributes[HREF].ToDOMAnimatedString(this);

View File

@ -62,7 +62,7 @@ public:
SVGPathElement* GetReferencedPath();
// WebIDL
already_AddRefed<nsIDOMSVGAnimatedString> Href();
already_AddRefed<SVGAnimatedString> Href();
protected:
class PathReference : public nsReferencedElement {

View File

@ -125,7 +125,7 @@ SVGPatternElement::Height()
return mLengthAttributes[ATTR_HEIGHT].ToDOMAnimatedLength(this);
}
already_AddRefed<nsIDOMSVGAnimatedString>
already_AddRefed<SVGAnimatedString>
SVGPatternElement::Href()
{
return mStringAttributes[HREF].ToDOMAnimatedString(this);

View File

@ -63,7 +63,7 @@ public:
already_AddRefed<SVGAnimatedLength> Y();
already_AddRefed<SVGAnimatedLength> Width();
already_AddRefed<SVGAnimatedLength> Height();
already_AddRefed<nsIDOMSVGAnimatedString> Href();
already_AddRefed<SVGAnimatedString> Href();
protected:

View File

@ -98,7 +98,7 @@ SVGScriptElement::SetCrossOrigin(const nsAString & aOrigin, ErrorResult& rv)
rv = SetAttr(kNameSpaceID_None, nsGkAtoms::crossorigin, aOrigin, true);
}
already_AddRefed<nsIDOMSVGAnimatedString>
already_AddRefed<SVGAnimatedString>
SVGScriptElement::Href()
{
return mStringAttributes[HREF].ToDOMAnimatedString(this);

View File

@ -69,7 +69,7 @@ public:
void SetType(const nsAString & aType, ErrorResult& rv);
void GetCrossOrigin(nsAString & aOrigin);
void SetCrossOrigin(const nsAString & aOrigin, ErrorResult& rv);
already_AddRefed<nsIDOMSVGAnimatedString> Href();
already_AddRefed<SVGAnimatedString> Href();
protected:
virtual StringAttributesInfo GetStringInfo() MOZ_OVERRIDE;

View File

@ -70,7 +70,7 @@ SVGTextPathElement::SVGTextPathElement(already_AddRefed<nsINodeInfo> aNodeInfo)
NS_IMPL_ELEMENT_CLONE_WITH_INIT(SVGTextPathElement)
already_AddRefed<nsIDOMSVGAnimatedString>
already_AddRefed<SVGAnimatedString>
SVGTextPathElement::Href()
{
return mStringAttributes[HREF].ToDOMAnimatedString(this);

View File

@ -55,7 +55,7 @@ public:
already_AddRefed<SVGAnimatedLength> StartOffset();
already_AddRefed<nsIDOMSVGAnimatedEnumeration> Method();
already_AddRefed<nsIDOMSVGAnimatedEnumeration> Spacing();
already_AddRefed<nsIDOMSVGAnimatedString> Href();
already_AddRefed<SVGAnimatedString> Href();
protected:

View File

@ -115,12 +115,10 @@ SVGUseElement::Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const
return NS_FAILED(rv1) ? rv1 : rv2;
}
already_AddRefed<nsIDOMSVGAnimatedString>
already_AddRefed<SVGAnimatedString>
SVGUseElement::Href()
{
nsCOMPtr<nsIDOMSVGAnimatedString> href;
mStringAttributes[HREF].ToDOMAnimatedString(getter_AddRefs(href), this);
return href.forget();
return mStringAttributes[HREF].ToDOMAnimatedString(this);
}
//----------------------------------------------------------------------

View File

@ -70,7 +70,7 @@ public:
NS_IMETHOD_(bool) IsAttributeMapped(const nsIAtom* aAttribute) const MOZ_OVERRIDE;
// WebIDL
already_AddRefed<nsIDOMSVGAnimatedString> Href();
already_AddRefed<SVGAnimatedString> Href();
already_AddRefed<SVGAnimatedLength> X();
already_AddRefed<SVGAnimatedLength> Y();
already_AddRefed<SVGAnimatedLength> Width();

View File

@ -25,6 +25,7 @@ EXPORTS.mozilla.dom += [
'SVGAnimatedBoolean.h',
'SVGAnimatedLength.h',
'SVGAnimatedRect.h',
'SVGAnimatedString.h',
'SVGAnimatedTransformList.h',
'SVGAnimationElement.h',
'SVGCircleElement.h',
@ -122,6 +123,7 @@ CPP_SOURCES += [
'SVGAnimatedPointList.cpp',
'SVGAnimatedPreserveAspectRatio.cpp',
'SVGAnimatedRect.cpp',
'SVGAnimatedString.cpp',
'SVGAnimatedTransformList.cpp',
'SVGAnimationElement.cpp',
'SVGAttrValueWrapper.cpp',

View File

@ -7,22 +7,54 @@
#include "nsSVGElement.h"
#include "nsSMILValue.h"
#include "SMILStringType.h"
#include "mozilla/dom/SVGAnimatedString.h"
using namespace mozilla;
using namespace mozilla::dom;
NS_SVG_VAL_IMPL_CYCLE_COLLECTION(nsSVGClass::DOMAnimatedString, mSVGElement)
struct DOMAnimatedString MOZ_FINAL : public SVGAnimatedString
{
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(DOMAnimatedString)
NS_IMPL_CYCLE_COLLECTING_ADDREF(nsSVGClass::DOMAnimatedString)
NS_IMPL_CYCLE_COLLECTING_RELEASE(nsSVGClass::DOMAnimatedString)
DOMAnimatedString(nsSVGClass* aVal, nsSVGElement* aSVGElement)
: SVGAnimatedString(aSVGElement)
, mVal(aVal)
{}
DOMCI_DATA(SVGAnimatedClass, nsSVGClass::DOMAnimatedString)
nsSVGClass* mVal; // kept alive because it belongs to content
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(nsSVGClass::DOMAnimatedString)
NS_INTERFACE_MAP_ENTRY(nsIDOMSVGAnimatedString)
void GetBaseVal(nsAString& aResult) MOZ_OVERRIDE
{
mVal->GetBaseValue(aResult, mSVGElement);
}
void SetBaseVal(const nsAString& aValue) MOZ_OVERRIDE
{
mVal->SetBaseValue(aValue, mSVGElement, true);
}
void GetAnimVal(nsAString& aResult) MOZ_OVERRIDE;
};
NS_SVG_VAL_IMPL_CYCLE_COLLECTION_WRAPPERCACHED(DOMAnimatedString, mSVGElement)
NS_IMPL_CYCLE_COLLECTING_ADDREF(DOMAnimatedString)
NS_IMPL_CYCLE_COLLECTING_RELEASE(DOMAnimatedString)
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(DOMAnimatedString)
NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY
NS_INTERFACE_MAP_ENTRY(nsISupports)
NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO(SVGAnimatedString)
NS_INTERFACE_MAP_END
already_AddRefed<SVGAnimatedString>
nsSVGClass::ToDOMAnimatedString(nsSVGElement* aSVGElement)
{
nsRefPtr<DOMAnimatedString> result = new DOMAnimatedString(this, aSVGElement);
return result.forget();
}
/* Implementation */
void
@ -72,12 +104,11 @@ nsSVGClass::SetAnimValue(const nsAString& aValue, nsSVGElement *aSVGElement)
aSVGElement->DidAnimateClass();
}
NS_IMETHODIMP
nsSVGClass::DOMAnimatedString::GetAnimVal(nsAString& aResult)
{
void
DOMAnimatedString::GetAnimVal(nsAString& aResult)
{
mSVGElement->FlushAnimations();
mVal->GetAnimValue(aResult, mSVGElement);
return NS_OK;
}
nsISMILAttr*

View File

@ -9,13 +9,18 @@
#include "nsAutoPtr.h"
#include "nsCycleCollectionParticipant.h"
#include "nsError.h"
#include "nsIDOMSVGAnimatedString.h"
#include "nsISMILAttr.h"
#include "nsString.h"
#include "mozilla/Attributes.h"
class nsSVGElement;
namespace mozilla {
namespace dom {
class SVGAnimatedString;
}
}
class nsSVGClass
{
@ -34,18 +39,8 @@ public:
bool IsAnimated() const
{ return !!mAnimVal; }
already_AddRefed<nsIDOMSVGAnimatedString>
ToDOMAnimatedString(nsSVGElement* aSVGElement)
{
nsRefPtr<DOMAnimatedString> result = new DOMAnimatedString(this, aSVGElement);
return result.forget();
}
nsresult ToDOMAnimatedString(nsIDOMSVGAnimatedString **aResult,
nsSVGElement *aSVGElement)
{
*aResult = ToDOMAnimatedString(aSVGElement).get();
return NS_OK;
}
already_AddRefed<mozilla::dom::SVGAnimatedString>
ToDOMAnimatedString(nsSVGElement* aSVGElement);
// Returns a new nsISMILAttr object that the caller must delete
nsISMILAttr* ToSMILAttr(nsSVGElement *aSVGElement);
@ -55,24 +50,6 @@ private:
nsAutoPtr<nsString> mAnimVal;
public:
struct DOMAnimatedString MOZ_FINAL : public nsIDOMSVGAnimatedString
{
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
NS_DECL_CYCLE_COLLECTION_CLASS(DOMAnimatedString)
DOMAnimatedString(nsSVGClass *aVal, nsSVGElement *aSVGElement)
: mVal(aVal), mSVGElement(aSVGElement) {}
nsSVGClass* mVal; // kept alive because it belongs to content
nsRefPtr<nsSVGElement> mSVGElement;
NS_IMETHOD GetBaseVal(nsAString& aResult) MOZ_OVERRIDE
{ mVal->GetBaseValue(aResult, mSVGElement); return NS_OK; }
NS_IMETHOD SetBaseVal(const nsAString& aValue) MOZ_OVERRIDE
{ mVal->SetBaseValue(aValue, mSVGElement, true); return NS_OK; }
NS_IMETHOD GetAnimVal(nsAString& aResult) MOZ_OVERRIDE;
};
struct SMILString : public nsISMILAttr
{
public:

View File

@ -93,9 +93,9 @@ nsSVGElement::WrapNode(JSContext *aCx, JS::Handle<JSObject*> aScope)
//----------------------------------------------------------------------
/* readonly attribute nsIDOMSVGAnimatedString className; */
/* readonly attribute SVGAnimatedString className; */
NS_IMETHODIMP
nsSVGElement::GetClassName(nsIDOMSVGAnimatedString** aClassName)
nsSVGElement::GetClassName(nsISupports** aClassName)
{
*aClassName = ClassName().get();
return NS_OK;
@ -1142,7 +1142,7 @@ nsSVGElement::GetViewportElement()
return SVGContentUtils::GetNearestViewportElement(this);
}
already_AddRefed<nsIDOMSVGAnimatedString>
already_AddRefed<SVGAnimatedString>
nsSVGElement::ClassName()
{
return mClassAttribute.ToDOMAnimatedString(this);

View File

@ -306,7 +306,7 @@ public:
// WebIDL
mozilla::dom::SVGSVGElement* GetOwnerSVGElement(mozilla::ErrorResult& rv);
nsSVGElement* GetViewportElement();
already_AddRefed<nsIDOMSVGAnimatedString> ClassName();
already_AddRefed<mozilla::dom::SVGAnimatedString> ClassName();
already_AddRefed<mozilla::dom::CSSValue> GetPresentationAttribute(const nsAString& aName, mozilla::ErrorResult& rv);
protected:
virtual JSObject* WrapNode(JSContext *cx,

View File

@ -273,7 +273,7 @@ nsSVGFE::Height()
return mLengthAttributes[ATTR_HEIGHT].ToDOMAnimatedLength(this);
}
already_AddRefed<nsIDOMSVGAnimatedString>
already_AddRefed<SVGAnimatedString>
nsSVGFE::Result()
{
return GetResultImageName().ToDOMAnimatedString(this);

View File

@ -207,7 +207,7 @@ public:
already_AddRefed<mozilla::dom::SVGAnimatedLength> Y();
already_AddRefed<mozilla::dom::SVGAnimatedLength> Width();
already_AddRefed<mozilla::dom::SVGAnimatedLength> Height();
already_AddRefed<nsIDOMSVGAnimatedString> Result();
already_AddRefed<mozilla::dom::SVGAnimatedString> Result();
protected:
virtual bool OperatesOnPremultipledAlpha(int32_t) { return true; }

View File

@ -9,18 +9,16 @@
#include "SMILStringType.h"
using namespace mozilla;
using namespace mozilla::dom;
NS_SVG_VAL_IMPL_CYCLE_COLLECTION(nsSVGString::DOMAnimatedString, mSVGElement)
NS_SVG_VAL_IMPL_CYCLE_COLLECTION_WRAPPERCACHED(nsSVGString::DOMAnimatedString, mSVGElement)
NS_IMPL_CYCLE_COLLECTING_ADDREF(nsSVGString::DOMAnimatedString)
NS_IMPL_CYCLE_COLLECTING_RELEASE(nsSVGString::DOMAnimatedString)
DOMCI_DATA(SVGAnimatedString, nsSVGString::DOMAnimatedString)
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(nsSVGString::DOMAnimatedString)
NS_INTERFACE_MAP_ENTRY(nsIDOMSVGAnimatedString)
NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY
NS_INTERFACE_MAP_ENTRY(nsISupports)
NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO(SVGAnimatedString)
NS_INTERFACE_MAP_END
static inline
@ -78,15 +76,7 @@ nsSVGString::SetAnimValue(const nsAString& aValue, nsSVGElement *aSVGElement)
}
}
nsresult
nsSVGString::ToDOMAnimatedString(nsIDOMSVGAnimatedString **aResult,
nsSVGElement *aSVGElement)
{
*aResult = ToDOMAnimatedString(aSVGElement).get();
return NS_OK;
}
already_AddRefed<nsIDOMSVGAnimatedString>
already_AddRefed<SVGAnimatedString>
nsSVGString::ToDOMAnimatedString(nsSVGElement* aSVGElement)
{
nsRefPtr<DOMAnimatedString> domAnimatedString =

View File

@ -7,9 +7,9 @@
#define __NS_SVGSTRING_H__
#include "nsError.h"
#include "nsIDOMSVGAnimatedString.h"
#include "nsSVGElement.h"
#include "mozilla/Attributes.h"
#include "mozilla/dom/SVGAnimatedString.h"
class nsSVGString
{
@ -38,9 +38,7 @@ public:
bool IsExplicitlySet() const
{ return !!mAnimVal || mIsBaseSet; }
nsresult ToDOMAnimatedString(nsIDOMSVGAnimatedString **aResult,
nsSVGElement *aSVGElement);
already_AddRefed<nsIDOMSVGAnimatedString>
already_AddRefed<mozilla::dom::SVGAnimatedString>
ToDOMAnimatedString(nsSVGElement* aSVGElement);
// Returns a new nsISMILAttr object that the caller must delete
@ -53,27 +51,34 @@ private:
bool mIsBaseSet;
public:
struct DOMAnimatedString MOZ_FINAL : public nsIDOMSVGAnimatedString
struct DOMAnimatedString MOZ_FINAL : public mozilla::dom::SVGAnimatedString
{
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
NS_DECL_CYCLE_COLLECTION_CLASS(DOMAnimatedString)
NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(DOMAnimatedString)
DOMAnimatedString(nsSVGString* aVal, nsSVGElement* aSVGElement)
: mozilla::dom::SVGAnimatedString(aSVGElement)
, mVal(aVal)
{}
DOMAnimatedString(nsSVGString *aVal, nsSVGElement *aSVGElement)
: mVal(aVal), mSVGElement(aSVGElement) {}
virtual ~DOMAnimatedString();
nsSVGString* mVal; // kept alive because it belongs to content
nsRefPtr<nsSVGElement> mSVGElement;
NS_IMETHOD GetBaseVal(nsAString & aResult) MOZ_OVERRIDE
{ mVal->GetBaseValue(aResult, mSVGElement); return NS_OK; }
NS_IMETHOD SetBaseVal(const nsAString & aValue) MOZ_OVERRIDE
{ mVal->SetBaseValue(aValue, mSVGElement, true); return NS_OK; }
void GetBaseVal(nsAString & aResult) MOZ_OVERRIDE
{
mVal->GetBaseValue(aResult, mSVGElement);
}
NS_IMETHOD GetAnimVal(nsAString & aResult) MOZ_OVERRIDE
{
void SetBaseVal(const nsAString & aValue) MOZ_OVERRIDE
{
mVal->SetBaseValue(aValue, mSVGElement, true);
}
void GetAnimVal(nsAString & aResult) MOZ_OVERRIDE
{
mSVGElement->FlushAnimations();
mVal->GetAnimValue(aResult, mSVGElement); return NS_OK;
mVal->GetAnimValue(aResult, mSVGElement);
}
};

View File

@ -191,7 +191,6 @@
#include "nsIDOMSVGAnimatedEnum.h"
#include "nsIDOMSVGAnimatedInteger.h"
#include "nsIDOMSVGAnimatedNumber.h"
#include "nsIDOMSVGAnimatedString.h"
#include "nsIDOMSVGLength.h"
#include "nsIDOMSVGNumber.h"
@ -618,8 +617,6 @@ static nsDOMClassInfoData sClassInfoData[] = {
DOM_DEFAULT_SCRIPTABLE_FLAGS)
NS_DEFINE_CLASSINFO_DATA(SVGAnimatedNumber, nsDOMGenericSH,
DOM_DEFAULT_SCRIPTABLE_FLAGS)
NS_DEFINE_CLASSINFO_DATA(SVGAnimatedString, nsDOMGenericSH,
DOM_DEFAULT_SCRIPTABLE_FLAGS)
NS_DEFINE_CLASSINFO_DATA(SVGLength, nsDOMGenericSH,
DOM_DEFAULT_SCRIPTABLE_FLAGS)
NS_DEFINE_CLASSINFO_DATA(SVGNumber, nsDOMGenericSH,
@ -1639,10 +1636,6 @@ nsDOMClassInfo::Init()
DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGAnimatedNumber)
DOM_CLASSINFO_MAP_END
DOM_CLASSINFO_MAP_BEGIN(SVGAnimatedString, nsIDOMSVGAnimatedString)
DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGAnimatedString)
DOM_CLASSINFO_MAP_END
DOM_CLASSINFO_MAP_BEGIN(SVGLength, nsIDOMSVGLength)
DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGLength)
DOM_CLASSINFO_MAP_END

View File

@ -87,7 +87,6 @@ DOMCI_CLASS(CSSSupportsRule)
DOMCI_CLASS(SVGAnimatedEnumeration)
DOMCI_CLASS(SVGAnimatedInteger)
DOMCI_CLASS(SVGAnimatedNumber)
DOMCI_CLASS(SVGAnimatedString)
DOMCI_CLASS(SVGLength)
DOMCI_CLASS(SVGNumber)

View File

@ -1657,7 +1657,6 @@ addExternalIface('Selection', nativeType='nsISelection')
addExternalIface('StyleSheetList')
addExternalIface('SVGAnimatedEnumeration', headerFile='nsIDOMSVGAnimatedEnum.h')
addExternalIface('SVGAnimatedNumber')
addExternalIface('SVGAnimatedString')
addExternalIface('SVGLength')
addExternalIface('SVGNumber')
addExternalIface('TouchList', headerFile='nsIDOMTouchEvent.h')

View File

@ -9,7 +9,6 @@ XPIDL_SOURCES += [
'nsIDOMSVGAnimatedInteger.idl',
'nsIDOMSVGAnimatedLength.idl',
'nsIDOMSVGAnimatedNumber.idl',
'nsIDOMSVGAnimatedString.idl',
'nsIDOMSVGElement.idl',
'nsIDOMSVGLength.idl',
'nsIDOMSVGNumber.idl',

View File

@ -1,15 +0,0 @@
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "domstubs.idl"
[scriptable, uuid(36f18f12-61a9-4529-8fa9-30050bd6ac00)]
interface nsIDOMSVGAnimatedString
: nsISupports
{
attribute DOMString baseVal;
// raises DOMException on setting
readonly attribute DOMString animVal;
};

View File

@ -5,7 +5,6 @@
#include "nsIDOMElement.idl"
interface nsIDOMSVGAnimatedString;
interface nsIDOMCSSStyleDeclaration;
interface nsIDOMCSSValue;
@ -18,7 +17,7 @@ interface nsIDOMSVGElement : nsIDOMElement
readonly attribute nsIDOMSVGElement ownerSVGElement;
readonly attribute nsIDOMSVGElement viewportElement;
readonly attribute nsIDOMSVGAnimatedString className;
readonly attribute nsISupports className;
readonly attribute nsIDOMCSSStyleDeclaration style;
// Not implemented

View File

@ -10,8 +10,6 @@
* liability, trademark and document use rules apply.
*/
interface SVGAnimatedString;
interface SVGAElement : SVGGraphicsElement {
readonly attribute SVGAnimatedString target;

View File

@ -0,0 +1,16 @@
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/.
*
* The origin of this IDL file is
* http://www.w3.org/TR/SVG2/
*
* Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
* liability, trademark and document use rules apply.
*/
interface SVGAnimatedString {
attribute DOMString baseVal;
readonly attribute DOMString animVal;
};

View File

@ -10,8 +10,6 @@
* liability, trademark and document use rules apply.
*/
interface SVGAnimatedString;
interface SVGElement : Element {
attribute DOMString id;
/* [SetterThrows]

View File

@ -11,7 +11,6 @@
*/
interface SVGAnimatedEnumeration;
interface SVGAnimatedString;
interface SVGFEBlendElement : SVGElement {

View File

@ -11,7 +11,6 @@
*/
interface SVGAnimatedEnumeration;
interface SVGAnimatedString;
interface SVGFEColorMatrixElement : SVGElement {

View File

@ -10,8 +10,6 @@
* liability, trademark and document use rules apply.
*/
interface SVGAnimatedString;
interface SVGFEComponentTransferElement : SVGElement {
readonly attribute SVGAnimatedString in1;
};

View File

@ -12,7 +12,6 @@
interface SVGAnimatedEnumeration;
interface SVGAnimatedNumber;
interface SVGAnimatedString;
interface SVGFECompositeElement : SVGElement {

View File

@ -12,7 +12,6 @@
interface SVGAnimatedEnumeration;
interface SVGAnimatedNumber;
interface SVGAnimatedString;
interface SVGFEConvolveMatrixElement : SVGElement {

View File

@ -11,7 +11,6 @@
*/
interface SVGAnimatedNumber;
interface SVGAnimatedString;
interface SVGFEDiffuseLightingElement : SVGElement {
readonly attribute SVGAnimatedString in1;

View File

@ -12,7 +12,6 @@
interface SVGAnimatedEnumeration;
interface SVGAnimatedNumber;
interface SVGAnimatedString;
interface SVGFEDisplacementMapElement : SVGElement {

View File

@ -11,7 +11,6 @@
*/
interface SVGAnimatedNumber;
interface SVGAnimatedString;
interface SVGFEGaussianBlurElement : SVGElement {
readonly attribute SVGAnimatedString in1;

View File

@ -10,8 +10,6 @@
* liability, trademark and document use rules apply.
*/
interface SVGAnimatedString;
interface SVGFEMergeNodeElement : SVGElement {
readonly attribute SVGAnimatedString in1;
};

View File

@ -12,7 +12,6 @@
interface SVGAnimatedEnumeration;
interface SVGAnimatedNumber;
interface SVGAnimatedString;
interface SVGFEMorphologyElement : SVGElement {

View File

@ -11,7 +11,6 @@
*/
interface SVGAnimatedNumber;
interface SVGAnimatedString;
interface SVGFEOffsetElement : SVGElement {
readonly attribute SVGAnimatedString in1;

View File

@ -11,7 +11,6 @@
*/
interface SVGAnimatedNumber;
interface SVGAnimatedString;
interface SVGFESpecularLightingElement : SVGElement {
readonly attribute SVGAnimatedString in1;

View File

@ -10,8 +10,6 @@
* liability, trademark and document use rules apply.
*/
interface SVGAnimatedString;
interface SVGFETileElement : SVGElement {
readonly attribute SVGAnimatedString in1;
};

View File

@ -13,7 +13,6 @@
interface SVGAnimatedEnumeration;
interface SVGAnimatedInteger;
interface SVGAnimatedNumber;
interface SVGAnimatedString;
interface SVGFETurbulenceElement : SVGElement {

View File

@ -10,8 +10,6 @@
* liability, trademark and document use rules apply.
*/
interface SVGAnimatedString;
[NoInterfaceObject]
interface SVGFilterPrimitiveStandardAttributes {
readonly attribute SVGAnimatedLength x;

View File

@ -10,7 +10,6 @@
* liability, trademark and document use rules apply.
*/
interface SVGAnimatedString;
interface SVGViewSpec;
interface SVGSVGElement : SVGGraphicsElement {

View File

@ -10,8 +10,6 @@
* liability, trademark and document use rules apply.
*/
interface SVGAnimatedString;
[NoInterfaceObject]
interface SVGURIReference {
readonly attribute SVGAnimatedString href;

View File

@ -231,6 +231,7 @@ webidl_files = \
SVGAnimatedPoints.webidl \
SVGAnimatedPreserveAspectRatio.webidl \
SVGAnimatedRect.webidl \
SVGAnimatedString.webidl \
SVGAnimatedTransformList.webidl \
SVGAnimateElement.webidl \
SVGAnimateMotionElement.webidl \