diff --git a/content/svg/content/src/DOMSVGTransformList.cpp b/content/svg/content/src/DOMSVGTransformList.cpp index 9baf4218530b..b5d02df99553 100644 --- a/content/svg/content/src/DOMSVGTransformList.cpp +++ b/content/svg/content/src/DOMSVGTransformList.cpp @@ -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& aItemsArray, + FallibleTArray& 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 kungFuDeathGrip; @@ -145,8 +147,8 @@ DOMSVGTransformList::Clear(ErrorResult& error) } } -already_AddRefed -DOMSVGTransformList::Initialize(DOMSVGTransform& newItem, ErrorResult& error) +already_AddRefed +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 domItem = &newItem; + nsRefPtr 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 -DOMSVGTransformList::InsertItemBefore(DOMSVGTransform& newItem, +already_AddRefed +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 domItem = &newItem; + nsRefPtr 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 -DOMSVGTransformList::ReplaceItem(DOMSVGTransform& newItem, +already_AddRefed +DOMSVGTransformList::ReplaceItem(SVGTransform& newItem, uint32_t index, ErrorResult& error) { if (IsAnimValList()) { @@ -248,7 +250,7 @@ DOMSVGTransformList::ReplaceItem(DOMSVGTransform& newItem, return nullptr; } - nsRefPtr domItem = &newItem; + nsRefPtr 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 +already_AddRefed 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 result = mItems[index]; + nsRefPtr 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 +already_AddRefed DOMSVGTransformList::CreateSVGTransformFromMatrix(dom::SVGMatrix& matrix) { - nsRefPtr result = new DOMSVGTransform(matrix.Matrix()); + nsRefPtr result = new SVGTransform(matrix.Matrix()); return result.forget(); } -already_AddRefed +already_AddRefed 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 transform = new DOMSVGTransform(mx); + nsRefPtr 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(nullptr)); + static_cast(nullptr)); UpdateListIndicesFromIndex(animVal->mItems, aIndex + 1); } diff --git a/content/svg/content/src/DOMSVGTransformList.h b/content/svg/content/src/DOMSVGTransformList.h index 1af4e98f1fad..fa32a80691ba 100644 --- a/content/svg/content/src/DOMSVGTransformList.h +++ b/content/svg/content/src/DOMSVGTransformList.h @@ -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 Initialize(DOMSVGTransform& newItem, - ErrorResult& error); - DOMSVGTransform* GetItem(uint32_t index, ErrorResult& error) + already_AddRefed 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 InsertItemBefore(DOMSVGTransform& newItem, - uint32_t index, - ErrorResult& error); - already_AddRefed ReplaceItem(DOMSVGTransform& newItem, - uint32_t index, - ErrorResult& error); - already_AddRefed RemoveItem(uint32_t index, - ErrorResult& error); - already_AddRefed AppendItem(DOMSVGTransform& newItem, - ErrorResult& error) + dom::SVGTransform* IndexedGetter(uint32_t index, bool& found, + ErrorResult& error); + already_AddRefed InsertItemBefore(dom::SVGTransform& newItem, + uint32_t index, + ErrorResult& error); + already_AddRefed ReplaceItem(dom::SVGTransform& newItem, + uint32_t index, + ErrorResult& error); + already_AddRefed RemoveItem(uint32_t index, + ErrorResult& error); + already_AddRefed AppendItem(dom::SVGTransform& newItem, + ErrorResult& error) { return InsertItemBefore(newItem, LengthNoFlush(), error); } - already_AddRefed CreateSVGTransformFromMatrix(dom::SVGMatrix& matrix); - already_AddRefed Consolidate(ErrorResult& error); + already_AddRefed CreateSVGTransformFromMatrix(dom::SVGMatrix& matrix); + already_AddRefed 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 mItems; + FallibleTArray mItems; nsRefPtr mAList; }; diff --git a/content/svg/content/src/Makefile.in b/content/svg/content/src/Makefile.in index 4f75fec58aa3..f3e00eb3b8e3 100644 --- a/content/svg/content/src/Makefile.in +++ b/content/svg/content/src/Makefile.in @@ -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 \ diff --git a/content/svg/content/src/SVGAnimatedTransformList.h b/content/svg/content/src/SVGAnimatedTransformList.h index 10584961eecf..5116b17caa45 100644 --- a/content/svg/content/src/SVGAnimatedTransformList.h +++ b/content/svg/content/src/SVGAnimatedTransformList.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: diff --git a/content/svg/content/src/SVGMatrix.cpp b/content/svg/content/src/SVGMatrix.cpp index c12aeb017f2b..e53ea6dadab9 100644 --- a/content/svg/content/src/SVGMatrix.cpp +++ b/content/svg/content/src/SVGMatrix.cpp @@ -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; diff --git a/content/svg/content/src/SVGMatrix.h b/content/svg/content/src/SVGMatrix.h index e48d34996392..fd8b5031ac08 100644 --- a/content/svg/content/src/SVGMatrix.h +++ b/content/svg/content/src/SVGMatrix.h @@ -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(Matrix().xx); } @@ -123,7 +123,7 @@ private: return mTransform ? mTransform->IsAnimVal() : false; } - nsRefPtr mTransform; + nsRefPtr mTransform; // Typically we operate on the matrix data accessed via mTransform but for // matrices that exist independently of an SVGTransform we use mMatrix below. diff --git a/content/svg/content/src/SVGSVGElement.cpp b/content/svg/content/src/SVGSVGElement.cpp index 5958e5c75dad..55ce926e6583 100644 --- a/content/svg/content/src/SVGSVGElement.cpp +++ b/content/svg/content/src/SVGSVGElement.cpp @@ -416,17 +416,17 @@ SVGSVGElement::CreateSVGRect() return rect.forget(); } -already_AddRefed +already_AddRefed SVGSVGElement::CreateSVGTransform() { - nsRefPtr transform = new DOMSVGTransform(); + nsRefPtr transform = new SVGTransform(); return transform.forget(); } -already_AddRefed +already_AddRefed SVGSVGElement::CreateSVGTransformFromMatrix(SVGMatrix& matrix) { - nsRefPtr transform = new DOMSVGTransform(matrix.Matrix()); + nsRefPtr transform = new SVGTransform(matrix.Matrix()); return transform.forget(); } diff --git a/content/svg/content/src/SVGSVGElement.h b/content/svg/content/src/SVGSVGElement.h index ccf1ca794939..3e920e489bb5 100644 --- a/content/svg/content/src/SVGSVGElement.h +++ b/content/svg/content/src/SVGSVGElement.h @@ -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 CreateSVGPoint(); already_AddRefed CreateSVGMatrix(); already_AddRefed CreateSVGRect(); - already_AddRefed CreateSVGTransform(); - already_AddRefed CreateSVGTransformFromMatrix(SVGMatrix& matrix); + already_AddRefed CreateSVGTransform(); + already_AddRefed CreateSVGTransformFromMatrix(SVGMatrix& matrix); Element* GetElementById(const nsAString& elementId, ErrorResult& rv); already_AddRefed ViewBox(); already_AddRefed PreserveAspectRatio(); diff --git a/content/svg/content/src/DOMSVGTransform.cpp b/content/svg/content/src/SVGTransform.cpp similarity index 79% rename from content/svg/content/src/DOMSVGTransform.cpp rename to content/svg/content/src/SVGTransform.cpp index 585fd50748d5..b0076042d3f0 100644 --- a/content/svg/content/src/DOMSVGTransform.cpp +++ b/content/svg/content/src/SVGTransform.cpp @@ -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 sSVGMatrixTearoffTable; +static nsSVGAttrTearoffTable sSVGMatrixTearoffTable; //---------------------------------------------------------------------- @@ -25,7 +24,7 @@ static nsSVGAttrTearoffTable 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(this)->InternalItem(); + return const_cast(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 diff --git a/content/svg/content/src/DOMSVGTransform.h b/content/svg/content/src/SVGTransform.h similarity index 86% rename from content/svg/content/src/DOMSVGTransform.h rename to content/svg/content/src/SVGTransform.h index b63d373be45b..f3e6d5903858 100644 --- a/content/svg/content/src/DOMSVGTransform.h +++ b/content/svg/content/src/SVGTransform.h @@ -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 diff --git a/content/svg/content/src/SVGTransformList.h b/content/svg/content/src/SVGTransformList.h index d56945c93499..c7e4eea86cb2 100644 --- a/content/svg/content/src/SVGTransformList.h +++ b/content/svg/content/src/SVGTransformList.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() {} diff --git a/dom/bindings/Bindings.conf b/dom/bindings/Bindings.conf index 787fee472fc0..d8495ff13f71 100644 --- a/dom/bindings/Bindings.conf +++ b/dom/bindings/Bindings.conf @@ -907,8 +907,6 @@ DOMInterfaces = { }, 'SVGTransform': { - 'nativeType': 'mozilla::DOMSVGTransform', - 'headerFile': 'DOMSVGTransform.h', 'nativeOwnership': 'refcounted', 'resultNotAddRefed': [ 'matrix' ] },