blob: c1a560e2d14a3ba045bf680a42622ff40892fd06 [file] [log] [blame]
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="./support/helper.js"></script>
<meta http-equiv="Content-Security-Policy" content="require-trusted-types">
<body>
<script>
//HTML assignments don't throw
async_test(t => {
var html = TrustedHTML.escape(STRINGS.unescapedHTML);
var frame = document.createElement('iframe');
frame.srcdoc = html;
frame.onload = t.step_func_done(_ => {
assert_equals(frame.srcdoc, STRINGS.escapedHTML);
});
document.body.appendChild(frame);
}, "srcdoc = TrustedHTML.escape().");
async_test(t => {
var html = TrustedHTML.unsafelyCreate(STRINGS.unescapedHTML);
var frame = document.createElement('iframe');
frame.srcdoc = html;
frame.onload = t.step_func_done(_ => {
assert_equals(frame.srcdoc, STRINGS.unescapedHTML);
});
document.body.appendChild(frame);
}, "srcdoc = TrustedHTML.unsafelyCreate().");
//String assignment throws
test(t => {
var frame = document.createElement('iframe');
assert_throws(new TypeError(), _ => {
frame.srcdoc = "Fail";
});
document.body.appendChild(frame);
}, "'srcdoc = string' throws.");
</script>