Bug 669155 - animation of filterRes does not result in layout being refreshed. r=jwatt

This commit is contained in:
Robert Longson 2011-07-08 18:10:07 +01:00
Родитель 6ba6b675bd
Коммит 2f1b8250ad
3 изменённых файлов: 26 добавлений и 10 удалений

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

@ -242,22 +242,35 @@ nsSVGFilterElement::GetStringInfo()
NS_ARRAY_LENGTH(sStringInfo));
}
void
nsSVGFilterElement::DidAnimateLength(PRUint8 aAttrEnum)
inline static void DidAnimateAttr(nsSVGFilterElement *aFilterElement)
{
// nsSVGFilterFrame does not implement a useful AttributeChanged
nsIFrame* frame = GetPrimaryFrame();
// nsSVGFilterFrame doesn't implement a useful AttributeChanged
nsIFrame* frame = aFilterElement->GetPrimaryFrame();
if (frame) {
nsSVGEffects::InvalidateRenderingObservers(frame);
}
}
void
nsSVGFilterElement::DidAnimateLength(PRUint8 aAttrEnum)
{
DidAnimateAttr(this);
}
void
nsSVGFilterElement::DidAnimateIntegerPair(PRUint8 aAttrEnum)
{
DidAnimateAttr(this);
}
void
nsSVGFilterElement::DidAnimateEnum(PRUint8 aAttrEnum)
{
// nsSVGFilterFrame does not implement a useful AttributeChanged
nsIFrame* frame = GetPrimaryFrame();
if (frame) {
nsSVGEffects::InvalidateRenderingObservers(frame);
}
DidAnimateAttr(this);
}
void
nsSVGFilterElement::DidAnimateString(PRUint8 aAttrEnum)
{
DidAnimateAttr(this);
}

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

@ -89,7 +89,9 @@ protected:
virtual StringAttributesInfo GetStringInfo();
virtual void DidAnimateLength(PRUint8 aAttrEnum);
virtual void DidAnimateIntegerPair(PRUint8 aAttrEnum);
virtual void DidAnimateEnum(PRUint8 aAttrEnum);
virtual void DidAnimateString(PRUint8 aAttrEnum);
enum { X, Y, WIDTH, HEIGHT };
nsSVGLength2 mLengthAttributes[4];

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

@ -310,7 +310,8 @@ inline static void DidAnimateAttr(Element *aFilterPrimitive)
}
}
inline static void DidAnimateAttrViaParent(Element *aFilterPrimitive) {
inline static void DidAnimateAttrViaParent(Element *aFilterPrimitive)
{
// No frame, use parent's
NS_ASSERTION(!aFilterPrimitive->GetPrimaryFrame(), "Not expecting a frame");
nsIContent *parent = aFilterPrimitive->GetFlattenedTreeParent();