| <!DOCTYPE html> |
| <meta charset="utf-8"> |
| <title>Data URI parsing of fragments</title> |
| <link rel="help" href="https://url.spec.whatwg.org/"> |
| <meta name="assert" content="Fragments should not be included as part of a data URI's body"> |
| |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| |
| <iframe id="iframe"></iframe> |
| |
| <script> |
| const IFRAME_DATA_SRC = `data:text/html, |
| <style>:target { color: green; }<\/style> |
| <script>window.addEventListener('load', function() { |
| const data = { |
| foo_matches_target_selector: document.getElementById('foo').matches(':target'), |
| body_html: document.body.innerHTML, |
| }; |
| parent.postMessage(data, '*'); |
| });<\/script> |
| <p id="foo">This should be the only visible text.</p>#foo`.replace('\n', ''); |
| |
| async_test(function(t) { |
| window.addEventListener("message", t.step_func_done(function(event) { |
| assert_true(event.data.foo_matches_target_selector); |
| assert_equals(event.data.body_html, |
| '<p id="foo">This should be the only visible text.</p>'); |
| })); |
| |
| const iframe = document.getElementById("iframe"); |
| iframe.src = IFRAME_DATA_SRC; |
| }); |
| </script> |