<!DOCTYPE html>
<html>
<body>
<script src="../../../resources/js-test-pre.js"></script>
<script>
description("Tests that Window.showModalDialog is undefined if the client does not allow showing modal dialogs.");

debug("Make sure window.showModalDialog is undefined when modal dialogs are not allowed.");
evalAndLog("internals.setCanShowModalDialogOverride(false)");
shouldBe("window.showModalDialog", "undefined");
shouldBeFalse("window.hasOwnProperty('showModalDialog')");


debug("");
debug("Tests having a named property with name 'showModalDialog'.");
var testFrame = document.createElement("iframe");
testFrame.name = "showModalDialog";
evalAndLog("document.body.append(testFrame)");
shouldBe("window.showModalDialog", "testFrame.contentWindow");
evalAndLog("testFrame.remove()");
shouldBe("window.showModalDialog", "undefined");

debug("");
debug("Tests that window.showModalDialog is no longer undefined when modal dialogs become allowed.");
evalAndLog("internals.setCanShowModalDialogOverride(true)");
shouldNotBe("window.showModalDialog", "undefined");
shouldBeTrue("window.hasOwnProperty('showModalDialog')");
shouldBeType("window.showModalDialog", "Function");

debug("");
debug("Make sure window.showModalDialog can be shadowed.");
evalAndLog("window.showModalDialog = 1");
shouldBe("window.showModalDialog" , "1");
evalAndLog("delete window.showModalDialog");
shouldBe("window.showModalDialog", "undefined");

</script>
<script src="../../../resources/js-test-post.js"></script>
</body>
</html>
