gecko/dom/base/test/test_orientation_frame.html

38 lines
1.2 KiB
HTML

<!DOCTYPE html>
<meta charset="utf-8">
<title>Test for ScreenOrientation API</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="orientationcommon.js"></script>
<div id="log"></div>
<iframe id="frame"></iframe>
<script>
async_test(function(t) {
var originalOrientation = screen.orientation.type;
var alternateOrientation = originalOrientation == "portrait-primary" ?
"landscape-primary" : "portrait-primary";
window.addEventListener("message", function(event) {
t.step(function() { assert_array_equals(event.data, [alternateOrientation, originalOrientation]); });
t.done();
}, false);
var frame = document.getElementById("frame");
frame.src = "file_record_orientation.html";
frame.onload = function() {
var p = specialPowersLock(alternateOrientation);
p.then(function() {
return specialPowersLock(originalOrientation);
}).then(function() {
return specialPowersUnlock();
}).then(function() {
frame.contentWindow.postMessage("report", "*");
}).catch(t.step_func(function(err) {
assert_unreached("Error setting orientation: " + err);
t.done();
}));
};
}, "Test orientation change event in frame.");
</script>