| 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 |