blob: 536107a0d6fcf3acb5f1a87a044b039e02183c7f [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>This test validates that object resource emit resource timing entries.</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/resource-loaders.js"></script>
</head>
<body>
<script>
const load_image_object = async path => {
return load.object(path, "image/png");
}
const load_null_object = async path => {
return load.object(path, null);
}
attribute_test(
load_null_object, "resources/status-code.py?status=200&type=none",
invariants.assert_tao_pass_no_redirect_http,
"Verify that a 200 null-typed object emits an entry.");
attribute_test(
load_null_object, "resources/status-code.py?status=404&type=none",
invariants.assert_tao_pass_no_redirect_http,
"Verify that a 404 null-typed object emits an entry.");
attribute_test(
load_image_object, "resources/status-code.py?status=404&type=img",
invariants.assert_tao_pass_no_redirect_http,
"Verify that a 404 img-typed object emits an entry.");
const {HTTP_REMOTE_ORIGIN, HTTP_ORIGIN} = get_host_info();
let redirect_url = HTTP_REMOTE_ORIGIN + '/resource-timing/resources/multi_redirect.py?';
redirect_url += 'page_origin=' + HTTP_ORIGIN;
redirect_url += '&cross_origin=' + HTTP_REMOTE_ORIGIN;
redirect_url += '&final_resource=' +
encodeURIComponent("/resource-timing/resources/status-code.py?status=404&type=img&tao_value=*");
redirect_url += '&tao_steps=';
const redirect_url_with_tao = redirect_url + "3";
const redirect_url_without_tao = redirect_url + "0";
attribute_test(
load_image_object, redirect_url_with_tao,
invariants.assert_tao_pass_404_with_redirect_http,
"Verify that a 404 img-typed cross-origin TAO enabled object emits an entry.");
attribute_test(
load_null_object, redirect_url_with_tao,
invariants.assert_tao_pass_404_with_redirect_http,
"Verify that a 404 null-typed cross-origin TAO enabled object emits an entry.");
attribute_test(
load_image_object, redirect_url_without_tao,
invariants.assert_cross_origin_redirected_resource,
"Verify that a 404 img-typed cross-origin object emits an entry.");
attribute_test(
load_null_object, redirect_url_without_tao,
invariants.assert_cross_origin_redirected_resource,
"Verify that a 404 null-typed cross-origin object emits an entry.");
</script>