| OLD | NEW |
| (Empty) | |
| 1 if (this.importScripts) { |
| 2 importScripts('promise-idb.js'); |
| 3 } |
| 4 |
| 5 window=this; |
| 6 var isWorker = window.document === undefined; |
| 7 |
| 8 function indexeddb_observers_actions(db1_name, db2_name, error_callback) { |
| 9 var perform_db1_actions_part1 = function() { |
| 10 var open_request = indexedDB.open(db1_name); |
| 11 open_request.onsuccess = function() { |
| 12 var db = open_request.result; |
| 13 pdb.transact(db, ['store1', 'store2'], 'readwrite').then(function(txn) { |
| 14 var os1 = txn.objectStore('store1'); |
| 15 var os2 = txn.objectStore('store2'); |
| 16 return Promise.all( |
| 17 [pdb.delete(os1, IDBKeyRange.bound('a', 'b')), |
| 18 pdb.put(os1, 'c', 'a'), |
| 19 pdb.add(os2, 'z', 'z'), |
| 20 pdb.waitForTransaction(txn)]); |
| 21 }).catch(error_callback).then(perform_db1_actions_part2); |
| 22 } |
| 23 } |
| 24 |
| 25 var perform_db1_actions_part2 = function() { |
| 26 var open_request = indexedDB.open(db1_name); |
| 27 open_request.onsuccess = function() { |
| 28 var db = open_request.result; |
| 29 pdb.transact(db, ['store1', 'store2'], 'readwrite').then(function(txn) { |
| 30 var os1 = txn.objectStore('store1'); |
| 31 var os2 = txn.objectStore('store2'); |
| 32 return Promise.all( |
| 33 [pdb.delete(os1, IDBKeyRange.bound('a', 'b')), |
| 34 pdb.put(os1, 'd', 'a'), |
| 35 pdb.put(os2, 'a', 'z'), |
| 36 pdb.waitForTransaction(txn)]); |
| 37 }).catch(error_callback); |
| 38 } |
| 39 } |
| 40 |
| 41 var perform_db2_actions_part1 = function() { |
| 42 var open_request = indexedDB.open(db2_name); |
| 43 open_request.onsuccess = function() { |
| 44 var db = open_request.result; |
| 45 pdb.transact(db, ['store3', 'store4'], 'readwrite').then(function(txn) { |
| 46 var os1 = txn.objectStore('store3'); |
| 47 var os2 = txn.objectStore('store4'); |
| 48 return Promise.all( |
| 49 [pdb.put(os1, 'd', 'c'), |
| 50 pdb.add(os2, 'z', 'z'), |
| 51 pdb.waitForTransaction(txn)]); |
| 52 }).catch(error_callback).then(perform_db2_actions_part2); |
| 53 } |
| 54 } |
| 55 |
| 56 var perform_db2_actions_part2 = function() { |
| 57 var open_request = indexedDB.open(db2_name); |
| 58 open_request.onsuccess = function() { |
| 59 var db = open_request.result; |
| 60 pdb.transact(db, ['store3', 'store4'], 'readwrite').then(function(txn) { |
| 61 var os1 = txn.objectStore('store3'); |
| 62 var os2 = txn.objectStore('store4'); |
| 63 return Promise.all( |
| 64 [pdb.put(os1, 'e', 'c'), |
| 65 pdb.put(os2, 'f', 'z'), |
| 66 pdb.waitForTransaction(txn)]); |
| 67 }).catch(error_callback); |
| 68 } |
| 69 } |
| 70 perform_db1_actions_part1(); |
| 71 perform_db2_actions_part1(); |
| 72 } |
| 73 |
| 74 if (isWorker && location.hash != "") { |
| 75 var hash = location.hash.split("#")[1]; |
| 76 var names = JSON.parse(decodeURIComponent(hash)); |
| 77 |
| 78 var errorCallback = function(event) { |
| 79 console.log('Error in actions: ' + event.target.error.message); |
| 80 } |
| 81 |
| 82 indexeddb_observers_actions(names.db1_name, names.db2_name, errorCallback); |
| 83 } |
| OLD | NEW |