| <!DOCTYPE html> |
| <html class="reftest-wait"> |
| <title> |
| In effect animations should effectively apply will-change (i.e. force a |
| stacking context) |
| </title> |
| <link rel="help" href="https://drafts.csswg.org/web-animations-1/#side-effects-section"> |
| <link rel="author" href="mailto:bokan@chromium.org"> |
| <link rel="match" href="side-effects-of-animations-in-effect-ref.html"> |
| <script src="/common/reftest-wait.js"></script> |
| <script src="../testcommon.js"></script> |
| <script src="resources/side-effects-common.js"></script> |
| <style> |
| .testcase { |
| position: relative; |
| margin: 2px; |
| border: 1px solid black; |
| width: 250px; |
| height: 25px; |
| } |
| .container { |
| background-color: lightgrey; |
| margin: 4px; |
| display: flex; |
| width: 600px; |
| flex-direction: row; |
| justify-content: flex-end; |
| align-items: center; |
| } |
| .label { |
| flex-grow: 1; |
| } |
| .target { |
| width: 100%; |
| height: 100%; |
| } |
| .absolutebox { |
| position: absolute; |
| top: 0; |
| left: 0; |
| width: 100%; |
| height: 100%; |
| } |
| .pass { |
| background-color: limegreen; |
| } |
| .fail { |
| background-color: red; |
| } |
| </style> |
| |
| <script> |
| onload = takeScreenshotOnAnimationsReady; |
| </script> |
| |
| <!-- OPACITY --> |
| |
| <!-- Is current - before phase playing forwards --> |
| <div class="container"> |
| <div class="label">Opacity - before phase</div> |
| <div class="testcase" id="opacity-before"> |
| <div class="absolutebox fail"></div> |
| <div class="target pass"></div> |
| </div> |
| </div> |
| <script> |
| setupAnimation('#opacity-before', STATE_IN_EFFECT, PROPERTY_OPACITY, PHASE_BEFORE); |
| </script> |
| |
| <!-- Is current - in play--> |
| <div class="container"> |
| <div class="label">Opacity - active phase</div> |
| <div class="testcase" id="opacity-active"> |
| <div class="absolutebox fail"></div> |
| <div class="target pass"></div> |
| </div> |
| </div> |
| <script> |
| setupAnimation('#opacity-active', STATE_IN_EFFECT, PROPERTY_OPACITY, PHASE_ACTIVE); |
| </script> |
| |
| <!-- Is current - after phase playing backwards--> |
| <div class="container"> |
| <div class="label">Opacity - after phase</div> |
| <div class="testcase" id="opacity-after"> |
| <div class="absolutebox fail"></div> |
| <div class="target pass"></div> |
| </div> |
| </div> |
| <script> |
| setupAnimation('#opacity-after', STATE_IN_EFFECT, PROPERTY_OPACITY, PHASE_AFTER); |
| </script> |
| |
| <!-- TRANSFORM --> |
| |
| <!-- Is current - before phase playing forwards --> |
| <div class="container"> |
| <div class="label">Transform - before phase</div> |
| <div class="testcase" id="transform-before"> |
| <div class="absolutebox fail"></div> |
| <div class="target pass"></div> |
| </div> |
| </div> |
| <script> |
| setupAnimation('#transform-before', STATE_IN_EFFECT, PROPERTY_TRANSFORM, PHASE_BEFORE); |
| </script> |
| |
| <!-- Is current - in play--> |
| <div class="container"> |
| <div class="label">Transform - active phase</div> |
| <div class="testcase" id="transform-active"> |
| <div class="absolutebox fail"></div> |
| <div class="target pass"></div> |
| </div> |
| </div> |
| <script> |
| setupAnimation('#transform-active', STATE_IN_EFFECT, PROPERTY_TRANSFORM, PHASE_ACTIVE); |
| </script> |
| |
| <!-- Is current - after phase playing backwards--> |
| <div class="container"> |
| <div class="label">Transform - after phase</div> |
| <div class="testcase" id="transform-after"> |
| <div class="absolutebox fail"></div> |
| <div class="target pass"></div> |
| </div> |
| </div> |
| <script> |
| setupAnimation('#transform-after', STATE_IN_EFFECT, PROPERTY_TRANSFORM, PHASE_AFTER); |
| </script> |
| |
| <!-- BACKGROUND COLOR --> |
| <!-- |
| unlike opacity and transform, background color shouldn't create a stacking |
| context. |
| --> |
| |
| <!-- Is current - before phase playing forwards --> |
| <div class="container"> |
| <div class="label">Background-color - before phase</div> |
| <div class="testcase" id="bgcolor-before"> |
| <div class="absolutebox pass"></div> |
| <div class="target fail"></div> |
| </div> |
| </div> |
| <script> |
| setupAnimation('#bgcolor-before', STATE_IN_EFFECT, PROPERTY_BGCOLOR, PHASE_BEFORE); |
| </script> |
| |
| <!-- Is current - in play--> |
| <div class="container"> |
| <div class="label">Background-color - active phase</div> |
| <div class="testcase" id="bgcolor-active"> |
| <div class="absolutebox pass"></div> |
| <div class="target fail"></div> |
| </div> |
| </div> |
| <script> |
| setupAnimation('#bgcolor-active', STATE_IN_EFFECT, PROPERTY_BGCOLOR, PHASE_ACTIVE); |
| </script> |
| |
| <!-- Is current - after phase playing backwards--> |
| <div class="container"> |
| <div class="label">Background-color - after phase</div> |
| <div class="testcase" id="bgcolor-after"> |
| <div class="absolutebox pass"></div> |
| <div class="target fail"></div> |
| </div> |
| </div> |
| <script> |
| setupAnimation('#bgcolor-after', STATE_IN_EFFECT, PROPERTY_BGCOLOR, PHASE_AFTER); |
| </script> |
| |
| </html> |