mirror of
https://github.com/servo/servo.git
synced 2025-07-13 10:23:40 +01:00
45 lines
1.8 KiB
HTML
45 lines
1.8 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>CSS integration - child css via a ProcessingInstruction</title>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="/common/utils.js"></script>
|
|
<!-- Common global functions for referrer-policy tests. -->
|
|
<script src="/common/security-features/resources/common.js"></script>
|
|
<script src="/referrer-policy/generic/referrer-policy-test-case.js"></script>
|
|
<meta name="referrer" content="origin">
|
|
</head>
|
|
<body>
|
|
<p>Check that child css are loaded with the referrer and referrer policy the
|
|
external stylesheet(referenced from a ProcessingInstruction).</p>
|
|
<div class="styled"></div>
|
|
|
|
<script>
|
|
promise_test(function(css_test) {
|
|
let id = token();
|
|
let url_prefix = location.protocol + "//www1." + location.hostname + ":" +
|
|
location.port +
|
|
"/common/security-features/subresource/stylesheet.py?id=" +
|
|
id;
|
|
let css_url = url_prefix + "&import-rule";
|
|
let expected = url_prefix + "&import-rule";
|
|
let check_url = url_prefix + "&report-headers";
|
|
|
|
let processingInstruction =
|
|
document.createProcessingInstruction(
|
|
"xml-stylesheet", "href=\"" +css_url + "\" type=\"text/css\"");
|
|
document.insertBefore(processingInstruction, document.firstChild);
|
|
return timeoutPromise(css_test, 1000)
|
|
.then(() => requestViaXhr(check_url))
|
|
.then(function(message) {
|
|
assert_own_property(message, "headers");
|
|
assert_own_property(message, "referrer");
|
|
assert_equals(message.referrer, expected);
|
|
});
|
|
}, "Child css via a ProcessingInstruction.");
|
|
</script>
|
|
|
|
<div id="log"></div>
|
|
</body>
|
|
</html>
|