Bug 855597: Rename DOMSVGTransform to SVGTransform r=jwatt

--HG--
rename : content/svg/content/src/DOMSVGTransform.cpp => content/svg/content/src/SVGTransform.cpp
rename : content/svg/content/src/DOMSVGTransform.h => content/svg/content/src/SVGTransform.h
This commit is contained in:
David Zbarsky 2013-04-02 15:17:41 -04:00
Родитель 8a8c63d72c
Коммит b516c059a7
12 изменённых файлов: 126 добавлений и 122 удалений

Просмотреть файл

@ -4,7 +4,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "DOMSVGTransformList.h"
#include "DOMSVGTransform.h"
#include "mozilla/dom/SVGTransform.h"
#include "mozilla/dom/SVGMatrix.h"
#include "SVGAnimatedTransformList.h"
#include "nsSVGElement.h"
@ -17,7 +17,7 @@
namespace {
void UpdateListIndicesFromIndex(
FallibleTArray<mozilla::DOMSVGTransform*>& aItemsArray,
FallibleTArray<mozilla::dom::SVGTransform*>& aItemsArray,
uint32_t aStartingIndex)
{
uint32_t length = aItemsArray.Length();
@ -33,6 +33,8 @@ void UpdateListIndicesFromIndex(
namespace mozilla {
using namespace dom;
// We could use NS_IMPL_CYCLE_COLLECTION_1, except that in Unlink() we need to
// clear our DOMSVGAnimatedTransformList's weak ref to us to be safe. (The other
// option would be to not unlink and rely on the breaking of the other edges in
@ -78,10 +80,10 @@ DOMSVGTransformList::InternalListLengthWillChange(uint32_t aNewLength)
{
uint32_t oldLength = mItems.Length();
if (aNewLength > DOMSVGTransform::MaxListIndex()) {
if (aNewLength > SVGTransform::MaxListIndex()) {
// It's safe to get out of sync with our internal list as long as we have
// FEWER items than it does.
aNewLength = DOMSVGTransform::MaxListIndex();
aNewLength = SVGTransform::MaxListIndex();
}
nsRefPtr<DOMSVGTransformList> kungFuDeathGrip;
@ -145,8 +147,8 @@ DOMSVGTransformList::Clear(ErrorResult& error)
}
}
already_AddRefed<DOMSVGTransform>
DOMSVGTransformList::Initialize(DOMSVGTransform& newItem, ErrorResult& error)
already_AddRefed<SVGTransform>
DOMSVGTransformList::Initialize(SVGTransform& newItem, ErrorResult& error)
{
if (IsAnimValList()) {
error.Throw(NS_ERROR_DOM_NO_MODIFICATION_ALLOWED_ERR);
@ -161,7 +163,7 @@ DOMSVGTransformList::Initialize(DOMSVGTransform& newItem, ErrorResult& error)
// clone of newItem, it would actually insert newItem. To prevent that from
// happening we have to do the clone here, if necessary.
nsRefPtr<DOMSVGTransform> domItem = &newItem;
nsRefPtr<SVGTransform> domItem = &newItem;
if (domItem->HasOwner()) {
domItem = newItem.Clone();
}
@ -171,7 +173,7 @@ DOMSVGTransformList::Initialize(DOMSVGTransform& newItem, ErrorResult& error)
return InsertItemBefore(*domItem, 0, error);
}
DOMSVGTransform*
SVGTransform*
DOMSVGTransformList::IndexedGetter(uint32_t index, bool& found,
ErrorResult& error)
{
@ -186,8 +188,8 @@ DOMSVGTransformList::IndexedGetter(uint32_t index, bool& found,
return nullptr;
}
already_AddRefed<DOMSVGTransform>
DOMSVGTransformList::InsertItemBefore(DOMSVGTransform& newItem,
already_AddRefed<SVGTransform>
DOMSVGTransformList::InsertItemBefore(SVGTransform& newItem,
uint32_t index, ErrorResult& error)
{
if (IsAnimValList()) {
@ -196,12 +198,12 @@ DOMSVGTransformList::InsertItemBefore(DOMSVGTransform& newItem,
}
index = std::min(index, LengthNoFlush());
if (index >= DOMSVGTransform::MaxListIndex()) {
if (index >= SVGTransform::MaxListIndex()) {
error.Throw(NS_ERROR_DOM_INDEX_SIZE_ERR);
return nullptr;
}
nsRefPtr<DOMSVGTransform> domItem = &newItem;
nsRefPtr<SVGTransform> domItem = &newItem;
if (newItem.HasOwner()) {
domItem = newItem.Clone(); // must do this before changing anything!
}
@ -234,8 +236,8 @@ DOMSVGTransformList::InsertItemBefore(DOMSVGTransform& newItem,
return domItem.forget();
}
already_AddRefed<DOMSVGTransform>
DOMSVGTransformList::ReplaceItem(DOMSVGTransform& newItem,
already_AddRefed<SVGTransform>
DOMSVGTransformList::ReplaceItem(SVGTransform& newItem,
uint32_t index, ErrorResult& error)
{
if (IsAnimValList()) {
@ -248,7 +250,7 @@ DOMSVGTransformList::ReplaceItem(DOMSVGTransform& newItem,
return nullptr;
}
nsRefPtr<DOMSVGTransform> domItem = &newItem;
nsRefPtr<SVGTransform> domItem = &newItem;
if (newItem.HasOwner()) {
domItem = newItem.Clone(); // must do this before changing anything!
}
@ -274,7 +276,7 @@ DOMSVGTransformList::ReplaceItem(DOMSVGTransform& newItem,
return domItem.forget();
}
already_AddRefed<DOMSVGTransform>
already_AddRefed<SVGTransform>
DOMSVGTransformList::RemoveItem(uint32_t index, ErrorResult& error)
{
if (IsAnimValList()) {
@ -299,7 +301,7 @@ DOMSVGTransformList::RemoveItem(uint32_t index, ErrorResult& error)
// Notify the DOM item of removal *before* modifying the lists so that the
// DOM item can copy its *old* value:
mItems[index]->RemovingFromList();
nsRefPtr<DOMSVGTransform> result = mItems[index];
nsRefPtr<SVGTransform> result = mItems[index];
InternalList().RemoveItem(index);
mItems.RemoveElementAt(index);
@ -313,14 +315,14 @@ DOMSVGTransformList::RemoveItem(uint32_t index, ErrorResult& error)
return result.forget();
}
already_AddRefed<DOMSVGTransform>
already_AddRefed<SVGTransform>
DOMSVGTransformList::CreateSVGTransformFromMatrix(dom::SVGMatrix& matrix)
{
nsRefPtr<DOMSVGTransform> result = new DOMSVGTransform(matrix.Matrix());
nsRefPtr<SVGTransform> result = new SVGTransform(matrix.Matrix());
return result.forget();
}
already_AddRefed<DOMSVGTransform>
already_AddRefed<SVGTransform>
DOMSVGTransformList::Consolidate(ErrorResult& error)
{
if (IsAnimValList()) {
@ -345,7 +347,7 @@ DOMSVGTransformList::Consolidate(ErrorResult& error)
MOZ_ASSERT(!error.Failed(), "How could this fail?");
// And append the new transform
nsRefPtr<DOMSVGTransform> transform = new DOMSVGTransform(mx);
nsRefPtr<SVGTransform> transform = new SVGTransform(mx);
return InsertItemBefore(*transform, LengthNoFlush(), error);
}
@ -356,7 +358,7 @@ void
DOMSVGTransformList::EnsureItemAt(uint32_t aIndex)
{
if (!mItems[aIndex]) {
mItems[aIndex] = new DOMSVGTransform(this, aIndex, IsAnimValList());
mItems[aIndex] = new SVGTransform(this, aIndex, IsAnimValList());
}
}
@ -376,7 +378,7 @@ DOMSVGTransformList::MaybeInsertNullInAnimValListAt(uint32_t aIndex)
"animVal list not in sync!");
animVal->mItems.InsertElementAt(aIndex,
static_cast<DOMSVGTransform*>(nullptr));
static_cast<SVGTransform*>(nullptr));
UpdateListIndicesFromIndex(animVal->mItems, aIndex + 1);
}

Просмотреть файл

@ -16,17 +16,15 @@
#include "mozilla/Attributes.h"
#include "mozilla/ErrorResult.h"
class nsIDOMSVGTransform;
class nsSVGElement;
namespace mozilla {
namespace dom {
class SVGMatrix;
class SVGTransform;
}
class DOMSVGTransform;
/**
* Class DOMSVGTransformList
*
@ -38,7 +36,7 @@ class DOMSVGTransform;
class DOMSVGTransformList MOZ_FINAL : public nsISupports,
public nsWrapperCache
{
friend class DOMSVGTransform;
friend class dom::SVGTransform;
public:
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
@ -96,34 +94,34 @@ public:
return LengthNoFlush();
}
void Clear(ErrorResult& error);
already_AddRefed<DOMSVGTransform> Initialize(DOMSVGTransform& newItem,
ErrorResult& error);
DOMSVGTransform* GetItem(uint32_t index, ErrorResult& error)
already_AddRefed<dom::SVGTransform> Initialize(dom::SVGTransform& newItem,
ErrorResult& error);
dom::SVGTransform* GetItem(uint32_t index, ErrorResult& error)
{
bool found;
DOMSVGTransform* item = IndexedGetter(index, found, error);
dom::SVGTransform* item = IndexedGetter(index, found, error);
if (!found) {
error.Throw(NS_ERROR_DOM_INDEX_SIZE_ERR);
}
return item;
}
DOMSVGTransform* IndexedGetter(uint32_t index, bool& found,
ErrorResult& error);
already_AddRefed<DOMSVGTransform> InsertItemBefore(DOMSVGTransform& newItem,
uint32_t index,
ErrorResult& error);
already_AddRefed<DOMSVGTransform> ReplaceItem(DOMSVGTransform& newItem,
uint32_t index,
ErrorResult& error);
already_AddRefed<DOMSVGTransform> RemoveItem(uint32_t index,
ErrorResult& error);
already_AddRefed<DOMSVGTransform> AppendItem(DOMSVGTransform& newItem,
ErrorResult& error)
dom::SVGTransform* IndexedGetter(uint32_t index, bool& found,
ErrorResult& error);
already_AddRefed<dom::SVGTransform> InsertItemBefore(dom::SVGTransform& newItem,
uint32_t index,
ErrorResult& error);
already_AddRefed<dom::SVGTransform> ReplaceItem(dom::SVGTransform& newItem,
uint32_t index,
ErrorResult& error);
already_AddRefed<dom::SVGTransform> RemoveItem(uint32_t index,
ErrorResult& error);
already_AddRefed<dom::SVGTransform> AppendItem(dom::SVGTransform& newItem,
ErrorResult& error)
{
return InsertItemBefore(newItem, LengthNoFlush(), error);
}
already_AddRefed<DOMSVGTransform> CreateSVGTransformFromMatrix(dom::SVGMatrix& matrix);
already_AddRefed<DOMSVGTransform> Consolidate(ErrorResult& error);
already_AddRefed<dom::SVGTransform> CreateSVGTransformFromMatrix(dom::SVGMatrix& matrix);
already_AddRefed<dom::SVGTransform> Consolidate(ErrorResult& error);
uint32_t Length() const
{
return NumberOfItems();
@ -152,15 +150,15 @@ private:
*/
SVGTransformList& InternalList() const;
/// Creates a DOMSVGTransform for aIndex, if it doesn't already exist.
/// Creates a SVGTransform for aIndex, if it doesn't already exist.
void EnsureItemAt(uint32_t aIndex);
void MaybeInsertNullInAnimValListAt(uint32_t aIndex);
void MaybeRemoveItemFromAnimValListAt(uint32_t aIndex);
// Weak refs to our DOMSVGTransform items. The items are friends and take care
// Weak refs to our SVGTransform items. The items are friends and take care
// of clearing our pointer to them when they die.
FallibleTArray<DOMSVGTransform*> mItems;
FallibleTArray<dom::SVGTransform*> mItems;
nsRefPtr<DOMSVGAnimatedTransformList> mAList;
};

Просмотреть файл

@ -29,7 +29,6 @@ CPPSRCS = \
DOMSVGPoint.cpp \
DOMSVGPointList.cpp \
DOMSVGStringList.cpp \
DOMSVGTransform.cpp \
DOMSVGTransformList.cpp \
nsDOMSVGZoomEvent.cpp \
nsISVGPoint.cpp \
@ -147,6 +146,7 @@ CPPSRCS = \
SVGTextPathElement.cpp \
SVGTextPositioningElement.cpp \
SVGTitleElement.cpp \
SVGTransform.cpp \
SVGTransformableElement.cpp \
SVGTransformList.cpp \
SVGTransformListParser.cpp \
@ -241,6 +241,7 @@ EXPORTS_mozilla/dom = \
SVGTextPathElement.h \
SVGTextPositioningElement.h \
SVGTitleElement.h \
SVGTransform.h \
SVGTransformableElement.h \
SVGTSpanElement.h \
SVGUseElement.h \

Просмотреть файл

@ -19,6 +19,7 @@ namespace mozilla {
namespace dom {
class SVGAnimationElement;
class SVGTransform;
}
/**
@ -38,7 +39,7 @@ class SVGAnimationElement;
class SVGAnimatedTransformList
{
// friends so that they can get write access to mBaseVal
friend class DOMSVGTransform;
friend class dom::SVGTransform;
friend class DOMSVGTransformList;
public:

Просмотреть файл

@ -20,7 +20,7 @@ NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE_1(SVGMatrix, mTransform)
NS_IMPL_CYCLE_COLLECTION_ROOT_NATIVE(SVGMatrix, AddRef)
NS_IMPL_CYCLE_COLLECTION_UNROOT_NATIVE(SVGMatrix, Release)
DOMSVGTransform*
SVGTransform*
SVGMatrix::GetParentObject() const
{
return mTransform;

Просмотреть файл

@ -37,7 +37,7 @@
#ifndef mozilla_dom_SVGMatrix_h
#define mozilla_dom_SVGMatrix_h
#include "DOMSVGTransform.h"
#include "mozilla/dom/SVGTransform.h"
#include "gfxMatrix.h"
#include "nsAutoPtr.h"
#include "nsCycleCollectionParticipant.h"
@ -57,14 +57,14 @@ public:
NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_NATIVE_CLASS(SVGMatrix)
/**
* Ctor for SVGMatrix objects that belong to a DOMSVGTransform.
* Ctor for SVGMatrix objects that belong to a SVGTransform.
*/
SVGMatrix(DOMSVGTransform& aTransform) : mTransform(&aTransform) {
SVGMatrix(SVGTransform& aTransform) : mTransform(&aTransform) {
SetIsDOMBinding();
}
/**
* Ctors for SVGMatrix objects created independently of a DOMSVGTransform.
* Ctors for SVGMatrix objects created independently of a SVGTransform.
*/
// Default ctor for gfxMatrix will produce identity mx
SVGMatrix() {
@ -80,7 +80,7 @@ public:
}
// WebIDL
DOMSVGTransform* GetParentObject() const;
SVGTransform* GetParentObject() const;
virtual JSObject* WrapObject(JSContext* aCx, JSObject* aScope) MOZ_OVERRIDE;
float A() const { return static_cast<float>(Matrix().xx); }
@ -123,7 +123,7 @@ private:
return mTransform ? mTransform->IsAnimVal() : false;
}
nsRefPtr<DOMSVGTransform> mTransform;
nsRefPtr<SVGTransform> mTransform;
// Typically we operate on the matrix data accessed via mTransform but for
// matrices that exist independently of an SVGTransform we use mMatrix below.

Просмотреть файл

@ -416,17 +416,17 @@ SVGSVGElement::CreateSVGRect()
return rect.forget();
}
already_AddRefed<DOMSVGTransform>
already_AddRefed<SVGTransform>
SVGSVGElement::CreateSVGTransform()
{
nsRefPtr<DOMSVGTransform> transform = new DOMSVGTransform();
nsRefPtr<SVGTransform> transform = new SVGTransform();
return transform.forget();
}
already_AddRefed<DOMSVGTransform>
already_AddRefed<SVGTransform>
SVGSVGElement::CreateSVGTransformFromMatrix(SVGMatrix& matrix)
{
nsRefPtr<DOMSVGTransform> transform = new DOMSVGTransform(matrix.Matrix());
nsRefPtr<SVGTransform> transform = new SVGTransform(matrix.Matrix());
return transform.forget();
}

Просмотреть файл

@ -29,13 +29,13 @@ class nsSVGImageFrame;
namespace mozilla {
class DOMSVGAnimatedPreserveAspectRatio;
class DOMSVGTransform;
class SVGFragmentIdentifier;
class AutoSVGRenderingState;
namespace dom {
class SVGAngle;
class SVGMatrix;
class SVGTransform;
class SVGViewElement;
class SVGIRect;
@ -241,8 +241,8 @@ public:
already_AddRefed<nsISVGPoint> CreateSVGPoint();
already_AddRefed<SVGMatrix> CreateSVGMatrix();
already_AddRefed<SVGIRect> CreateSVGRect();
already_AddRefed<DOMSVGTransform> CreateSVGTransform();
already_AddRefed<DOMSVGTransform> CreateSVGTransformFromMatrix(SVGMatrix& matrix);
already_AddRefed<SVGTransform> CreateSVGTransform();
already_AddRefed<SVGTransform> CreateSVGTransformFromMatrix(SVGMatrix& matrix);
Element* GetElementById(const nsAString& elementId, ErrorResult& rv);
already_AddRefed<nsIDOMSVGAnimatedRect> ViewBox();
already_AddRefed<DOMSVGAnimatedPreserveAspectRatio> PreserveAspectRatio();

Просмотреть файл

@ -4,7 +4,7 @@
* 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 "DOMSVGTransform.h"
#include "mozilla/dom/SVGTransform.h"
#include "mozilla/dom/SVGMatrix.h"
#include "SVGAnimatedTransformList.h"
#include "nsError.h"
@ -14,10 +14,9 @@
#include "mozilla/dom/SVGTransformBinding.h"
namespace mozilla {
namespace dom {
using namespace dom;
static nsSVGAttrTearoffTable<DOMSVGTransform, SVGMatrix> sSVGMatrixTearoffTable;
static nsSVGAttrTearoffTable<SVGTransform, SVGMatrix> sSVGMatrixTearoffTable;
//----------------------------------------------------------------------
@ -25,7 +24,7 @@ static nsSVGAttrTearoffTable<DOMSVGTransform, SVGMatrix> sSVGMatrixTearoffTable;
// clear our list's weak ref to us to be safe. (The other option would be to
// not unlink and rely on the breaking of the other edges in the cycle, as
// NS_SVG_VAL_IMPL_CYCLE_COLLECTION does.)
NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(DOMSVGTransform)
NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(SVGTransform)
// We may not belong to a list, so we must null check tmp->mList.
if (tmp->mList) {
tmp->mList->mItems[tmp->mListIndex] = nullptr;
@ -34,7 +33,7 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK(mList)
NS_IMPL_CYCLE_COLLECTION_UNLINK_PRESERVED_WRAPPER
NS_IMPL_CYCLE_COLLECTION_UNLINK_END
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(DOMSVGTransform)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(SVGTransform)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mList)
SVGMatrix* matrix =
sSVGMatrixTearoffTable.GetTearoff(tmp);
@ -42,21 +41,21 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mList)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_SCRIPT_OBJECTS
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
NS_IMPL_CYCLE_COLLECTION_ROOT_NATIVE(DOMSVGTransform, AddRef)
NS_IMPL_CYCLE_COLLECTION_UNROOT_NATIVE(DOMSVGTransform, Release)
NS_IMPL_CYCLE_COLLECTION_ROOT_NATIVE(SVGTransform, AddRef)
NS_IMPL_CYCLE_COLLECTION_UNROOT_NATIVE(SVGTransform, Release)
JSObject*
DOMSVGTransform::WrapObject(JSContext* aCx, JSObject* aScope)
SVGTransform::WrapObject(JSContext* aCx, JSObject* aScope)
{
return mozilla::dom::SVGTransformBinding::Wrap(aCx, aScope, this);
return SVGTransformBinding::Wrap(aCx, aScope, this);
}
//----------------------------------------------------------------------
// Ctors:
DOMSVGTransform::DOMSVGTransform(DOMSVGTransformList *aList,
uint32_t aListIndex,
bool aIsAnimValItem)
SVGTransform::SVGTransform(DOMSVGTransformList *aList,
uint32_t aListIndex,
bool aIsAnimValItem)
: mList(aList)
, mListIndex(aListIndex)
, mIsAnimValItem(aIsAnimValItem)
@ -70,7 +69,7 @@ DOMSVGTransform::DOMSVGTransform(DOMSVGTransformList *aList,
NS_ABORT_IF_FALSE(IndexIsValid(), "Bad index for DOMSVGNumber!");
}
DOMSVGTransform::DOMSVGTransform()
SVGTransform::SVGTransform()
: mList(nullptr)
, mListIndex(0)
, mIsAnimValItem(false)
@ -81,7 +80,7 @@ DOMSVGTransform::DOMSVGTransform()
SetIsDOMBinding();
}
DOMSVGTransform::DOMSVGTransform(const gfxMatrix &aMatrix)
SVGTransform::SVGTransform(const gfxMatrix &aMatrix)
: mList(nullptr)
, mListIndex(0)
, mIsAnimValItem(false)
@ -90,7 +89,7 @@ DOMSVGTransform::DOMSVGTransform(const gfxMatrix &aMatrix)
SetIsDOMBinding();
}
DOMSVGTransform::DOMSVGTransform(const nsSVGTransform &aTransform)
SVGTransform::SVGTransform(const nsSVGTransform &aTransform)
: mList(nullptr)
, mListIndex(0)
, mIsAnimValItem(false)
@ -99,7 +98,7 @@ DOMSVGTransform::DOMSVGTransform(const nsSVGTransform &aTransform)
SetIsDOMBinding();
}
DOMSVGTransform::~DOMSVGTransform()
SVGTransform::~SVGTransform()
{
SVGMatrix* matrix = sSVGMatrixTearoffTable.GetTearoff(this);
if (matrix) {
@ -115,13 +114,13 @@ DOMSVGTransform::~DOMSVGTransform()
}
uint16_t
DOMSVGTransform::Type() const
SVGTransform::Type() const
{
return Transform().Type();
}
SVGMatrix*
DOMSVGTransform::Matrix()
SVGTransform::Matrix()
{
SVGMatrix* wrapper =
sSVGMatrixTearoffTable.GetTearoff(this);
@ -133,13 +132,13 @@ DOMSVGTransform::Matrix()
}
float
DOMSVGTransform::Angle() const
SVGTransform::Angle() const
{
return Transform().Angle();
}
void
DOMSVGTransform::SetMatrix(SVGMatrix& aMatrix, ErrorResult& rv)
SVGTransform::SetMatrix(SVGMatrix& aMatrix, ErrorResult& rv)
{
if (mIsAnimValItem) {
rv.Throw(NS_ERROR_DOM_NO_MODIFICATION_ALLOWED_ERR);
@ -149,7 +148,7 @@ DOMSVGTransform::SetMatrix(SVGMatrix& aMatrix, ErrorResult& rv)
}
void
DOMSVGTransform::SetTranslate(float tx, float ty, ErrorResult& rv)
SVGTransform::SetTranslate(float tx, float ty, ErrorResult& rv)
{
if (mIsAnimValItem) {
rv.Throw(NS_ERROR_DOM_NO_MODIFICATION_ALLOWED_ERR);
@ -167,7 +166,7 @@ DOMSVGTransform::SetTranslate(float tx, float ty, ErrorResult& rv)
}
void
DOMSVGTransform::SetScale(float sx, float sy, ErrorResult& rv)
SVGTransform::SetScale(float sx, float sy, ErrorResult& rv)
{
if (mIsAnimValItem) {
rv.Throw(NS_ERROR_DOM_NO_MODIFICATION_ALLOWED_ERR);
@ -184,7 +183,7 @@ DOMSVGTransform::SetScale(float sx, float sy, ErrorResult& rv)
}
void
DOMSVGTransform::SetRotate(float angle, float cx, float cy, ErrorResult& rv)
SVGTransform::SetRotate(float angle, float cx, float cy, ErrorResult& rv)
{
if (mIsAnimValItem) {
rv.Throw(NS_ERROR_DOM_NO_MODIFICATION_ALLOWED_ERR);
@ -205,7 +204,7 @@ DOMSVGTransform::SetRotate(float angle, float cx, float cy, ErrorResult& rv)
}
void
DOMSVGTransform::SetSkewX(float angle, ErrorResult& rv)
SVGTransform::SetSkewX(float angle, ErrorResult& rv)
{
if (mIsAnimValItem) {
rv.Throw(NS_ERROR_DOM_NO_MODIFICATION_ALLOWED_ERR);
@ -227,7 +226,7 @@ DOMSVGTransform::SetSkewX(float angle, ErrorResult& rv)
}
void
DOMSVGTransform::SetSkewY(float angle, ErrorResult& rv)
SVGTransform::SetSkewY(float angle, ErrorResult& rv)
{
if (mIsAnimValItem) {
rv.Throw(NS_ERROR_DOM_NO_MODIFICATION_ALLOWED_ERR);
@ -252,9 +251,9 @@ DOMSVGTransform::SetSkewY(float angle, ErrorResult& rv)
// List management methods:
void
DOMSVGTransform::InsertingIntoList(DOMSVGTransformList *aList,
uint32_t aListIndex,
bool aIsAnimValItem)
SVGTransform::InsertingIntoList(DOMSVGTransformList *aList,
uint32_t aListIndex,
bool aIsAnimValItem)
{
NS_ABORT_IF_FALSE(!HasOwner(), "Inserting item that is already in a list");
@ -267,7 +266,7 @@ DOMSVGTransform::InsertingIntoList(DOMSVGTransformList *aList,
}
void
DOMSVGTransform::RemovingFromList()
SVGTransform::RemovingFromList()
{
NS_ABORT_IF_FALSE(!mTransform,
"Item in list also has another non-list value associated with it");
@ -278,7 +277,7 @@ DOMSVGTransform::RemovingFromList()
}
nsSVGTransform&
DOMSVGTransform::InternalItem()
SVGTransform::InternalItem()
{
SVGAnimatedTransformList *alist = Element()->GetAnimatedTransformList();
return mIsAnimValItem && alist->mAnimVal ?
@ -287,14 +286,14 @@ DOMSVGTransform::InternalItem()
}
const nsSVGTransform&
DOMSVGTransform::InternalItem() const
SVGTransform::InternalItem() const
{
return const_cast<DOMSVGTransform *>(this)->InternalItem();
return const_cast<SVGTransform*>(this)->InternalItem();
}
#ifdef DEBUG
bool
DOMSVGTransform::IndexIsValid()
SVGTransform::IndexIsValid()
{
SVGAnimatedTransformList *alist = Element()->GetAnimatedTransformList();
return (mIsAnimValItem &&
@ -309,7 +308,7 @@ DOMSVGTransform::IndexIsValid()
// Interface for SVGMatrix's use
void
DOMSVGTransform::SetMatrix(const gfxMatrix& aMatrix)
SVGTransform::SetMatrix(const gfxMatrix& aMatrix)
{
NS_ABORT_IF_FALSE(!mIsAnimValItem,
"Attempting to modify read-only transform");
@ -328,7 +327,7 @@ DOMSVGTransform::SetMatrix(const gfxMatrix& aMatrix)
// Implementation helpers
void
DOMSVGTransform::NotifyElementDidChange(const nsAttrValue& aEmptyOrOldValue)
SVGTransform::NotifyElementDidChange(const nsAttrValue& aEmptyOrOldValue)
{
if (HasOwner()) {
Element()->DidChangeTransformList(aEmptyOrOldValue);
@ -338,4 +337,5 @@ DOMSVGTransform::NotifyElementDidChange(const nsAttrValue& aEmptyOrOldValue)
}
}
} // namespace dom
} // namespace mozilla

Просмотреть файл

@ -4,8 +4,8 @@
* 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_DOMSVGTRANSFORM_H__
#define MOZILLA_DOMSVGTRANSFORM_H__
#ifndef mozilla_dom_SVGTransform_h
#define mozilla_dom_SVGTransform_h
#include "DOMSVGTransformList.h"
#include "nsAutoPtr.h"
@ -23,26 +23,25 @@ struct gfxMatrix;
#define MOZ_SVG_LIST_INDEX_BIT_COUNT 31 // supports > 2 billion list items
namespace mozilla {
namespace dom {
class SVGMatrix;
}
/**
* DOM wrapper for an SVG transform. See DOMSVGLength.h.
*/
class DOMSVGTransform MOZ_FINAL : public nsWrapperCache
class SVGTransform MOZ_FINAL : public nsWrapperCache
{
public:
NS_INLINE_DECL_CYCLE_COLLECTING_NATIVE_REFCOUNTING(DOMSVGTransform)
NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_NATIVE_CLASS(DOMSVGTransform)
NS_INLINE_DECL_CYCLE_COLLECTING_NATIVE_REFCOUNTING(SVGTransform)
NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_NATIVE_CLASS(SVGTransform)
/**
* Generic ctor for DOMSVGTransform objects that are created for an attribute.
* Generic ctor for SVGTransform objects that are created for an attribute.
*/
DOMSVGTransform(DOMSVGTransformList *aList,
uint32_t aListIndex,
bool aIsAnimValItem);
SVGTransform(DOMSVGTransformList *aList,
uint32_t aListIndex,
bool aIsAnimValItem);
/**
* Ctors for creating the objects returned by:
@ -51,23 +50,23 @@ public:
* SVGTransformList.createSVGTransformFromMatrix(in SVGMatrix matrix)
* which do not initially belong to an attribute.
*/
explicit DOMSVGTransform();
explicit DOMSVGTransform(const gfxMatrix &aMatrix);
explicit SVGTransform();
explicit SVGTransform(const gfxMatrix &aMatrix);
/**
* Ctor for creating an unowned copy. Used with Clone().
*/
explicit DOMSVGTransform(const nsSVGTransform &aMatrix);
explicit SVGTransform(const nsSVGTransform &aMatrix);
~DOMSVGTransform();
~SVGTransform();
/**
* Create an unowned copy of an owned transform. The caller is responsible for
* the first AddRef().
*/
DOMSVGTransform* Clone() {
SVGTransform* Clone() {
NS_ASSERTION(mList, "unexpected caller");
return new DOMSVGTransform(InternalItem());
return new SVGTransform(InternalItem());
}
bool IsInList() const {
@ -184,7 +183,7 @@ private:
};
nsAttrValue
DOMSVGTransform::NotifyElementWillChange()
SVGTransform::NotifyElementWillChange()
{
nsAttrValue result;
if (HasOwner()) {
@ -193,8 +192,9 @@ DOMSVGTransform::NotifyElementWillChange()
return result;
}
} // namespace dom
} // namespace mozilla
#undef MOZ_SVG_LIST_INDEX_BIT_COUNT
#endif // MOZILLA_DOMSVGTRANSFORM_H__
#endif // mozilla_dom_SVGTransform_h

Просмотреть файл

@ -14,6 +14,10 @@
namespace mozilla {
namespace dom {
class SVGTransform;
}
/**
* ATTENTION! WARNING! WATCH OUT!!
*
@ -27,7 +31,7 @@ class SVGTransformList
{
friend class SVGAnimatedTransformList;
friend class DOMSVGTransformList;
friend class DOMSVGTransform;
friend class dom::SVGTransform;
public:
SVGTransformList() {}

Просмотреть файл

@ -907,8 +907,6 @@ DOMInterfaces = {
},
'SVGTransform': {
'nativeType': 'mozilla::DOMSVGTransform',
'headerFile': 'DOMSVGTransform.h',
'nativeOwnership': 'refcounted',
'resultNotAddRefed': [ 'matrix' ]
},