Bug 547333 followup: Move FlushAnimations() call from nsSVGElement::GetAnimatedLengthValues to FlushPendingNotifications. r=jwatt r=bz

This commit is contained in:
Daniel Holbert 2010-03-02 07:36:33 -08:00
Родитель d5d1ef1794
Коммит 16b59df3ce
5 изменённых файлов: 139 добавлений и 4 удалений

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

@ -0,0 +1,8 @@
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="s">
<circle/>
<animateTransform attributeName="transform"/>
</g>
<use xlink:href="#s"/>
</svg>

После

Ширина:  |  Высота:  |  Размер: 205 B

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

После

Ширина:  |  Высота:  |  Размер: 21 KiB

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

@ -1,3 +1,5 @@
load 483584-1.svg
load 483584-2.svg
load 523188-1.svg
load 525099-1.svg
load 526536-1.svg

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

@ -1235,10 +1235,6 @@ nsSVGElement::DidAnimateLength(PRUint8 aAttrEnum)
void
nsSVGElement::GetAnimatedLengthValues(float *aFirst, ...)
{
#ifdef MOZ_SMIL
FlushAnimations();
#endif
LengthAttributesInfo info = GetLengthInfo();
NS_ASSERTION(info.mLengthCount > 0,

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

@ -158,6 +158,9 @@
#ifdef MOZ_MEDIA
#include "nsHTMLMediaElement.h"
#endif
#ifdef MOZ_SMIL
#include "nsSMILAnimationController.h"
#endif
// Drag & Drop, Clipboard
#include "nsWidgetsCID.h"
@ -4756,6 +4759,15 @@ PresShell::FlushPendingNotifications(mozFlushType aType)
// reflow).
mPresContext->FlushUserFontSet();
#ifdef MOZ_SMIL
// Flush any requested SMIL samples.
nsSMILAnimationController* smilController =
mDocument->GetAnimationController();
if (smilController) {
smilController->FlushResampleRequests();
}
#endif // MOZ_SMIL
nsAutoScriptBlocker scriptBlocker;
mFrameConstructor->ProcessPendingRestyles();
}