| Index: chrome/test/data/push_messaging/push_messaging_test_worker_android.js
|
| diff --git a/chrome/test/data/push_messaging/push_messaging_test_worker_android.js b/chrome/test/data/push_messaging/push_messaging_test_worker_android.js
|
| index 92c8e5e8e8de791e235ceeb6d24bfa8aa952a868..2494199530b4521361b6608662459fb6e72f9e5d 100644
|
| --- a/chrome/test/data/push_messaging/push_messaging_test_worker_android.js
|
| +++ b/chrome/test/data/push_messaging/push_messaging_test_worker_android.js
|
| @@ -2,12 +2,45 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| +// The MessagePort to communicate with the client.
|
| var messagePort = null;
|
|
|
| -onmessage = event => {
|
| - messagePort = event.data;
|
| - messagePort.postMessage('ready');
|
| +// If true this service worker will show a notification when a push message is
|
| +// received.
|
| +var notifyOnPush = true;
|
| +
|
| +// The number of notifications shown.
|
| +var notificationCounter = 0;
|
| +
|
| +// Sends a message to the test, via the page.
|
| +function sendToTest(message) {
|
| + messagePort.postMessage(JSON.stringify({
|
| + 'type': 'sendToTest',
|
| + 'data': message
|
| + }));
|
| +}
|
| +
|
| +self.onmessage = event => {
|
| + if (event.data instanceof MessagePort) {
|
| + messagePort = event.data;
|
| + messagePort.postMessage('ready');
|
| + return;
|
| + }
|
| +
|
| + var message = JSON.parse(event.data);
|
| + if (message.type == 'setNotifyOnPush') {
|
| + notifyOnPush = message.data;
|
| + sendToTest('setNotifyOnPush ' + message.data + ' ok');
|
| + return;
|
| + }
|
| +
|
| + sendToTest('Unknown message type.');
|
| };
|
|
|
| -onpush = event =>
|
| - event.waitUntil(registration.showNotification('push notification'));
|
| +self.onpush = event => {
|
| + if (notifyOnPush) {
|
| + notificationCounter++;
|
| + event.waitUntil(registration.showNotification(
|
| + 'push notification ' + notificationCounter));
|
| + }
|
| +};
|
|
|