Index: third_party/WebKit/LayoutTests/http/tests/notifications/resources/instrumentation-service-worker.js |
diff --git a/third_party/WebKit/LayoutTests/http/tests/notifications/resources/instrumentation-service-worker.js b/third_party/WebKit/LayoutTests/http/tests/notifications/resources/instrumentation-service-worker.js |
deleted file mode 100644 |
index 6a1991e0a9be2c4549bbee3fc016dbd1b42af670..0000000000000000000000000000000000000000 |
--- a/third_party/WebKit/LayoutTests/http/tests/notifications/resources/instrumentation-service-worker.js |
+++ /dev/null |
@@ -1,110 +0,0 @@ |
-importScripts('/resources/testharness-helpers.js'); |
- |
-// For copying Notification.data. Currently a deep copy algorithm is used. Note |
-// that the robustness of this function (and also |assert_object_equals| in |
-// testharness.js) affects the types of possible testing can be done. |
-// TODO(peter): change this to a structured clone algorithm. |
-function cloneObject(src) { |
- if (typeof src != 'object' || src === null) |
- return src; |
- var dst = Array.isArray(src) ? [] : {}; |
- for (var property in src) { |
- if (src.hasOwnProperty(property)) |
- dst[property] = cloneObject(src[property]); |
- } |
- return dst; |
-} |
- |
-// Copies the serializable attributes of |notification|. |
-function cloneNotification(notification) { |
- var copiedNotification = JSON.parse(stringifyDOMObject(notification)); |
- copiedNotification.data = cloneObject(notification.data); |
- return copiedNotification; |
-} |
- |
-// Allows a document to exercise the Notifications API within a service worker by sending commands. |
-var messagePort = null; |
- |
-addEventListener('message', function(workerEvent) { |
- messagePort = workerEvent.data; |
- |
- // Listen to incoming commands on the message port. |
- messagePort.onmessage = function(event) { |
- if (typeof event.data != 'object' || !event.data.command) |
- return; |
- |
- switch (event.data.command) { |
- case 'permission': |
- messagePort.postMessage({ command: event.data.command, |
- value: Notification.permission }); |
- break; |
- |
- case 'show': |
- registration.showNotification(event.data.title, event.data.options).then(function() { |
- messagePort.postMessage({ command: event.data.command, |
- success: true }); |
- }, function(error) { |
- messagePort.postMessage({ command: event.data.command, |
- success: false, |
- message: error.message }); |
- }); |
- break; |
- |
- case 'get': |
- var filter = {}; |
- if (typeof (event.data.filter) !== 'undefined') |
- filter = event.data.filter; |
- |
- registration.getNotifications(filter).then(function(notifications) { |
- var clonedNotifications = []; |
- for (var notification of notifications) |
- clonedNotifications.push(cloneNotification(notification)); |
- |
- messagePort.postMessage({ command: event.data.command, |
- success: true, |
- notifications: clonedNotifications }); |
- }, function(error) { |
- messagePort.postMessage({ command: event.data.command, |
- success: false, |
- message: error.message }); |
- }); |
- break; |
- |
- case 'request-permission-exists': |
- messagePort.postMessage({ command: event.data.command, |
- value: 'requestPermission' in Notification }); |
- break; |
- |
- default: |
- messagePort.postMessage({ command: 'error', message: 'Invalid command: ' + event.data.command }); |
- break; |
- } |
- }; |
- |
- // Notify the controller that the worker is now available. |
- messagePort.postMessage('ready'); |
-}); |
- |
-addEventListener('notificationclick', function(event) { |
- var notificationCopy = cloneNotification(event.notification); |
- |
- // Notifications containing "ACTION:CLOSE" in their message will be closed |
- // immediately by the Service Worker. |
- if (event.notification.body.indexOf('ACTION:CLOSE') != -1) |
- event.notification.close(); |
- |
- // Notifications containing "ACTION:OPENWINDOW" in their message will attempt |
- // to open a new window for an example URL. |
- if (event.notification.body.indexOf('ACTION:OPENWINDOW') != -1) |
- event.waitUntil(clients.openWindow('https://example.com/')); |
- |
- messagePort.postMessage({ command: 'click', |
- notification: notificationCopy, |
- action: event.action }); |
-}); |
- |
-addEventListener('notificationclose', function(event) { |
- var notificationCopy = cloneNotification(event.notification); |
- messagePort.postMessage({ command: 'close', |
- notification: notificationCopy }); |
-}); |