Chromium Code Reviews| 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..89151b7f916a690a729ca29d228bf2e51d1eede4 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,49 @@ |
| // 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; |
| +// If true this service worker will show a notification when a push message is |
| +// received. |
| +var notifyOnPush = true; |
| + |
| +// The number of push messages received. |
| +var pushCounter = 0; |
| + |
| +// The number of notifications shown. |
| +var notificationCounter = 0; |
| + |
| onmessage = event => { |
| - messagePort = event.data; |
| - messagePort.postMessage('ready'); |
| + 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 ok'); |
| + return; |
| + } |
| + |
| + sendToTest('Unknown message type.'); |
| +}; |
| + |
| +onpush = event => { |
| + pushCounter++; |
| + if (notifyOnPush) { |
| + notificationCounter++; |
| + event.waitUntil(registration.showNotification( |
| + 'push notification ' + notificationCounter)); |
| + } |
| + sendToTest('push ' + pushCounter + ' ok'); |
|
johnme
2015/12/08 17:12:31
Nit: when notifyOnPush is true, consider waiting f
Michael van Ouwerkerk
2015/12/09 15:02:52
Obsolete as this no longer relies on setting the t
|
| }; |
| -onpush = event => |
| - event.waitUntil(registration.showNotification('push notification')); |
| +function sendToTest(message) { |
|
johnme
2015/12/08 17:12:31
Nit: maybe put this above onmessage?
Michael van Ouwerkerk
2015/12/09 15:02:52
Done.
|
| + messagePort.postMessage(JSON.stringify({ |
| + 'type': 'sendToTest', |
| + 'data': message |
| + })); |
| +} |