| <script> | |
| if (window.testRunner) { | |
| testRunner.dumpAsText(); | |
| testRunner.waitUntilDone(); | |
| } | |
| </script> | |
| <div> | |
| <div>Test that plugin doesn't restart when taking it to full screen and back.</div> | |
| <div id="result">Test didn't run</div> | |
| <embed id="plugin" type="application/x-webkit-test-netscape" width="200" height="200"></embed> | |
| </div> | |
| <script> | |
| function test() | |
| { | |
| var callback; | |
| var fullscreenChanged = function(event) | |
| { | |
| if (callback) | |
| callback(event) | |
| }; | |
| document.addEventListener('webkitfullscreenchange', fullscreenChanged); | |
| document.body.offsetTop; | |
| var plugin = document.getElementById('plugin'); | |
| var testObject = plugin.testObject; | |
| testObject.property = 'foo'; // Verify that setting a property works before going fullscreen. | |
| var spanEnteredFullScreen = function(event) { | |
| setTimeout(function () { | |
| callback = function() { | |
| document.body.offsetTop; | |
| try { | |
| // This will throw if going to fullscreen and back has restarted the plugin. | |
| testObject.property = 'foo'; | |
| document.getElementById('result').innerHTML = 'SUCCESS'; | |
| } catch (e) { | |
| document.getElementById('result').innerHTML = 'FAIL'; | |
| } | |
| if (window.testRunner) | |
| testRunner.notifyDone(); | |
| } | |
| document.webkitCancelFullScreen(); | |
| }, 0); | |
| }; | |
| callback = spanEnteredFullScreen; | |
| document.addEventListener('keydown', function () { | |
| plugin.webkitRequestFullScreen(); | |
| }); | |
| if (window.eventSender) | |
| eventSender.keyDown('a'); | |
| } | |
| function checkForPlugin() | |
| { | |
| var plugin = document.getElementById('plugin'); | |
| if (plugin.testObject) | |
| test(); | |
| else | |
| setTimeout(checkForPlugin, 100); | |
| } | |
| window.onload = checkForPlugin; | |
| </script> |