Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(67)

Side by Side Diff: third_party/WebKit/LayoutTests/storage/indexeddb/resources/observer-actions.js

Issue 2601983002: [IndexedDB] Adding transaction and value support to observers (Closed)
Patch Set: added comments and bug link Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 if (this.importScripts) { 1 if (this.importScripts) {
2 importScripts('promise-idb.js'); 2 importScripts('promise-idb.js');
3 } 3 }
4 4
5 window=this; 5 window=this;
6 var isWorker = window.document === undefined; 6 var isWorker = window.document === undefined;
7 7
8 function indexeddb_observers_actions(db1_name, db2_name, error_callback) { 8 function indexeddb_observers_actions(db1_name, db2_name, error_callback) {
9 var perform_db1_actions_part1 = function() { 9 var perform_db1_actions_part1 = function() {
10 var open_request = indexedDB.open(db1_name); 10 var open_request = indexedDB.open(db1_name);
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 [pdb.put(os1, 'e', 'c'), 64 [pdb.put(os1, 'e', 'c'),
65 pdb.put(os2, 'f', 'z'), 65 pdb.put(os2, 'f', 'z'),
66 pdb.waitForTransaction(txn)]); 66 pdb.waitForTransaction(txn)]);
67 }).catch(error_callback); 67 }).catch(error_callback);
68 } 68 }
69 } 69 }
70 perform_db1_actions_part1(); 70 perform_db1_actions_part1();
71 perform_db2_actions_part1(); 71 perform_db2_actions_part1();
72 } 72 }
73 73
74 function increment_key_actions(db_name, num_iters, key) {
75 var open_request = indexedDB.open(db_name);
76 open_request.onsuccess = function() {
77 var db = open_request.result;
78
79 var increment_number = function(old_value, num_left) {
80 if (num_left == 0) return;
81 var txn = db.transaction(['store'], 'readwrite');
82 var os = txn.objectStore('store');
83 var new_value = old_value + 1;
84 os.put(new_value, key);
85 txn.oncomplete = function() {
86 increment_number(new_value, num_left - 1);
87 };
88 };
89 increment_number(0, num_iters);
90 };
91 };
92
74 if (isWorker && location.hash != "") { 93 if (isWorker && location.hash != "") {
75 var hash = location.hash.split("#")[1]; 94 var hash = location.hash.split("#")[1];
76 var names = JSON.parse(decodeURIComponent(hash)); 95 var names = JSON.parse(decodeURIComponent(hash));
77 96
78 var errorCallback = function(event) { 97 var errorCallback = function(event) {
79 console.log('Error in actions: ' + event.target.error.message); 98 console.log('Error in actions: ' + event.target.error.message);
80 } 99 }
81 100 if (names.incrementing_actions) {
82 indexeddb_observers_actions(names.db1_name, names.db2_name, errorCallback); 101 increment_key_actions(names.db_name, names.num_iters, names.key);
102 } else {
103 indexeddb_observers_actions(names.db1_name, names.db2_name, errorCallback);
104 }
83 } 105 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698