blob: 5da0e9701369ee2b892b1272e1f48d4c16c71d56 [file] [log] [blame]
<!DOCTYPE html>
<title>Service Worker: Registration</title>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<script src="resources/test-helpers.js"></script>
<script>
function fetch_url(url) {
return new Promise(function(resolve, reject) {
var request = new XMLHttpRequest();
request.addEventListener('load', function(event) {
if (request.status == 200)
resolve(request.response);
else
reject(Error(request.statusText));
});
request.open('GET', url);
request.send();
});
}
var worker = 'resources/fail-on-fetch-worker.js';
async_test(function(t) {
var scope = 'resources/scope/uncontrolled-page/';
service_worker_unregister_and_register(t, worker, scope)
.then(function(reg) {
return wait_for_state(t, reg.installing, 'activated');
})
.then(function() {
return fetch_url('/serviceworker/resources/simple.txt');
})
.then(function(text) {
assert_equals(text, 'a simple text file\n');
service_worker_unregister_and_done(t, scope);
})
.catch(t.step_func(function(reason) {
assert_unreached(reason.message);
}));
}, 'Fetch events should not go through uncontrolled page.');
</script>