blob: 15fcdfc413865534df052cc207b4363ca61526a9 [file] [log] [blame]
<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>