OLD | NEW |
1 var port; | |
2 self.addEventListener('message', function(e) { | 1 self.addEventListener('message', function(e) { |
3 var message = e.data; | 2 var message = e.data; |
4 if ('port' in message) | 3 if ('port' in message) |
5 doIndexedDBTest(message.port); | 4 e.waitUntil(doIndexedDBTest(message.port)); |
6 }); | 5 }); |
7 | 6 |
8 function doIndexedDBTest(port) { | 7 function doIndexedDBTest(port) { |
9 var delete_request = indexedDB.deleteDatabase('db'); | 8 return new Promise(function(resolve) { |
10 delete_request.onsuccess = function() { | 9 var delete_request = indexedDB.deleteDatabase('db'); |
11 var open_request = indexedDB.open('db'); | 10 delete_request.onsuccess = function() { |
12 open_request.onupgradeneeded = function() { | 11 var open_request = indexedDB.open('db'); |
13 var db = open_request.result; | 12 open_request.onupgradeneeded = function() { |
14 db.createObjectStore('store'); | 13 var db = open_request.result; |
15 }; | 14 db.createObjectStore('store'); |
16 open_request.onsuccess = function() { | 15 }; |
17 var db = open_request.result; | 16 open_request.onsuccess = function() { |
18 var tx = db.transaction('store', 'readwrite'); | 17 var db = open_request.result; |
19 var store = tx.objectStore('store'); | 18 var tx = db.transaction('store', 'readwrite'); |
20 store.put('value', 'key'); | 19 var store = tx.objectStore('store'); |
21 tx.oncomplete = function() { | 20 store.put('value', 'key'); |
22 port.postMessage('done'); | 21 tx.oncomplete = function() { |
| 22 port.postMessage('done'); |
| 23 resolve(); |
| 24 }; |
23 }; | 25 }; |
24 }; | 26 }; |
25 }; | 27 }); |
26 } | 28 } |
OLD | NEW |