зеркало из https://github.com/mozilla/gecko-dev.git
52 строки
2.3 KiB
HTML
52 строки
2.3 KiB
HTML
<html>
|
|
<head></head>
|
|
<body>
|
|
<script type="text/javascript">
|
|
var expectedEvents = 2;
|
|
function eventReceived() {
|
|
window.parent.postMessage({ type: "check", status: expectedEvents > 0, msg: "updatefound received" }, "*");
|
|
|
|
if (--expectedEvents) {
|
|
window.parent.postMessage({ type: "finish" }, "*");
|
|
}
|
|
}
|
|
|
|
navigator.serviceWorker.getRegistrations().then(function(a) {
|
|
window.parent.postMessage({ type: "check", status: Array.isArray(a),
|
|
msg: "getRegistrations returns an array" }, "*");
|
|
window.parent.postMessage({ type: "check", status: a.length > 0,
|
|
msg: "getRegistrations returns an array with 1 item" }, "*");
|
|
for (var i = 0; i < a.length; ++i) {
|
|
window.parent.postMessage({ type: "check", status: a[i] instanceof ServiceWorkerRegistration,
|
|
msg: "getRegistrations returns an array of ServiceWorkerRegistration objects" }, "*");
|
|
if (a[i].scope.match(/simpleregister\//)) {
|
|
a[i].onupdatefound = function(e) {
|
|
eventReceived();
|
|
}
|
|
}
|
|
}
|
|
});
|
|
|
|
navigator.serviceWorker.getRegistration('http://mochi.test:8888/tests/dom/workers/test/serviceworkers/simpleregister/')
|
|
.then(function(a) {
|
|
window.parent.postMessage({ type: "check", status: a instanceof ServiceWorkerRegistration,
|
|
msg: "getRegistration returns a ServiceWorkerRegistration" }, "*");
|
|
a.onupdatefound = function(e) {
|
|
eventReceived();
|
|
}
|
|
});
|
|
|
|
navigator.serviceWorker.getRegistration('http://www.something_else.net/')
|
|
.then(function(a) {
|
|
window.parent.postMessage({ type: "check", status: false,
|
|
msg: "getRegistration should throw for security error!" }, "*");
|
|
}, function(a) {
|
|
window.parent.postMessage({ type: "check", status: true,
|
|
msg: "getRegistration should throw for security error!" }, "*");
|
|
});
|
|
|
|
window.parent.postMessage({ type: "ready" }, "*");
|
|
</script>
|
|
</body>
|
|
</html>
|