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

Side by Side Diff: chrome/test/data/push_messaging/push_messaging_test_android.html

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: Tweak for build error. 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 unified diff | Download patch
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html lang="en"> 2 <html lang="en">
3 <head> 3 <head>
4 <meta charset="UTF-8"> 4 <meta charset="UTF-8">
5 <title>Android Push API instrumentation test page</title> 5 <title>Android Push API instrumentation test page</title>
6 <link rel="manifest" href="manifest.json"> 6 <link rel="manifest" href="manifest.json">
7 </head> 7 </head>
8 <body> 8 <body>
9 <!-- This page is used by the PushMessagingTest instrumentation test. --> 9 <!-- This page is used by the PushMessagingTest instrumentation test. -->
10 <script src="../notifications/notification_test_utils.js"></script> 10 <script src="../notifications/notification_test_utils.js"></script>
11 <script> 11 <script>
12 // PushMessagingTest observes changes to the tab title as an asynchronous 12 // PushMessagingTest observes changes to the tab title as an asynchronous
13 // response mechanism from JavaScript to Java. 13 // response mechanism from JavaScript to Java.
14 // TODO(mvanouwerkerk): Use DomAutomationController - crbug.com/562487 14 // TODO(mvanouwerkerk): Use DomAutomationController - crbug.com/562487
15 function respondToTest(result) { 15 function sendToTest(message) {
16 document.title = result; 16 document.title = message;
johnme 2015/12/08 17:12:31 Please add some error handling for the case where
Michael van Ouwerkerk 2015/12/09 15:02:52 Done.
17 } 17 }
18 18
19 function subscribePush() { 19 function subscribePush() {
20 GetActivatedServiceWorker( 20 GetActivatedServiceWorker(
21 'push_messaging_test_worker_android.js', location.pathname) 21 'push_messaging_test_worker_android.js', location.pathname)
22 .then(registration => 22 .then(registration =>
23 registration.pushManager.subscribe({ userVisibleOnly: true })) 23 registration.pushManager.subscribe({ userVisibleOnly: true }))
24 .then(subscription => respondToTest('subscribe ok')) 24 .then(subscription => {
25 .catch(error => respondToTest('subscribe fail: ' + error)); 25 setupMessageHandler();
26 sendToTest('subscribe ok');
27 })
johnme 2015/12/08 17:12:31 Nit: this indentation feels a little odd. How abou
Michael van Ouwerkerk 2015/12/09 15:02:52 I've done something like that.
28 .catch(error => sendToTest('subscribe fail: ' + error));
29 }
30
31 // Sets whether the service worker should show a notification when it
32 // receives a push message or not.
33 function setNotifyOnPush(notify) {
johnme 2015/12/08 17:12:31 Can you add a "Called by test" comment, as otherwi
Michael van Ouwerkerk 2015/12/09 15:02:52 Done.
34 sendToServiceWorker('setNotifyOnPush', notify);
35 }
36
37 // Sends a message of type |type| with a data payload of |data| to the
38 // service worker.
39 function sendToServiceWorker(type, data) {
40 navigator.serviceWorker.ready
41 .then(registration => {
42 registration.active.postMessage(
43 JSON.stringify({'type': type, 'data': data}));
44 });
45 }
46
47 // The data for messages of type sendToTest will be passed to the test.
48 function setupMessageHandler() {
49 messagePort.addEventListener('message', event => {
50 var message = JSON.parse(event.data);
51 if (message.type == 'sendToTest')
52 sendToTest(message.data);
53 });
26 } 54 }
27 </script> 55 </script>
28 </body> 56 </body>
29 </html> 57 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698