summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/service-workers/service-worker/resources/indexeddb-worker.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/service-workers/service-worker/resources/indexeddb-worker.js')
-rw-r--r--testing/web-platform/tests/service-workers/service-worker/resources/indexeddb-worker.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/testing/web-platform/tests/service-workers/service-worker/resources/indexeddb-worker.js b/testing/web-platform/tests/service-workers/service-worker/resources/indexeddb-worker.js
new file mode 100644
index 000000000..ef89550b3
--- /dev/null
+++ b/testing/web-platform/tests/service-workers/service-worker/resources/indexeddb-worker.js
@@ -0,0 +1,26 @@
+var port;
+self.addEventListener('message', function(e) {
+ var message = e.data;
+ if ('port' in message)
+ doIndexedDBTest(message.port);
+ });
+
+function doIndexedDBTest(port) {
+ var delete_request = indexedDB.deleteDatabase('db');
+ delete_request.onsuccess = function() {
+ var open_request = indexedDB.open('db');
+ open_request.onupgradeneeded = function() {
+ var db = open_request.result;
+ db.createObjectStore('store');
+ };
+ open_request.onsuccess = function() {
+ var db = open_request.result;
+ var tx = db.transaction('store', 'readwrite');
+ var store = tx.objectStore('store');
+ store.put('value', 'key');
+ tx.oncomplete = function() {
+ port.postMessage('done');
+ };
+ };
+ };
+}