Closed
Bug 1000692
Opened 11 years ago
Closed 11 years ago
Unpausing OMTA animation sometimes doesn't work
Categories
(Core :: Graphics: Layers, defect)
Core
Graphics: Layers
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.
Reporter | ||
Comment 1•11 years ago
|
||
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.
Description
•