OLD | NEW |
(Empty) | |
| 1 <!DOCTYPE html> |
| 2 <title>Service Worker: Synchronous XHR is intercepted</title> |
| 3 <script src="/resources/testharness.js"></script> |
| 4 <script src="/resources/testharnessreport.js"></script> |
| 5 <script src="resources/test-helpers.sub.js"></script> |
| 6 <script> |
| 7 'use strict'; |
| 8 |
| 9 promise_test(function(t) { |
| 10 var url = 'resources/fetch-request-xhr-sync-worker.js'; |
| 11 var scope = 'resources/fetch-request-xhr-sync-iframe.html'; |
| 12 var non_existent_file = 'non-existent-file.txt'; |
| 13 |
| 14 return service_worker_unregister_and_register(t, url, scope) |
| 15 .then(function(registration) { |
| 16 t.add_cleanup(function() { |
| 17 registration.unregister(); |
| 18 }); |
| 19 |
| 20 return wait_for_state(t, registration.installing, 'activated'); |
| 21 }) |
| 22 .then(function() { return with_iframe(scope); }) |
| 23 .then(function(frame) { |
| 24 t.add_cleanup(function() { |
| 25 frame.remove(); |
| 26 }); |
| 27 |
| 28 return new Promise(function(resolve, reject) { |
| 29 setTimeout(function() { |
| 30 var xhr; |
| 31 try { |
| 32 xhr = frame.contentWindow.performSyncXHR(non_existent_file); |
| 33 resolve(xhr); |
| 34 } catch (err) { |
| 35 reject(err); |
| 36 } |
| 37 }, 0); |
| 38 }) |
| 39 }) |
| 40 .then(function(xhr) { |
| 41 assert_equals( |
| 42 xhr.status, |
| 43 200, |
| 44 'HTTP response status code for intercepted request' |
| 45 ); |
| 46 assert_equals( |
| 47 xhr.responseText, |
| 48 'Response from service worker', |
| 49 'HTTP response text for intercepted request' |
| 50 ); |
| 51 }); |
| 52 }, 'Verify SyncXHR is intercepted'); |
| 53 </script> |
OLD | NEW |