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