mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 907565: Remove redundant (unused) copy of nsISVGPoint.cpp. r=dzbarsky
This commit is contained in:
parent
84fdc4fceb
commit
b839bcc1af
@ -1,165 +0,0 @@
|
||||
/* -*- 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 "DOMSVGPoint.h"
|
||||
#include "DOMSVGPointList.h"
|
||||
#include "SVGPoint.h"
|
||||
#include "SVGAnimatedPointList.h"
|
||||
#include "nsSVGElement.h"
|
||||
#include "nsError.h"
|
||||
#include "mozilla/dom/SVGMatrix.h"
|
||||
#include "mozilla/dom/SVGPointBinding.h"
|
||||
|
||||
// See the architecture comment in DOMSVGPointList.h.
|
||||
|
||||
using namespace mozilla;
|
||||
|
||||
// We could use NS_IMPL_CYCLE_COLLECTION_1, except that in Unlink() we need to
|
||||
// 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_CLASS(DOMSVGPoint)
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(DOMSVGPoint)
|
||||
// We may not belong to a list, so we must null check tmp->mList.
|
||||
if (tmp->mList) {
|
||||
tmp->mList->mItems[tmp->mListIndex] = nullptr;
|
||||
}
|
||||
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(DOMSVGPoint)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mList)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_SCRIPT_OBJECTS
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_TRACE_BEGIN(DOMSVGPoint)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRACE_PRESERVED_WRAPPER
|
||||
NS_IMPL_CYCLE_COLLECTION_TRACE_END
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTING_ADDREF(DOMSVGPoint)
|
||||
NS_IMPL_CYCLE_COLLECTING_RELEASE(DOMSVGPoint)
|
||||
|
||||
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(DOMSVGPoint)
|
||||
NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY
|
||||
NS_INTERFACE_MAP_ENTRY(DOMSVGPoint) // pseudo-interface
|
||||
NS_INTERFACE_MAP_ENTRY(nsISVGPoint)
|
||||
NS_INTERFACE_MAP_ENTRY(nsISupports)
|
||||
NS_INTERFACE_MAP_END
|
||||
|
||||
float
|
||||
DOMSVGPoint::X()
|
||||
{
|
||||
if (mIsAnimValItem && HasOwner()) {
|
||||
Element()->FlushAnimations(); // May make HasOwner() == false
|
||||
}
|
||||
return HasOwner() ? InternalItem().mX : mPt.mX;
|
||||
}
|
||||
|
||||
void
|
||||
DOMSVGPoint::SetX(float aX, ErrorResult& rv)
|
||||
{
|
||||
if (mIsAnimValItem || mIsReadonly) {
|
||||
rv.Throw(NS_ERROR_DOM_NO_MODIFICATION_ALLOWED_ERR);
|
||||
return;
|
||||
}
|
||||
|
||||
if (HasOwner()) {
|
||||
if (InternalItem().mX == aX) {
|
||||
return;
|
||||
}
|
||||
nsAttrValue emptyOrOldValue = Element()->WillChangePointList();
|
||||
InternalItem().mX = aX;
|
||||
Element()->DidChangePointList(emptyOrOldValue);
|
||||
if (mList->AttrIsAnimating()) {
|
||||
Element()->AnimationNeedsResample();
|
||||
}
|
||||
return;
|
||||
}
|
||||
mPt.mX = aX;
|
||||
}
|
||||
|
||||
float
|
||||
DOMSVGPoint::Y()
|
||||
{
|
||||
if (mIsAnimValItem && HasOwner()) {
|
||||
Element()->FlushAnimations(); // May make HasOwner() == false
|
||||
}
|
||||
return HasOwner() ? InternalItem().mY : mPt.mY;
|
||||
}
|
||||
|
||||
void
|
||||
DOMSVGPoint::SetY(float aY, ErrorResult& rv)
|
||||
{
|
||||
if (mIsAnimValItem || mIsReadonly) {
|
||||
rv.Throw(NS_ERROR_DOM_NO_MODIFICATION_ALLOWED_ERR);
|
||||
return;
|
||||
}
|
||||
|
||||
if (HasOwner()) {
|
||||
if (InternalItem().mY == aY) {
|
||||
return;
|
||||
}
|
||||
nsAttrValue emptyOrOldValue = Element()->WillChangePointList();
|
||||
InternalItem().mY = aY;
|
||||
Element()->DidChangePointList(emptyOrOldValue);
|
||||
if (mList->AttrIsAnimating()) {
|
||||
Element()->AnimationNeedsResample();
|
||||
}
|
||||
return;
|
||||
}
|
||||
mPt.mY = aY;
|
||||
}
|
||||
|
||||
already_AddRefed<nsISVGPoint>
|
||||
DOMSVGPoint::MatrixTransform(dom::SVGMatrix& matrix)
|
||||
{
|
||||
float x = HasOwner() ? InternalItem().mX : mPt.mX;
|
||||
float y = HasOwner() ? InternalItem().mY : mPt.mY;
|
||||
|
||||
gfxPoint pt = matrix.Matrix().Transform(gfxPoint(x, y));
|
||||
nsCOMPtr<nsISVGPoint> newPoint = new DOMSVGPoint(pt);
|
||||
return newPoint.forget();
|
||||
}
|
||||
|
||||
void
|
||||
DOMSVGPoint::InsertingIntoList(DOMSVGPointList *aList,
|
||||
uint32_t aListIndex,
|
||||
bool aIsAnimValItem)
|
||||
{
|
||||
NS_ABORT_IF_FALSE(!HasOwner(), "Inserting item that already has an owner");
|
||||
|
||||
mList = aList;
|
||||
mListIndex = aListIndex;
|
||||
mIsReadonly = false;
|
||||
mIsAnimValItem = aIsAnimValItem;
|
||||
|
||||
NS_ABORT_IF_FALSE(IndexIsValid(), "Bad index for DOMSVGPoint!");
|
||||
}
|
||||
|
||||
void
|
||||
DOMSVGPoint::RemovingFromList()
|
||||
{
|
||||
mPt = InternalItem();
|
||||
mList = nullptr;
|
||||
NS_ABORT_IF_FALSE(!mIsReadonly, "mIsReadonly set for list");
|
||||
mIsAnimValItem = false;
|
||||
}
|
||||
|
||||
SVGPoint&
|
||||
DOMSVGPoint::InternalItem()
|
||||
{
|
||||
return mList->InternalList().mItems[mListIndex];
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
bool
|
||||
DOMSVGPoint::IndexIsValid()
|
||||
{
|
||||
return mListIndex < mList->InternalList().Length();
|
||||
}
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user