summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/semantics/document-metadata/the-link-element/document-without-browsing-context.html
blob: 127b253f59a555bdb6e8e40ccacc057847bf4c87 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<!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>