Bug 817442 Part 4: Remove nsIDOMSVGPathSegList r=bz, jwatt

This commit is contained in:
David Zbarsky 2012-12-22 23:54:23 -05:00
parent 9829ee3081
commit 071334be2f
10 changed files with 17 additions and 163 deletions

View File

@ -38,15 +38,9 @@ NS_IMPL_CYCLE_COLLECTION_TRACE_END
NS_IMPL_CYCLE_COLLECTING_ADDREF(DOMSVGPathSegList)
NS_IMPL_CYCLE_COLLECTING_RELEASE(DOMSVGPathSegList)
} // namespace mozilla
DOMCI_DATA(SVGPathSegList, mozilla::DOMSVGPathSegList)
namespace mozilla {
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(DOMSVGPathSegList)
NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY
NS_INTERFACE_MAP_ENTRY(nsIDOMSVGPathSegList)
NS_INTERFACE_MAP_ENTRY(nsISupports)
NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO(SVGPathSegList)
NS_INTERFACE_MAP_END
@ -194,7 +188,9 @@ DOMSVGPathSegList::InternalListWillChangeTo(const SVGPathData& aNewValue)
}
if (!mItems.AppendElement(ItemProxy(nullptr, dataIndex))) {
// OOM
Clear();
ErrorResult rv;
Clear(rv);
MOZ_ASSERT(!rv.Failed());
return;
}
dataIndex += 1 + SVGPathSegUtils::ArgCountForType(SVGPathSegUtils::DecodeType(aNewValue.mData[dataIndex]));
@ -228,13 +224,6 @@ DOMSVGPathSegList::InternalAList() const
// ----------------------------------------------------------------------------
// nsIDOMSVGPathSegList implementation:
NS_IMETHODIMP
DOMSVGPathSegList::GetNumberOfItems(uint32_t *aNumberOfItems)
{
*aNumberOfItems = NumberOfItems();
return NS_OK;
}
void
DOMSVGPathSegList::Clear(ErrorResult& aError)
{
@ -268,14 +257,6 @@ DOMSVGPathSegList::Clear(ErrorResult& aError)
}
}
NS_IMETHODIMP
DOMSVGPathSegList::Clear()
{
ErrorResult rv;
Clear(rv);
return rv.ErrorCode();
}
already_AddRefed<DOMSVGPathSeg>
DOMSVGPathSegList::Initialize(DOMSVGPathSeg& aNewItem, ErrorResult& aError)
{
@ -302,20 +283,6 @@ DOMSVGPathSegList::Initialize(DOMSVGPathSeg& aNewItem, ErrorResult& aError)
return InsertItemBefore(*domItem, 0, aError);
}
NS_IMETHODIMP
DOMSVGPathSegList::Initialize(nsIDOMSVGPathSeg *newItem,
nsIDOMSVGPathSeg **_retval)
{
nsCOMPtr<DOMSVGPathSeg> domItem = do_QueryInterface(newItem);
if (!domItem) {
*_retval = nullptr;
return NS_ERROR_DOM_SVG_WRONG_TYPE_ERR;
}
ErrorResult rv;
*_retval = Initialize(*domItem, rv).get();
return rv.ErrorCode();
}
DOMSVGPathSeg*
DOMSVGPathSegList::IndexedGetter(uint32_t aIndex, bool& aFound,
ErrorResult& aError)
@ -331,15 +298,6 @@ DOMSVGPathSegList::IndexedGetter(uint32_t aIndex, bool& aFound,
return nullptr;
}
NS_IMETHODIMP
DOMSVGPathSegList::GetItem(uint32_t aIndex,
nsIDOMSVGPathSeg **_retval)
{
ErrorResult rv;
NS_IF_ADDREF(*_retval = GetItem(aIndex, rv));
return rv.ErrorCode();
}
already_AddRefed<DOMSVGPathSeg>
DOMSVGPathSegList::InsertItemBefore(DOMSVGPathSeg& aNewItem,
uint32_t aIndex,
@ -400,21 +358,6 @@ DOMSVGPathSegList::InsertItemBefore(DOMSVGPathSeg& aNewItem,
return domItem.forget();
}
NS_IMETHODIMP
DOMSVGPathSegList::InsertItemBefore(nsIDOMSVGPathSeg *aNewItem,
uint32_t aIndex,
nsIDOMSVGPathSeg **_retval)
{
nsCOMPtr<DOMSVGPathSeg> domItem = do_QueryInterface(aNewItem);
if (!domItem) {
*_retval = nullptr;
return NS_ERROR_DOM_SVG_WRONG_TYPE_ERR;
}
ErrorResult rv;
*_retval = InsertItemBefore(*domItem, aIndex, rv).get();
return rv.ErrorCode();
}
already_AddRefed<DOMSVGPathSeg>
DOMSVGPathSegList::ReplaceItem(DOMSVGPathSeg& aNewItem,
uint32_t aIndex,
@ -479,21 +422,6 @@ DOMSVGPathSegList::ReplaceItem(DOMSVGPathSeg& aNewItem,
return domItem.forget();
}
NS_IMETHODIMP
DOMSVGPathSegList::ReplaceItem(nsIDOMSVGPathSeg *aNewItem,
uint32_t aIndex,
nsIDOMSVGPathSeg **_retval)
{
nsCOMPtr<DOMSVGPathSeg> domItem = do_QueryInterface(aNewItem);
if (!domItem) {
*_retval = nullptr;
return NS_ERROR_DOM_SVG_WRONG_TYPE_ERR;
}
ErrorResult rv;
*_retval = ReplaceItem(*domItem, aIndex, rv).get();
return rv.ErrorCode();
}
already_AddRefed<DOMSVGPathSeg>
DOMSVGPathSegList::RemoveItem(uint32_t aIndex,
ErrorResult& aError)
@ -537,35 +465,6 @@ DOMSVGPathSegList::RemoveItem(uint32_t aIndex,
return result.forget();
}
NS_IMETHODIMP
DOMSVGPathSegList::RemoveItem(uint32_t aIndex,
nsIDOMSVGPathSeg **_retval)
{
ErrorResult rv;
*_retval = RemoveItem(aIndex, rv).get();
return rv.ErrorCode();
}
NS_IMETHODIMP
DOMSVGPathSegList::AppendItem(nsIDOMSVGPathSeg *aNewItem,
nsIDOMSVGPathSeg **_retval)
{
nsCOMPtr<DOMSVGPathSeg> domItem = do_QueryInterface(aNewItem);
if (!domItem) {
*_retval = nullptr;
return NS_ERROR_DOM_SVG_WRONG_TYPE_ERR;
}
ErrorResult rv;
*_retval = AppendItem(*domItem, rv).get();
return rv.ErrorCode();
}
NS_IMETHODIMP
DOMSVGPathSegList::GetLength(uint32_t *aNumberOfItems)
{
return GetNumberOfItems(aNumberOfItems);
}
void
DOMSVGPathSegList::EnsureItemAt(uint32_t aIndex)
{

View File

@ -10,7 +10,6 @@
#include "nsCOMPtr.h"
#include "nsCycleCollectionParticipant.h"
#include "nsDebug.h"
#include "nsIDOMSVGPathSegList.h"
#include "nsSVGElement.h"
#include "nsTArray.h"
#include "SVGPathData.h" // IWYU pragma: keep
@ -47,7 +46,7 @@ class SVGAnimatedPathSegList;
*
* Our DOM items are created lazily on demand as and when script requests them.
*/
class DOMSVGPathSegList MOZ_FINAL : public nsIDOMSVGPathSegList,
class DOMSVGPathSegList MOZ_FINAL : public nsISupports,
public nsWrapperCache
{
friend class DOMSVGPathSeg;
@ -55,7 +54,6 @@ class DOMSVGPathSegList MOZ_FINAL : public nsIDOMSVGPathSegList,
public:
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(DOMSVGPathSegList)
NS_DECL_NSIDOMSVGPATHSEGLIST
virtual JSObject* WrapObject(JSContext *cx, JSObject *scope,
bool *triedToWrap);

View File

@ -11,7 +11,6 @@
#include "nsSVGAngle.h"
#include "nsIDOMSVGAngle.h"
#include "nsSVGPathElement.h"
#include "nsIDOMSVGPathSegList.h"
#include "nsMathUtils.h"
#include <math.h>

View File

@ -318,22 +318,22 @@ nsSVGPathElement::GetNumberInfo()
//----------------------------------------------------------------------
// nsIDOMSVGAnimatedPathData methods:
/* readonly attribute nsIDOMSVGPathSegList pathSegList; */
NS_IMETHODIMP nsSVGPathElement::GetPathSegList(nsIDOMSVGPathSegList * *aPathSegList)
/* readonly attribute DOMSVGPathSegList pathSegList; */
NS_IMETHODIMP nsSVGPathElement::GetPathSegList(nsISupports * *aPathSegList)
{
void *key = mD.GetBaseValKey();
*aPathSegList = DOMSVGPathSegList::GetDOMWrapper(key, this, false).get();
return *aPathSegList ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
}
/* readonly attribute nsIDOMSVGPathSegList normalizedPathSegList; */
NS_IMETHODIMP nsSVGPathElement::GetNormalizedPathSegList(nsIDOMSVGPathSegList * *aNormalizedPathSegList)
/* readonly attribute DOMSVGPathSegList normalizedPathSegList; */
NS_IMETHODIMP nsSVGPathElement::GetNormalizedPathSegList(nsISupports * *aNormalizedPathSegList)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* readonly attribute nsIDOMSVGPathSegList animatedPathSegList; */
NS_IMETHODIMP nsSVGPathElement::GetAnimatedPathSegList(nsIDOMSVGPathSegList * *aAnimatedPathSegList)
/* readonly attribute DOMSVGPathSegList animatedPathSegList; */
NS_IMETHODIMP nsSVGPathElement::GetAnimatedPathSegList(nsISupports * *aAnimatedPathSegList)
{
void *key = mD.GetAnimValKey();
*aAnimatedPathSegList =
@ -341,8 +341,8 @@ NS_IMETHODIMP nsSVGPathElement::GetAnimatedPathSegList(nsIDOMSVGPathSegList * *a
return *aAnimatedPathSegList ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
}
/* readonly attribute nsIDOMSVGPathSegList animatedNormalizedPathSegList; */
NS_IMETHODIMP nsSVGPathElement::GetAnimatedNormalizedPathSegList(nsIDOMSVGPathSegList * *aAnimatedNormalizedPathSegList)
/* readonly attribute DOMSVGPathSegList animatedNormalizedPathSegList; */
NS_IMETHODIMP nsSVGPathElement::GetAnimatedNormalizedPathSegList(nsISupports * *aAnimatedNormalizedPathSegList)
{
return NS_ERROR_NOT_IMPLEMENTED;
}

View File

@ -359,7 +359,6 @@
#include "nsIDOMSVGNumber.h"
#include "nsIDOMSVGNumberList.h"
#include "nsIDOMSVGPathElement.h"
#include "nsIDOMSVGPathSegList.h"
#include "nsIDOMSVGPatternElement.h"
#include "nsIDOMSVGPoint.h"
#include "nsIDOMSVGPolygonElement.h"
@ -1257,8 +1256,6 @@ static nsDOMClassInfoData sClassInfoData[] = {
DOM_DEFAULT_SCRIPTABLE_FLAGS)
NS_DEFINE_CLASSINFO_DATA(SVGNumberList, nsDOMGenericSH,
DOM_DEFAULT_SCRIPTABLE_FLAGS)
NS_DEFINE_CLASSINFO_DATA(SVGPathSegList, nsDOMGenericSH,
DOM_DEFAULT_SCRIPTABLE_FLAGS)
NS_DEFINE_CLASSINFO_DATA(SVGPoint, nsDOMGenericSH,
DOM_DEFAULT_SCRIPTABLE_FLAGS)
NS_DEFINE_CLASSINFO_DATA(SVGRect, nsDOMGenericSH,
@ -3568,10 +3565,6 @@ nsDOMClassInfo::Init()
DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGNumberList)
DOM_CLASSINFO_MAP_END
DOM_CLASSINFO_MAP_BEGIN(SVGPathSegList, nsIDOMSVGPathSegList)
DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGPathSegList)
DOM_CLASSINFO_MAP_END
DOM_CLASSINFO_MAP_BEGIN(SVGPoint, nsIDOMSVGPoint)
DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGPoint)
DOM_CLASSINFO_MAP_END

View File

@ -37,7 +37,6 @@ class nsIDOMSVGLength;
class nsIDOMSVGLengthList;
class nsIDOMSVGNumber;
class nsIDOMSVGNumberList;
class nsIDOMSVGPathSegList;
class nsIDOMSVGPoint;
class nsIDOMSVGStringList;
class nsIDOMSVGTests;

View File

@ -272,7 +272,6 @@ DOMCI_CLASS(SVGLengthList)
DOMCI_CLASS(SVGMatrix)
DOMCI_CLASS(SVGNumber)
DOMCI_CLASS(SVGNumberList)
DOMCI_CLASS(SVGPathSegList)
DOMCI_CLASS(SVGPoint)
DOMCI_CLASS(SVGRect)
DOMCI_CLASS(SVGStringList)

View File

@ -63,7 +63,6 @@ XPIDLSRCS = \
nsIDOMSVGNumber.idl \
nsIDOMSVGNumberList.idl \
nsIDOMSVGPathElement.idl \
nsIDOMSVGPathSegList.idl \
nsIDOMSVGPatternElement.idl \
nsIDOMSVGPoint.idl \
nsIDOMSVGPolygonElement.idl \

View File

@ -5,14 +5,12 @@
#include "domstubs.idl"
interface nsIDOMSVGPathSegList;
[scriptable, uuid(6ef2b400-dbf4-4c12-8787-fe15caac5648)]
interface nsIDOMSVGAnimatedPathData : nsISupports
{
readonly attribute nsIDOMSVGPathSegList pathSegList;
readonly attribute nsIDOMSVGPathSegList normalizedPathSegList;
readonly attribute nsIDOMSVGPathSegList animatedPathSegList;
readonly attribute nsIDOMSVGPathSegList animatedNormalizedPathSegList;
{
readonly attribute nsISupports pathSegList;
readonly attribute nsISupports normalizedPathSegList;
readonly attribute nsISupports animatedPathSegList;
readonly attribute nsISupports animatedNormalizedPathSegList;
};

View File

@ -1,30 +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"
interface nsIDOMSVGPathSeg;
[scriptable, uuid(24bc0498-ebfd-4966-a1c7-524e939308c9)]
interface nsIDOMSVGPathSegList : nsISupports
{
readonly attribute unsigned long numberOfItems;
readonly attribute unsigned long length; // synonym for numberOfItems
void clear();
// raises(nsIDOMDOMException);
nsIDOMSVGPathSeg initialize(in nsIDOMSVGPathSeg newItem );
// raises(nsIDOMDOMException, nsIDOMSVGException);
nsIDOMSVGPathSeg getItem(in unsigned long index);
// raises(nsIDOMDOMException);
nsIDOMSVGPathSeg insertItemBefore(in nsIDOMSVGPathSeg newItem, in unsigned long index);
// raises(nsIDOMDOMException, nsIDOMSVGException);
nsIDOMSVGPathSeg replaceItem(in nsIDOMSVGPathSeg newItem, in unsigned long index);
// raises(nsIDOMDOMException, nsIDOMSVGException);
nsIDOMSVGPathSeg removeItem(in unsigned long index);
// raises(nsIDOMDOMException);
nsIDOMSVGPathSeg appendItem(in nsIDOMSVGPathSeg newItem);
// raises(nsIDOMDOMException, nsIDOMSVGException);
};