74 lines
2.5 KiB
HTML
74 lines
2.5 KiB
HTML
<script src="full-screen-test.js"></script>
|
|
<style>
|
|
#float {
|
|
margin: 10px 0 0 10px;
|
|
height: 50px;
|
|
width: 50px;
|
|
float: left;
|
|
background-color: red;
|
|
}
|
|
#clear {
|
|
clear:left;
|
|
}
|
|
#one {
|
|
background-color: lightblue;
|
|
float: left;
|
|
}
|
|
#two {
|
|
background-color: lightgreen;
|
|
}
|
|
</style>
|
|
<body>
|
|
<div>This layout test checks that the offset positions of the blue and green divs does not change when the red div enters full-screen mode. Press <button onclick="document.getElementById('float').webkitRequestFullScreen()">go full-screen</a> to begin.</div>
|
|
<div id="float"></div>
|
|
<div id="one">One</div>
|
|
<div id="clear" />
|
|
<span id="two">Two</span>
|
|
<script>
|
|
var one = document.getElementById('one');
|
|
var two = document.getElementById('two');
|
|
|
|
// Bail out early if the full screen API is not enabled or is missing:
|
|
if (Element.prototype.webkitRequestFullScreen == undefined) {
|
|
logResult(false, "Element.prototype.webkitRequestFullScreen == undefined");
|
|
endTest();
|
|
} else {
|
|
var oneState = {'offsetLeft': one.offsetLeft, 'offsetTop': one.offsetTop };
|
|
var twoState = {'offsetLeft': two.offsetLeft, 'offsetTop': two.offsetTop };
|
|
|
|
|
|
var callback;
|
|
var fullscreenChanged = function(event)
|
|
{
|
|
if (callback)
|
|
callback(event)
|
|
};
|
|
waitForEvent(document, 'webkitfullscreenchange', fullscreenChanged);
|
|
|
|
var div = document.getElementById('float');
|
|
|
|
var divEnteredFullScreen = function() {
|
|
testExpected("document.webkitCurrentFullScreenElement", div);
|
|
testExpected("one.offsetLeft", oneState.offsetLeft);
|
|
testExpected("one.offsetTop", oneState.offsetTop);
|
|
testExpected("two.offsetLeft", twoState.offsetLeft);
|
|
testExpected("two.offsetTop", twoState.offsetTop);
|
|
callback = cancelledFullScreen;
|
|
runWithKeyDown(function(){document.webkitCancelFullScreen()});
|
|
};
|
|
|
|
var cancelledFullScreen = function() {
|
|
testExpected("document.webkitCurrentFullScreenElement", null);
|
|
testExpected("one.offsetLeft", oneState.offsetLeft);
|
|
testExpected("one.offsetTop", oneState.offsetTop);
|
|
testExpected("two.offsetLeft", twoState.offsetLeft);
|
|
testExpected("two.offsetTop", twoState.offsetTop);
|
|
callback = null;
|
|
endTest();
|
|
};
|
|
|
|
callback = divEnteredFullScreen;
|
|
runWithKeyDown(function(){div.webkitRequestFullScreen()});
|
|
}
|
|
</script>
|