From b8639ae6bce07fc4ca3898a33ce11ce024786bcf Mon Sep 17 00:00:00 2001 From: Stephen McGruer Date: Sun, 6 May 2018 19:18:22 -0400 Subject: [PATCH] Web Animations: Add test for Document::getAnimations across iframes (#10291) --- .../interfaces/Document/getAnimations.html | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/web-animations/interfaces/Document/getAnimations.html b/web-animations/interfaces/Document/getAnimations.html index 381d954ea7aae2..6b8534bf035ff4 100644 --- a/web-animations/interfaces/Document/getAnimations.html +++ b/web-animations/interfaces/Document/getAnimations.html @@ -64,5 +64,26 @@ 'elements in this document'); }, 'Test document.getAnimations with null target'); +async_test(t => { + const iframe = document.createElement('iframe'); + + iframe.addEventListener("load", t.step_func_done(function() { + const div = createDiv(t, iframe.contentDocument) + const effect = new KeyframeEffect(div, null, 100 * MS_PER_SEC); + const anim = new Animation(effect, document.timeline); + anim.play(); + + // The animation's timeline is from the main document, but the effect's + // target element is part of the iframe document and that is what matters + // for getAnimations. + assert_equals(document.getAnimations().length, 0); + assert_equals(iframe.contentDocument.getAnimations().length, 1); + anim.finish(); + })); + + document.body.appendChild(iframe); + t.add_cleanup(function() { document.body.removeChild(iframe); }); +}, 'Test document.getAnimations for elements inside same-origin iframes'); +