Index: LayoutTests/http/tests/serviceworker/resources/indexeddb-worker.js |
diff --git a/LayoutTests/http/tests/serviceworker/resources/indexeddb-worker.js b/LayoutTests/http/tests/serviceworker/resources/indexeddb-worker.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..c2e4bd19e625e9c3ea56f0de6ac95f80043889e7 |
--- /dev/null |
+++ b/LayoutTests/http/tests/serviceworker/resources/indexeddb-worker.js |
@@ -0,0 +1,31 @@ |
+var port; |
+self.addEventListener('message', function(e) { |
+ var message = e.data; |
+ if ('port' in message) { |
+ port = message.port; |
+ doIndexedDBTest(); |
+ } |
+}); |
+function send(message) { |
dominicc (has gone to gerrit)
2014/04/09 20:09:08
Add a blank line.
dominicc (has gone to gerrit)
2014/04/09 20:09:08
I feel like this would be simpler if port, send ar
jsbell
2014/04/09 23:04:40
Good suggestion. Originally the worker was much ch
|
+ if (port) port.postMessage(message); |
dominicc (has gone to gerrit)
2014/04/09 20:09:08
Line break?
jsbell
2014/04/09 23:04:40
Done.
|
+} |
+ |
+function doIndexedDBTest() { |
+ 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() { |
+ send('done'); |
+ }; |
+ }; |
+ }; |
+} |