| <!DOCTYPE html> |
| <title>SXG reporting test of sxg.cert_verification_error for navigation</title> |
| <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_test(async t => { |
| await fetchResourceWithBasicPolicy(); |
| const sxg_url = |
| alt_origin + |
| '/signed-exchange/resources/sxg/sxg-validity-period-too-long-cert-on-alt-origin.sxg?navigation'; |
| const cert_url = alt_origin + '/signed-exchange/resources/127.0.0.1.sxg.pem.cbor'; |
| const message = await openSXGInIframeAndWaitForMessage(t, sxg_url); |
| assert_equals(message.location, |
| innerURLOrigin() + '/signed-exchange/resources/inner-url.html'); |
| assert_true(message.is_fallback); |
| assert_true(await reportsExist([ |
| { |
| url: sxg_url, |
| user_agent: navigator.userAgent, |
| type: "network-error", |
| body: { |
| phase: "sxg", |
| type: "sxg.cert_verification_error", |
| status_code: 200, |
| referrer: location.href, |
| sxg: { |
| outer_url: sxg_url, |
| inner_url: |
| innerURLOrigin() + '/signed-exchange/resources/inner-url.html', |
| cert_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.href, |
| }, |
| metadata: { |
| content_type: "application/reports+json", |
| }, |
| }, |
| ])); |
| }, 'SXG reporting test of sxg.cert_verification_error for navigation.'); |
| </script> |
| </body> |