blob: 37a6df806af9ed682d159c3155923fe80ae655f5 [file] [log] [blame]
<!DOCTYPE html>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<iframe id=testIframe></iframe>
var notifyTest = async_test("Test that async event dispatch to detached frame is gracefully handled.");
function changeOrientationAndDetach() {
// Dispatch an orientationchange event; this is handled asynchronously,
// queueing a task/timer to do the actual dispatch.
// Detach the iframe while the event dispatch is in-flight. If
// the screen orientation controller is finalized during the
// detach, the async event dispatch just after will be treated
// like a no-op -- there's no controller to handle the dispatch.
setTimeout(function () { notifyTest.done(); }, 0);
notifyTest.step(function () {
// Force the creation of a ScreenOrientation and register it
// with the controller, so that orientationchange events are sent.
var currentType = window.screen.orientation.type;
testIframe.src = "resources/iframe-listen-orientation-change-detach.html";