blob: 7efeec3cf01b566841cc7265cef9e1e56b423c17 [file] [log] [blame]
<!DOCTYPE html>
<!-- This test is prefixed with `chromium.` because the equivalent version
available in Web Platform Tests is known to cause timeout errors in the
Chromium automated build system. This version should be maintained only to
preserve test coverage until the corresponding version in Web Platform Tests
can be made to pass consistently. See https://crbug.com/658997 -->
<title>Service Worker: check referer of fetch()</title>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<script src="../resources/get-host-info.js?pipe=sub"></script>
<script src="resources/test-helpers.js"></script>
<script>
async_test(function(t) {
var SCOPE = 'resources/referer-iframe.html';
var SCRIPT = 'resources/fetch-rewrite-worker.js';
var host_info = get_host_info();
service_worker_unregister_and_register(t, SCRIPT, SCOPE)
.then(function(registration) {
return wait_for_state(t, registration.installing, 'activated');
})
.then(function() { return with_iframe(SCOPE); })
.then(function(frame) {
var channel = new MessageChannel();
channel.port1.onmessage = t.step_func(function(e) {
assert_equals(e.data.results, 'finish');
frame.remove();
service_worker_unregister_and_done(t, SCOPE);
});
frame.contentWindow.postMessage({},
host_info['HTTP_ORIGIN'],
[channel.port2]);
})
.catch(unreached_rejection(t));
}, 'Verify the referer');
</script>