зеркало из https://github.com/mozilla/pjs.git
Bug 678938 - SMIL: Make sure current interval is properly cleared when doing a rewind; r=dholbert
This commit is contained in:
Родитель
a6f99bfe9b
Коммит
7c2558cc34
|
@ -0,0 +1,11 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" class="reftest-wait">
|
||||
<script>
|
||||
window.addEventListener("load", function() {
|
||||
setTimeout(function() {
|
||||
document.documentElement.setCurrentTime(0);
|
||||
document.documentElement.removeAttribute("class");
|
||||
}, 0);
|
||||
}, false);
|
||||
</script>
|
||||
<set id="c"/><set id="b" begin="c.begin; b.begin"/>
|
||||
</svg>
|
После Ширина: | Высота: | Размер: 346 B |
|
@ -37,7 +37,8 @@ load 615872-1.svg
|
|||
load 650732-1.svg
|
||||
load 665334-1.svg
|
||||
load 669225-1.svg
|
||||
load 670313-1.svg
|
||||
load 669225-2.svg
|
||||
load 670313-1.svg
|
||||
load 678822-1.svg
|
||||
load 678847-1.svg
|
||||
load 678938-1.svg
|
||||
|
|
|
@ -758,10 +758,10 @@ nsSMILTimedElement::Rewind()
|
|||
mSeekState == SEEK_BACKWARD_FROM_ACTIVE,
|
||||
"Rewind in the middle of a forwards seek?");
|
||||
|
||||
ClearIntervals();
|
||||
// ClearIntervals puts us in to the POSTACTIVE state but we're doing a full
|
||||
// rewind so go back to the startup state
|
||||
// Putting us in the startup state will ensure we skip doing any interval
|
||||
// updates
|
||||
mElementState = STATE_STARTUP;
|
||||
ClearIntervals();
|
||||
|
||||
UnsetBeginSpec(RemoveNonDynamic);
|
||||
UnsetEndSpec(RemoveNonDynamic);
|
||||
|
@ -784,6 +784,8 @@ nsSMILTimedElement::Rewind()
|
|||
|
||||
mPrevRegisteredMilestone = sMaxMilestone;
|
||||
RegisterMilestone();
|
||||
NS_ABORT_IF_FALSE(!mCurrentInterval,
|
||||
"Current interval is set at end of rewind");
|
||||
}
|
||||
|
||||
namespace
|
||||
|
@ -1332,7 +1334,9 @@ nsSMILTimedElement::ClearSpecs(TimeValueSpecList& aSpecs,
|
|||
void
|
||||
nsSMILTimedElement::ClearIntervals()
|
||||
{
|
||||
mElementState = STATE_POSTACTIVE;
|
||||
if (mElementState != STATE_STARTUP) {
|
||||
mElementState = STATE_POSTACTIVE;
|
||||
}
|
||||
mCurrentRepeatIteration = 0;
|
||||
ResetCurrentInterval();
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче