Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(535)

Unified Diff: chrome/test/data/push_messaging/push_messaging_test_worker_android.js

Issue 1485743002: Push API: test that default notification is shown on Android when needed. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@PushMessagingInstrumentationTest
Patch Set: Address bauerb's comments. Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/test/data/push_messaging/push_messaging_test_android.html ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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));
+ }
+};
« no previous file with comments | « chrome/test/data/push_messaging/push_messaging_test_android.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698