OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <script src="../resources/testharness.js"></script> | 2 <script src="/resources/testharness.js"></script> |
3 <script src="../resources/testharnessreport.js"></script> | 3 <script src="/resources/testharnessreport.js"></script> |
4 <script src="../resources/get-host-info.js"></script> | 4 <script src="resources/get-host-info.sub.js"></script> |
5 <script src="resources/test-helpers.js"></script> | 5 <script src="resources/test-helpers.sub.js"></script> |
6 <script> | 6 <script> |
7 function resourceUrl(path) { | 7 function resourceUrl(path) { |
8 return get_host_info()['HTTP_ORIGIN'] + base_path() + path; | 8 return get_host_info()['HTTP_ORIGIN'] + base_path() + path; |
9 } | 9 } |
10 | 10 |
11 function verify(performance, resource, description) { | 11 function verify(performance, resource, description) { |
12 var entry = performance.getEntriesByName(resourceUrl(resource))[0]; | 12 var entry = performance.getEntriesByName(resourceUrl(resource))[0]; |
13 assert_greater_than(entry.workerStart, 0, description); | 13 assert_greater_than(entry.workerStart, 0, description); |
14 assert_greater_than_equal(entry.workerStart, entry.startTime, description); | 14 assert_greater_than_equal(entry.workerStart, entry.startTime, description); |
15 assert_less_than_equal(entry.workerStart, entry.fetchStart, description); | 15 assert_less_than_equal(entry.workerStart, entry.fetchStart, description); |
16 if (resource.indexOf('redirect.php') != -1) { | 16 if (resource.indexOf('redirect.py') != -1) { |
17 assert_less_than_equal(entry.workerStart, entry.redirectStart, | 17 assert_less_than_equal(entry.workerStart, entry.redirectStart, |
18 description); | 18 description); |
19 } else { | 19 } else { |
20 assert_equals(entry.redirectStart, 0, description); | 20 assert_equals(entry.redirectStart, 0, description); |
21 } | 21 } |
22 } | 22 } |
23 | 23 |
24 async_test(function(t) { | 24 async_test(function(t) { |
25 var worker_url = 'resources/resource-timing-worker.js'; | 25 var worker_url = 'resources/resource-timing-worker.js'; |
26 var scope = 'resources/resource-timing-iframe.html'; | 26 var scope = 'resources/resource-timing-iframe.html'; |
27 var registration; | 27 var registration; |
28 | 28 |
29 service_worker_unregister_and_register(t, worker_url, scope) | 29 service_worker_unregister_and_register(t, worker_url, scope) |
30 .then(function(r) { | 30 .then(function(r) { |
31 registration = r; | 31 registration = r; |
32 return wait_for_state(t, r.installing, 'activated'); | 32 return wait_for_state(t, r.installing, 'activated'); |
33 }) | 33 }) |
34 .then(function() { | 34 .then(function() { |
35 return with_iframe(scope); | 35 return with_iframe(scope); |
36 }) | 36 }) |
37 .then(function(frame) { | 37 .then(function(frame) { |
38 var performance = frame.contentWindow.performance; | 38 var performance = frame.contentWindow.performance; |
39 verify(performance, 'resources/dummy.js', 'Generated response'); | 39 verify(performance, 'resources/dummy.js', 'Generated response'); |
40 verify(performance, 'resources/empty.js', 'Network fallback'); | 40 verify(performance, 'resources/empty.js', 'Network fallback'); |
41 verify(performance, 'resources/redirect.php?Redirect=empty.js', | 41 verify(performance, 'resources/redirect.py?Redirect=empty.js', |
42 'Redirect'); | 42 'Redirect'); |
43 frame.remove(); | 43 frame.remove(); |
44 return registration.unregister(); | 44 return registration.unregister(); |
45 }) | 45 }) |
46 .then(function() { | 46 .then(function() { |
47 t.done(); | 47 t.done(); |
48 }) | 48 }) |
49 .catch(unreached_rejection(t)); | 49 .catch(unreached_rejection(t)); |
50 }, 'Controlled resource loads'); | 50 }, 'Controlled resource loads'); |
51 | 51 |
52 test(function() { | 52 test(function() { |
53 var url = resourceUrl('resources/test-helpers.js'); | 53 var url = resourceUrl('resources/test-helpers.sub.js'); |
54 var entry = window.performance.getEntriesByName(url)[0]; | 54 var entry = window.performance.getEntriesByName(url)[0]; |
55 assert_equals(entry.workerStart, 0, 'Non-controlled'); | 55 assert_equals(entry.workerStart, 0, 'Non-controlled'); |
56 }, 'Non-controlled resource loads'); | 56 }, 'Non-controlled resource loads'); |
57 | 57 |
58 </script> | 58 </script> |
OLD | NEW |