blob: 1e202ea8f1cc8ed433cea6021206fa3e1535611a [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
(async function() {
TestRunner.addResult(
`Tests that animations can be created with KeyframeEffect and KeyframeEffectReadOnly without crashing.\n`);
await TestRunner.loadModule('elements_test_runner');
await TestRunner.showPanel('elements');
await TestRunner.loadHTML(`
<div id="node" style="background-color: red; height: 100px"></div>
<div id="nodeRO" style="background-color: red; height: 100px"></div>
`);
await TestRunner.evaluateInPagePromise(`
function startAnimationWithKeyframeEffect()
{
var effect = new KeyframeEffect(node, { opacity : [ 0, 0.9 ] }, 1000);
var anim = node.animate(null);
anim.effect = effect;
}
function startAnimationWithKeyframeEffectReadOnly()
{
var effect = new KeyframeEffectReadOnly(nodeRO, { opacity : [ 0, 0.9 ] }, 1000);
var anim = nodeRO.animate(null);
anim.effect = effect;
}
`);
await UI.viewManager.showView('animations');
var timeline = self.runtime.sharedInstance(Animation.AnimationTimeline);
TestRunner.evaluateInPage('startAnimationWithKeyframeEffect()');
ElementsTestRunner.waitForAnimationAdded(step2);
function step2(group) {
ElementsTestRunner.waitForAnimationAdded(step3);
TestRunner.evaluateInPage('startAnimationWithKeyframeEffectReadOnly()');
}
function step3(group) {
TestRunner.completeTest();
}
})();