Index: LayoutTests/fullscreen/full-screen-cancel-nested.html |
diff --git a/LayoutTests/fullscreen/full-screen-cancel-nested.html b/LayoutTests/fullscreen/full-screen-cancel-nested.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..51a9a01dbf3c2f45d1b9d6567ef0b20dd3cfda77 |
--- /dev/null |
+++ b/LayoutTests/fullscreen/full-screen-cancel-nested.html |
@@ -0,0 +1,44 @@ |
+<!DOCTYPE html> |
+<script src="full-screen-test.js"></script> |
+<p>Test that webkitCancelFullScreen only exits one level of fullscreen</p> |
+<div><span></span></div> |
+<script> |
+ // 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 callback; |
+ function fullscreenChanged(event) |
+ { |
+ if (callback) |
+ callback(event) |
+ }; |
+ waitForEvent(document, "webkitfullscreenchange", fullscreenChanged); |
+ |
+ var div = document.querySelector("div"); |
+ function divEnteredFullScreen() |
+ { |
+ testExpected("document.webkitCurrentFullScreenElement", div); |
+ callback = spanEnteredFullScreen; |
+ runWithKeyDown(function() { span.webkitRequestFullScreen(); }); |
+ }; |
+ |
+ var span = document.querySelector("span"); |
+ function spanEnteredFullScreen() |
+ { |
+ testExpected("document.webkitCurrentFullScreenElement", span); |
+ callback = cancelledFullScreen; |
+ document.webkitCancelFullScreen(); |
+ }; |
+ |
+ function cancelledFullScreen() |
+ { |
+ testExpected("document.webkitCurrentFullScreenElement", div); |
+ endTest(); |
+ }; |
+ |
+ callback = divEnteredFullScreen; |
+ runWithKeyDown(function() { div.webkitRequestFullScreen(); }); |
+ } |
+</script> |