blob: 8fc2a43433108e90ee1bdf63c3d464d3dcc2e755 [file] [log] [blame]
<!DOCTYPE html>
<title>Service Worker: Interfaces</title>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<script src="resources/interfaces.js"></script>
<script src="resources/test-helpers.js"></script>
<script>
test(function() {
var EVENT_HANDLER = 'object';
verify_interface(
'ServiceWorkerContainer', navigator.serviceWorker,
{
register: 'function',
getRegistration: 'function',
oncontrollerchange: EVENT_HANDLER,
onmessage: EVENT_HANDLER
});
}, 'Interfaces and attributes of ServiceWorkerContainer');
async_test(function(t) {
var EVENT_HANDLER = 'object';
var scope = 'resources/scope/interfaces-and-attributes';
service_worker_unregister_and_register(
t, 'resources/empty-worker.js', scope)
.then(function(registration) {
verify_interface(
'ServiceWorkerRegistration', registration,
{
installing: 'object',
waiting: 'object',
active: 'object',
scope: 'string',
unregister: 'function',
onupdatefound: EVENT_HANDLER
});
verify_interface(
'ServiceWorker', registration.installing,
{
scriptURL: 'string',
state: 'string',
onstatechange: EVENT_HANDLER
});
return registration.unregister();
})
.then(function() {
t.done();
})
.catch(unreached_rejection(t));
}, 'Interfaces and attributes of ServiceWorker');
service_worker_test(
'resources/interfaces-worker.js',
'Interfaces and attributes in ServiceWorkerGlobalScope');
</script>