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

Unified Diff: chrome/test/data/push_messaging/test.html

Issue 778243002: Push API: Return cached registration if available. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@store2
Patch Set: Address review comments Created 6 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
Index: chrome/test/data/push_messaging/test.html
diff --git a/chrome/test/data/push_messaging/test.html b/chrome/test/data/push_messaging/test.html
index 66b6e2f615bb890c652e8d8dd4b5ee464712d726..1cc7dc84a89727e3b39f3223c0f281731d8b9071 100644
--- a/chrome/test/data/push_messaging/test.html
+++ b/chrome/test/data/push_messaging/test.html
@@ -3,123 +3,7 @@
<head>
<title>Push API Test</title>
<link rel="manifest" href="manifest.json">
- <script>
- var pushData = new FutureData();
-
- // Sends data back to the test. This must be in response to an earlier
- // request, but it's ok to respond asynchronously. The request blocks until
- // the response is sent.
- function sendResultToTest(result) {
- console.log('sendResultToTest: ' + result);
- if (window.domAutomationController) {
- domAutomationController.send('' + result);
- }
- }
-
- function sendErrorToTest(error) {
- sendResultToTest(error.name + ' - ' + error.message);
- }
-
- // A container for a single piece of data. The data does not have to be
- // available yet when the getter is called, as all responses to the test are
- // asynchronous.
- function FutureData() {
- this.data = null;
- this.waiting = false;
- }
-
- // Sends the data to the test if it is available. Otherwise sets the
- // |waiting| flag.
- FutureData.prototype.get = function() {
- if (this.data) {
- sendResultToTest(this.data);
- } else {
- this.waiting = true;
- }
- };
-
- // Sets a new data value. If the |waiting| flag is on, it is turned off and
- // the data is sent to the test.
- FutureData.prototype.set = function(data) {
- this.data = data;
- if (this.waiting) {
- sendResultToTest(data);
- this.waiting = false;
- }
- };
-
- FutureData.prototype.getImmediately = function() {
- sendResultToTest(this.data);
- };
-
- // Notification permission has been coalesced with Push permission. After
- // this is granted, Push API registration can succeed.
- function requestNotificationPermission() {
- Notification.requestPermission(function(permission) {
- sendResultToTest('permission status - ' + permission);
- });
- }
-
- function registerServiceWorker() {
- navigator.serviceWorker.register('service_worker.js', {scope: './'}).then(
- function(swRegistration) {
- sendResultToTest('ok - service worker registered');
- }, sendErrorToTest);
- }
-
- function unregisterServiceWorker() {
- navigator.serviceWorker.getRegistration().then(function(swRegistration) {
- swRegistration.unregister().then(function(result) {
- sendResultToTest('service worker unregistration status: ' + result);
- })
- }).catch(sendErrorToTest);
- }
-
- function removeManifest() {
- var element = document.querySelector('link[rel="manifest"]');
- if (element) {
- element.parentNode.removeChild(element);
- sendResultToTest('manifest removed');
- } else
- sendResultToTest('unable to find manifest element');
- }
-
- function registerPush() {
- navigator.serviceWorker.ready.then(function(swRegistration) {
- // TODO(mvanouwerkerk): Cleanup once the final API is exposed.
- var pushManager = swRegistration.pushManager || navigator.push;
- pushManager.register().then(function(pushRegistration) {
- sendResultToTest(pushRegistration.pushEndpoint + ' - ' +
- pushRegistration.pushRegistrationId);
- }, sendErrorToTest);
- }, sendErrorToTest);
- }
-
- function hasPermission() {
- navigator.serviceWorker.ready.then(function(swRegistration) {
- // TODO(mvanouwerkerk): Cleanup once the final API is exposed.
- var pushManager = swRegistration.pushManager || navigator.push;
- pushManager.hasPermission().then(function(permission) {
- sendResultToTest('permission status - ' + permission);
- }, sendErrorToTest);
- }, sendErrorToTest);
- }
-
- function isControlled() {
- if (navigator.serviceWorker.controller) {
- sendResultToTest('true - is controlled');
- } else {
- sendResultToTest('false - is not controlled');
- }
- }
-
- addEventListener('message', function(event) {
- var message = JSON.parse(event.data);
- if (message.type == 'push') {
- pushData.set(message.data);
- }
- }, false);
- </script>
+ <script src="test.js"></script>
</head>
<body>
<h1>Push API Test</h1>

Powered by Google App Engine
This is Rietveld 408576698