| <!DOCTYPE> |
| <html> |
| <head> |
| <style> |
| #background { |
| width: 200px; |
| height: 200px; |
| display: block; |
| background-color: green; |
| } |
| .overlay { |
| width: 50px; |
| height: 50px; |
| background-color: rgba(255, 255, 255, 1); |
| -webkit-transition: opacity 1s; |
| } |
| |
| #popup { |
| width: 20px; |
| height: 20px; |
| background-color: red; |
| border-radius: 6px; |
| -webkit-transition: -webkit-transform 1s; |
| } |
| |
| .transparent { |
| opacity: 0; |
| } |
| |
| [hidden] { |
| display: none; |
| } |
| |
| .overlay.transparent .page { |
| transform: scale(1) translateY(0px); |
| } |
| |
| </style> |
| <script type="text/javascript" charset="utf-8"> |
| function runTest() |
| { |
| var solid_color_overlay = document.getElementById("solid_color_overlay"); |
| solid_color_overlay.removeAttribute('hidden'); |
| |
| var popup = document.getElementById("popup"); |
| popup.removeAttribute('hidden'); |
| |
| // NOTE: This is a hacky way to force the container to layout which |
| // will allow us to trigger the webkit transition. |
| // See crbug.com/324685 |
| solid_color_overlay.scrollTop; |
| solid_color_overlay.classList.remove('transparent'); |
| |
| // dump the pixel in the middle of the transition |
| if (window.internals) { |
| window.internals.forceCompositingUpdate(document); |
| window.internals.pauseAnimations(0.5); |
| } |
| triggerPixelResults(); |
| } |
| |
| function triggerPixelResults() |
| { |
| parent.postMessage("TriggerPixelResults", '*'); |
| } |
| |
| window.addEventListener('load', runTest, false); |
| </script> |
| </head> |
| <body> |
| <div id="background"> |
| <div id="solid_color_overlay" class="overlay transparent" hidden=true> |
| <div id="popup" class="page" hidden=true></div> |
| </div> |
| </div> |
| </body> |
| </html> |