| <!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> |