<!doctype html>
<title>CSS Test: @keyframes applies in the shadow tree.</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
<link rel="help" href="https://drafts.csswg.org/css-scoping/#selectors-data-model">
<!-- 
  Beware of https://github.com/w3c/csswg-drafts/issues/1995 potentially, but
  unlikely, changing the expected result of this test.
 -->
<style>
#in-document {
  width: 100px;
  height: 100px;
  background: blue;
  animation: myanim 10s infinite;
}
</style>
<div id="host"><div id="in-document"></div></div>
<script>
test(function() {
  host.attachShadow({ mode: "open" }).innerHTML = `
    <style>
      @keyframes myanim {
        from { background: red; }
        to { background: green; }
      }
      #in-shadow {
        width: 100px;
        height: 100px;
        background: blue;
        animation: myanim 10s infinite;
      }
    </style>
    <slot></slot>
    <div id="in-shadow"></div>
  `;

  assert_equals(document.getElementById('in-document').getAnimations().length, 0);
  assert_equals(host.shadowRoot.getElementById('in-shadow').getAnimations().length, 1);
}, "@keyframes applies in the shadow tree")
</script>
