| <!doctype html> |
| <html lang="en"> |
| <head> |
| <meta charset="utf-8"> |
| <title>Android Web Notifications Instrumentation test-page</title> |
| </head> |
| <body> |
| <!-- This page is used by the NotificationPlatformBridgeTest instrumentation |
| test suite on Android. --> |
| <script src="notification_test_utils.js"></script> |
| <script> |
| function GetActivatedServiceWorkerForTest() { |
| return GetActivatedServiceWorker( |
| 'android_test_worker.js', location.pathname); |
| } |
| |
| function SetupReplyForwardingForTests() { |
| GetActivatedServiceWorkerForTest() |
| .then(registration => { |
| messagePort.addEventListener('message', function replyListener(event) { |
| if (event.data.startsWith('reply: ')) { |
| messagePort.removeEventListener('message', replyListener); |
| sendToTest(event.data); |
| }}); |
| }) |
| .catch(sendToTest); |
| } |
| |
| // NotificationPlatformBridgeTest observes changes to the tab title as an |
| // asynchronous response mechanism from JavaScript to Java. |
| var errorCounter = 0; |
| function sendToTest(message) { |
| // Duplicate messages cannot be detected by the test, don't send them. |
| if (message == document.title) { |
| console.log('Duplicate message: ' + message); |
| message = |
| 'Error ' + errorCounter + ' - duplicate message: ' + message; |
| errorCounter++; |
| } |
| document.title = message; |
| } |
| |
| // Some tests require a count of how frequently they were invoked. |
| var message_counts = {} |
| function addCountAndSendToTest(message) { |
| if (message in message_counts) { |
| message_counts[message]++; |
| } else { |
| message_counts[message] = 1; |
| } |
| document.title = message + ': ' + message_counts[message]; |
| } |
| </script> |
| </body> |
| </html> |