blob: 44ccb1ce17078f6eae071f5981db8bab78189993 [file] [log] [blame]
<!DOCTYPE html>
<title>Service Worker: timezonechange event</title>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../serviceworker/resources/test-helpers.js"></script>
<script>
promise_test(t => {
const script = 'resources/service-worker-timezonechange.js';
const scope = 'resources/blank.html';
let worker;
let port;
return service_worker_unregister_and_register(t, script, scope)
.then(registration => {
t.add_cleanup(() => registration.unregister());
worker = registration.installing;
const messageChannel = new MessageChannel();
port = messageChannel.port1;
return new Promise(resolve => {
port.onmessage = resolve;
worker.postMessage({port: messageChannel.port2},
[messageChannel.port2]);
});
})
.then(e => {
assert_equals(e.data, 'READY');
// Change the timezone once the service worker is ready.
internals.setSystemTimeZone('Asia/Taipei');
return new Promise(resolve => { port.onmessage = resolve; });
})
.then(e => {
assert_equals(e.data, 'SUCCESS');
});
}, 'timezonechange event work in ServiceWorker');
</script>