| // Copyright 2014 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // Service Worker to be used with the platform_notification_service.html page. |
| var messagePort = null; |
| |
| addEventListener('message', function (event) { |
| messagePort = event.data; |
| messagePort.postMessage('ready'); |
| }); |
| |
| // The notificationclick event will be invoked when a persistent notification |
| // has been clicked on. When this happens, the title determines whether this |
| // Service Worker has to act upon this. |
| addEventListener('notificationclick', function (event) { |
| if (event.notification.title == 'action_close') |
| event.notification.close(); |
| |
| var message = event.notification.title; |
| |
| if (message == 'action_button_click') |
| message += ' ' + event.action; |
| |
| messagePort.postMessage(message); |
| }); |
| |
| // The notificationclose event will be invoked when a persistent notification |
| // has been closed by the user. |
| addEventListener('notificationclose', function (event) { |
| messagePort.postMessage('closing notification: ' + event.notification.title); |
| }); |