Tests that CSS animations that are created while the page is hidden are properly resumed when the page becomes visible.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


Suspend animations
PASS internals.animationsAreSuspended() is true
PASS internals.numberOfActiveAnimations() is 0
PASS internals.animationsAreSuspended() is true
PASS internals.numberOfActiveAnimations() is 0
PASS window.getComputedStyle(testDiv).transform is pausedTransform
Resume animations
PASS internals.numberOfActiveAnimations() became 1
PASS window.getComputedStyle(testDiv).transform != pausedTransform became true
PASS successfullyParsed is true

TEST COMPLETE
TEST
