| <HEAD> |
| <style> |
| html,body { height: 100% } |
| |
| @keyframes testAnimation { |
| 0% { transform: translate(0, 0); } |
| 50% { transform: translate(100px, 100px); } |
| 100% { transform: translate(200px, 0px); } |
| } |
| |
| #blue { |
| height: 50%; |
| width: 128px; |
| background-size: cover; |
| background-color: blue; |
| display: inline-block; |
| margin-left: 25%; |
| } |
| #green { |
| height: 50%; |
| width: 128px; |
| background-size: cover; |
| background-color: green; |
| display: inline-block; |
| margin-right: 25%; |
| animation: testAnimation 2s forwards; |
| } |
| /* Note that the width and height values below were carefully chosen to have |
| a smaller dependency on platform specific texture minification filters. |
| An example of this is on directfb platform (used for testing), where |
| bilinear filtering is not available (when blending is turned on). |
| */ |
| #shot { |
| height: 50%; |
| width: 50%; |
| } |
| </style> |
| </HEAD> |
| <BODY> |
| <div id="blue"> |
| </div> |
| <div id="green"> |
| </div> |
| <div id="shot"> |
| </div> |
| <script> |
| if (window.testRunner) { |
| window.testRunner.waitUntilDone(); |
| } |
| window.addEventListener('load', (event) => { |
| if (window.testRunner) { |
| window.testRunner.AdvanceClockByMs(1000); |
| window.testRunner.DoNonMeasuredLayout(); |
| } |
| window.screenshot().then( screen_shot_data => { |
| shot = document.getElementById("shot"); |
| var image_blob = new Blob([screen_shot_data.buffer]); |
| var image_url = URL.createObjectURL(image_blob); |
| var image = new Image(); |
| // By waiting for the onload event, we can safely ensure that the |
| // screenshot image is decoded, and render to be rendered. |
| image.onload = () => { |
| var shot = document.getElementById('shot'); |
| // Put a solid red border around the image to make it easier to |
| // spot manually. |
| shot.style.borderStyle = 'solid'; |
| shot.style.borderColor = 'red'; |
| // Shrink-to-fit the image onto the div. |
| shot.style.backgroundSize = '100% 100%'; |
| shot.style.backgroundImage = 'url(' + image_url + ')'; |
| if (window.testRunner) { |
| window.testRunner.notifyDone(); |
| } |
| } |
| image.src = image_url; |
| }).catch( () => { |
| console.log('window.screenshot() error occurred.'); |
| if (window.testRunner) { |
| window.testRunner.notifyDone(); |
| } |
| }); |
| }); |
| </script> |
| </BODY> |