blob: 95cd140cea9e627879b87507f3731024eb99d1d9 [file] [log] [blame]
<!DOCTYPE html>
<title>SXG reporting test of sxg.parse_error for navigation</title>
<meta name="timeout" content="long">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/get-host-info.sub.js"></script>
<script src="/network-error-logging/support/nel.sub.js"></script>
<script src="../resources/sxg-util.js"></script>
<body>
<script>
const alt_origin = get_host_info().HTTPS_NOTSAMESITE_ORIGIN;
nel_iframe_test(async t => {
await loadResourceWithBasicPolicyInIframe();
const sxg_url =
alt_origin +
'/signed-exchange/resources/sxg/sxg-invalid-format.sxg?navigation';
try {
const message = await openSXGInIframeAndWaitForMessage(t, sxg_url);
if (message.is_fallback) {
assert_unreached('Fallback redirect should not have happened');
} else {
assert_unreached('SXG should not have loaded');
}
} catch (e) {
assert_equals(e, 'timeout');
}
assert_true(await reportsExist([
{
url: sxg_url,
user_agent: navigator.userAgent,
type: "network-error",
body: {
phase: "sxg",
type: "sxg.parse_error",
status_code: 200,
referrer: location.origin + '/',
sxg: {
outer_url: sxg_url,
cert_url: []
}
},
metadata: {
content_type: "application/reports+json",
},
},
{
url: sxg_url,
user_agent: navigator.userAgent,
type: "network-error",
body: {
phase: "application",
type: "ok",
status_code: 200,
referrer: location.origin + '/',
},
metadata: {
content_type: "application/reports+json",
},
},
]));
}, 'SXG reporting test of sxg.parse_error for navigation.');
</script>
</body>