blob: b957488bee42d17b3160144b1cdaccfdfb8f1689 [file] [log] [blame]
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support/helper.sub.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>