| <!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> |