mirror of
https://github.com/servo/servo
synced 2026-05-09 00:22:16 +02:00
53 lines
1.7 KiB
HTML
53 lines
1.7 KiB
HTML
<!DOCTYPE html>
|
|
<title>Service Worker: Visibility of headers during fetch.</title>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="resources/get-host-info.sub.js"></script>
|
|
<script src="resources/test-helpers.sub.js"></script>
|
|
<body>
|
|
<script>
|
|
var worker = 'resources/fetch-rewrite-worker.js';
|
|
var path = base_path() + 'resources/fetch-access-control.py';
|
|
var host_info = get_host_info();
|
|
var frame;
|
|
|
|
async_test(function(t) {
|
|
var scope = 'resources/fetch-header-visibility-iframe.html';
|
|
service_worker_unregister_and_register(t, worker, scope)
|
|
.then(function(reg) {
|
|
return wait_for_state(t, reg.installing, 'activated');
|
|
})
|
|
.then(function() {
|
|
frame = document.createElement('iframe');
|
|
frame.src = scope;
|
|
document.body.appendChild(frame);
|
|
|
|
// Resolve a promise when we recieve 2 success messages
|
|
return new Promise(function(resolve, reject) {
|
|
var remaining = 4;
|
|
function onMessage(e) {
|
|
if (e.data == 'PASS') {
|
|
remaining--;
|
|
if (remaining == 0) {
|
|
resolve();
|
|
} else {
|
|
return;
|
|
}
|
|
} else {
|
|
reject(e.data);
|
|
}
|
|
|
|
window.removeEventListener('message', onMessage);
|
|
}
|
|
window.addEventListener('message', onMessage);
|
|
});
|
|
})
|
|
.then(function(result) {
|
|
frame.remove();
|
|
return service_worker_unregister_and_done(t, scope);
|
|
})
|
|
.catch(unreached_rejection(t));
|
|
}, 'Visibility of defaulted headers during interception');
|
|
</script>
|
|
</body>
|