Index: LayoutTests/fullscreen/full-screen-placeholder.html |
diff --git a/LayoutTests/fullscreen/full-screen-placeholder.html b/LayoutTests/fullscreen/full-screen-placeholder.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..60a1c5ffc8691c22c2eb3deb9851585aed809195 |
--- /dev/null |
+++ b/LayoutTests/fullscreen/full-screen-placeholder.html |
@@ -0,0 +1,73 @@ |
+<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> |