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