| <!doctype html> |
| <meta charset="utf-8"> |
| <title>Documents without browsing contexts should not load stylesheets</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/common/utils.js"></script> |
| <body> |
| <script> |
| function count(id, t) { |
| var xhr = new XMLHttpRequest(); |
| xhr.open('GET', 'stylesheet.py?count=1&id=' + id); |
| xhr.onload = t.step_func_done(function() { |
| assert_equals(xhr.responseText, "1"); |
| }); |
| xhr.onerror = t.unreached_func(); |
| xhr.send(); |
| } |
| |
| async_test(function(t) { |
| var id = token(); |
| var doc = (new DOMParser()).parseFromString('<link rel="stylesheet" href="stylesheet.py?id=' + id + '"></link>', 'text/html'); |
| var link = doc.querySelector('link'); |
| document.head.appendChild(link); |
| t.step_timeout(function() { count(id, t) }, 500); |
| }, 'Create a document, adopt the node'); |
| |
| async_test(function(t) { |
| var id = token(); |
| var d = document.createElement('div'); |
| document.body.appendChild(d); |
| d.innerHTML = '<link rel="stylesheet" href="stylesheet.py?id=' + id + '"></link>'; |
| t.step_timeout(function() { count(id, t) }, 500); |
| }, 'Create a stylesheet in innerHTML document'); |
| </script> |
| </body> |