OLD | NEW |
| (Empty) |
1 var port; | |
2 self.addEventListener('message', function(e) { | |
3 var message = e.data; | |
4 if ('port' in message) { | |
5 port = message.port; | |
6 doIndexedDBTest(); | |
7 } | |
8 }); | |
9 function send(action, text) { | |
10 if (port) port.postMessage({action: action, text: text}); | |
11 } | |
12 | |
13 function evalAndLog(s) { | |
14 send('log', s); | |
15 try { | |
16 return eval(s); | |
17 } catch (ex) { | |
18 send('fail', 'EXCEPTION: ' + ex); | |
19 throw ex; | |
20 } | |
21 } | |
22 | |
23 function debug(s) { | |
24 send('log', s); | |
25 } | |
26 | |
27 function doIndexedDBTest() { | |
28 debug('Preparing the database in the service worker'); | |
29 var request = evalAndLog("indexedDB.deleteDatabase('db')"); | |
30 request.onsuccess = function() { | |
31 request = evalAndLog("indexedDB.open('db')"); | |
32 request.onupgradeneeded = function() { | |
33 db = request.result; | |
34 evalAndLog("db.createObjectStore('store')"); | |
35 }; | |
36 request.onsuccess = function() { | |
37 db = request.result; | |
38 evalAndLog("tx = db.transaction('store', 'readwrite')"); | |
39 evalAndLog("store = tx.objectStore('store')"); | |
40 evalAndLog("store.put('value', 'key')"); | |
41 tx.oncomplete = function() { | |
42 send('quit'); | |
43 }; | |
44 }; | |
45 }; | |
46 } | |
OLD | NEW |