70 lines
1.9 KiB
HTML
70 lines
1.9 KiB
HTML
<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>
|