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

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

Issue 2449563002: [IndexedDB] Add Observer Tests (Closed)
Patch Set: Fixed errors in other tests, and marked observer tests as long Created 4 years, 1 month 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
(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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698