blob: 1fa61f3e06e9f38d7a75728b3ff922aa57c1664b [file] [log] [blame]
<!DOCTYPE html>
<iframe id="frame"></iframe>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script>
frame.contentDocument.open();
frame.contentDocument.write(`
<!DOCTYPE html>
<style>
:focus #target {
background: green;
}
</style>
<div id="focus" tabindex="1">
<div id="target">This test passes if it does not crash</target>
</div>
<script>
window.anim = target.animate([
{color: 'green'},
{color: 'black'},
], {
iterations: Infinity,
duration: 1000
});
\<\/script>
`);
frame.contentDocument.close();
async_test(t => {
requestAnimationFrame(() => {
frame.contentDocument.querySelector('#focus').focus();
requestAnimationFrame(() => {
// Update style.
frame.contentWindow.getComputedStyle(
frame.contentDocument.querySelector('#focus')).backgroundColor;
// Invalidate style with an animation style change.
frame.contentWindow.anim.currentTime += 1000;
frame.contentWindow.internals.setFocused(false);
t.done();
});
});
});
</script>