diff options
Diffstat (limited to 'testing/web-platform/tests/resource-timing/connection-reuse.html')
-rw-r--r-- | testing/web-platform/tests/resource-timing/connection-reuse.html | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/testing/web-platform/tests/resource-timing/connection-reuse.html b/testing/web-platform/tests/resource-timing/connection-reuse.html new file mode 100644 index 0000000000..a1bc927cfd --- /dev/null +++ b/testing/web-platform/tests/resource-timing/connection-reuse.html @@ -0,0 +1,56 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8" /> +<title>Resource Timing connection reuse</title> +<link rel="author" title="Google" href="http://www.google.com/" /> +<link rel="help" href="https://www.w3.org/TR/resource-timing-2/#sec-performanceresourcetiming"/> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/common/get-host-info.sub.js"></script> +<script src="resources/entry-invariants.js"></script> +<script src="resources/connection-reuse-test.js"></script> +<script> + const {HTTPS_ORIGIN} = get_host_info(); + + // Fetches the given subresource a couple times with the same connection. + const http_path = "resources/fake_responses.py"; + connection_reuse_test(http_path, + { + 'on_200': invariants.assert_tao_pass_no_redirect_http, + 'on_304': invariants.assert_tao_pass_304_not_modified_http, + }, "Reuse HTTP connection"); + + // Like above, but the subresource is fetched over HTTPS while this page is + // fetched over HTTP. + const https_url = `${HTTPS_ORIGIN}/resource-timing/${http_path}`; + connection_reuse_test(https_url, + { + 'on_200': invariants.assert_tao_pass_no_redirect_https, + 'on_304': invariants.assert_tao_pass_304_not_modified_https, + }, "Reuse HTTPS connection from HTTP page"); + + // Like the above mixed-content test but the final resource is behind an HTTP + // redirect response. + const redirect_path = (() => { + // The resource behind the redirect is the same fake_responses.py handler + // on the HTTPS origin. Pass it through encodeURIComponent so that it can + // be passed through a query-parameter. + const redirect_url = encodeURIComponent(https_url) + // The request is made to the HTTPS origin with a query parameter that will + // cause a 302 response. + return `${https_url}?redirect=${redirect_url}`; + })(); + connection_reuse_test(redirect_path, + { + 'on_200': invariants.assert_tao_enabled_cross_origin_redirected_resource, + 'on_304': invariants.assert_tao_enabled_cross_origin_redirected_resource, + }, "Reuse HTTPS connection with redirects from an HTTP page"); +</script> +</head> +<body> +<h1>Description</h1> +<p>See <a href="resources/connection-reuse-test.js">the included test + script</a></p> +</body> +</html> |