blob: a1bc927cfd3f2bdd960c4f686951b826f75e8fc8 [file] [log] [blame]
Tom McKee5658e952021-05-26 20:32:421<!DOCTYPE html>
2<html>
3<head>
4<meta charset="utf-8" />
5<title>Resource Timing connection reuse</title>
6<link rel="author" title="Google" href="http://www.google.com/" />
7<link rel="help" href="https://www.w3.org/TR/resource-timing-2/#sec-performanceresourcetiming"/>
8<script src="/resources/testharness.js"></script>
9<script src="/resources/testharnessreport.js"></script>
Tom McKee7657d9b2021-06-10 20:40:2310<script src="/common/get-host-info.sub.js"></script>
Tom McKee5658e952021-05-26 20:32:4211<script src="resources/entry-invariants.js"></script>
12<script src="resources/connection-reuse-test.js"></script>
Tom McKee7657d9b2021-06-10 20:40:2313<script>
14 const {HTTPS_ORIGIN} = get_host_info();
15
16 // Fetches the given subresource a couple times with the same connection.
17 const http_path = "resources/fake_responses.py";
18 connection_reuse_test(http_path,
19 {
20 'on_200': invariants.assert_tao_pass_no_redirect_http,
21 'on_304': invariants.assert_tao_pass_304_not_modified_http,
22 }, "Reuse HTTP connection");
23
24 // Like above, but the subresource is fetched over HTTPS while this page is
25 // fetched over HTTP.
26 const https_url = `${HTTPS_ORIGIN}/resource-timing/${http_path}`;
27 connection_reuse_test(https_url,
28 {
29 'on_200': invariants.assert_tao_pass_no_redirect_https,
30 'on_304': invariants.assert_tao_pass_304_not_modified_https,
31 }, "Reuse HTTPS connection from HTTP page");
32
33 // Like the above mixed-content test but the final resource is behind an HTTP
34 // redirect response.
35 const redirect_path = (() => {
36 // The resource behind the redirect is the same fake_responses.py handler
37 // on the HTTPS origin. Pass it through encodeURIComponent so that it can
38 // be passed through a query-parameter.
39 const redirect_url = encodeURIComponent(https_url)
40 // The request is made to the HTTPS origin with a query parameter that will
41 // cause a 302 response.
42 return `${https_url}?redirect=${redirect_url}`;
43 })();
44 connection_reuse_test(redirect_path,
45 {
46 'on_200': invariants.assert_tao_enabled_cross_origin_redirected_resource,
47 'on_304': invariants.assert_tao_enabled_cross_origin_redirected_resource,
48 }, "Reuse HTTPS connection with redirects from an HTTP page");
49</script>
Tom McKee5658e952021-05-26 20:32:4250</head>
51<body>
52<h1>Description</h1>
53<p>See <a href="resources/connection-reuse-test.js">the included test
54 script</a></p>
55</body>
56</html>