Add a test for documents without browsing contexts loading stylesheets.

This commit is contained in:
Josh Matthews 2016-07-04 14:04:27 -04:00
parent 29d3cbf34a
commit a8407174c5
3 changed files with 50 additions and 0 deletions

View file

@ -36270,6 +36270,12 @@
"path": "html/browsers/browsing-the-web/navigating-across-documents/empty_fragment.html",
"url": "/html/browsers/browsing-the-web/navigating-across-documents/empty_fragment.html"
}
],
"html/semantics/document-metadata/the-link-element/document-without-browsing-context.html": [
{
"path": "html/semantics/document-metadata/the-link-element/document-without-browsing-context.html",
"url": "/html/semantics/document-metadata/the-link-element/document-without-browsing-context.html"
}
]
}
},

View file

@ -0,0 +1,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>

View file

@ -0,0 +1,9 @@
def main(request, response):
try:
count = int(request.server.stash.take(request.GET["id"]))
except:
count = 0
if "count" in request.GET:
return str(count)
request.server.stash.put(request.GET["id"], str(count + 1))
return 'body { color: red }'