mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-21 01:05:45 +00:00
25e263af21
client.focus() now directly uses the DOMServiceWorkerFocusClient event. The platform popup checking is not available on service workers. Instead each worker maintains a counter of if it is allowed to interact with windows. This counter is currently only incremented by the notificationclick event and dropped after the event has been dispatched. Since acquiring a client is an async operation most service workers will perform in notificationclick, an additional extension is granted after the event during which the service worker may focus a client. This extension is only granted if the script invokes NotificationEvent.waitUntil() at which point the timer begins. The extension is terminated when the Promise passed to waitUntil() is fulfilled, or the timer expires, whichever comes first. --HG-- extra : commitid : 5wavKTRZWcy extra : rebase_source : fc8ab4ef6c9bf384b5525b0bc979b3cedc4e1d6c
29 lines
666 B
HTML
29 lines
666 B
HTML
<!--
|
|
Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/
|
|
-->
|
|
<!DOCTYPE HTML>
|
|
<html>
|
|
<head>
|
|
<title>Bug 1144660 - controlled page</title>
|
|
<script class="testbody" type="text/javascript">
|
|
var testWindow = parent;
|
|
if (opener) {
|
|
testWindow = opener;
|
|
}
|
|
|
|
navigator.serviceWorker.ready.then(function(swr) {
|
|
swr.showNotification("Hi there. The ServiceWorker should receive a click event for this.");
|
|
});
|
|
|
|
navigator.serviceWorker.onmessage = function(msg) {
|
|
dump("GOT Message " + JSON.stringify(msg.data) + "\n");
|
|
testWindow.callback(msg.data.ok);
|
|
};
|
|
</script>
|
|
|
|
</head>
|
|
<body>
|
|
</body>
|
|
</html>
|