Closed Bug 1000692 Opened 11 years ago Closed 11 years ago

Unpausing OMTA animation sometimes doesn't work

Categories

(Core :: Graphics: Layers, defect)

defect
Not set
normal

Tracking

()

RESOLVED INVALID

People

(Reporter: birtles, Unassigned)

References

Details

When testing OMTA (bug 964646) I came across a situation where unpausing a CSS animation during its delay phase fails to update the compositor thread. The code to produce this is as follows: new_div("animation: anim2 1s 0.5s ease-out"); yield waitForPaints(); omta_is("opacity", 1, RunningOn.Either, "delay and play-state delay test at 0ms"); advance_clock(400); omta_is("opacity", 1, RunningOn.Either, "delay and play-state delay test at 400ms"); gDiv.style.animationPlayState = "paused"; yield waitForPaintsFlushed(); advance_clock(100); omta_is("opacity", 1, RunningOn.Either, "delay and play-state delay test at 500ms"); advance_clock(500); omta_is("opacity", 1, RunningOn.Either, "delay and play-state delay test at 1000ms"); gDiv.style.animationPlayState = "running"; yield waitForPaintsFlushed(); advance_clock(100); omta_is("opacity", 0, RunningOn.Compositor, "delay and play-state delay test at 1100ms"); advance_clock(100); omta_is_approx("opacity", gTF.ease_out(0.1), RunningOn.Compositor, 0.01, "delay and play-state delay test at 1200ms"); gDiv.style.animationPlayState = "paused"; yield waitForPaintsFlushed(); advance_clock(100); omta_is_approx("opacity", gTF.ease_out(0.1), RunningOn.Either, 0.01, "delay and play-state delay test at 1300ms"); done_div(); (For the definitions of those methods and animations, see http://dxr.mozilla.org/mozilla-central/source/layout/style/test/test_animations_omta.html) I've been trying to create a reduced standalone test case of this but haven't succeeded yet. One test I made failed for me about 3 times but mostly works. I plan to debug this using a suitably reduced version of the above code and let bug 964646 provide the regression test for this bug.
On further investigation, the bug is with the test case above. When a delay is involved, the test needs to wait for paints to happen so the animation can be sent to the compositor.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.