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

Side by Side Diff: third_party/WebKit/LayoutTests/http/tests/inspector/indexeddb/database-refresh-view.html

Issue 2902673003: Added a refresh database button on the IndexedDB view. (Closed)
Patch Set: Changed to use refreshDatabase() function instead of event listener, created database structure in … Created 3 years, 6 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
(Empty)
1 <html>
2 <head>
3 <script src="../inspector-test.js"></script>
4 <script src="../resources-test.js"></script>
5 <script src="../console-test.js"></script>
6 <script src="indexeddb-test.js"></script>
7 <script>
8
9 var createDatabase = function(databaseName) {
dgozman 2017/05/26 19:10:46 function createDatabase(
kristipark 2017/05/26 22:42:15 Done.
10 var callback;
11 var promise = new Promise((fulfill) => callback = fulfill);
12 var request = indexedDB.open(databaseName);
13 request.onerror = function(event) {
14 console.error("IndexedDB error: " + event);
15 }
16 request.onsuccess = function(event) {
17 request.result.close();
18 callback();
19 }
20 return promise;
21 }
22
23 var createObjectStore = function(databaseName, objectStoreName, indexName) {
dgozman 2017/05/26 19:10:46 function createObjectStore(
kristipark 2017/05/26 22:42:16 Done.
24 var callback;
25 var promise = new Promise((fulfill) => callback = fulfill);
26 var request = indexedDB.open(databaseName);
27 request.onerror = function(event) {
28 console.error("IndexedDB error: " + event);
29 }
30 request.onsuccess = function(event) {
31 var db = request.result;
32 var version = db.version;
33 db.close();
34
35 var upgradeRequest = indexedDB.open(databaseName, version + 1);
36
37 upgradeRequest.onupgradeneeded = function(e) {
38 var upgradeDb = e.target.result;
39 var store = upgradeDb.createObjectStore(objectStoreName, { keyPath: "", autoIncrement: false });
40 store.createIndex(indexName, "", { unique: false, multiEntry: false });
41 callback();
42 }
43 upgradeRequest.onsuccess = function(e) {
44 var upgradeDb = e.target.result;
45 upgradeDb.close();
46 callback();
47 }
48 }
49 return promise;
50 }
51
52 window.debugTest = true;
dgozman 2017/05/26 19:10:46 Remove?
kristipark 2017/05/26 22:42:16 Done.
53 async function test()
54 {
55 var databaseName = "testDatabase";
56 var objectStoreName1 = "testObjectStore1";
57 var objectStoreName2 = "testObjectStore2";
58 var indexName = "testIndex";
59
60 var indexedDBModel = InspectorTest.mainTarget.model(Resources.IndexedDBModel );
61 var mainFrameId = InspectorTest.resourceTreeModel.mainFrame.id;
62 var securityOrigin = "http://127.0.0.1:8000";
63 var databaseId;
64
65 var refreshDatabase = function(databaseId, callback) {
dgozman 2017/05/26 19:10:46 function refreshDatabase(
kristipark 2017/05/26 22:42:16 Done.
66 var event = indexedDBModel.addEventListener(Resources.IndexedDBModel.Eve nts.DatabaseLoaded, () => {
67 Common.EventTarget.removeEventListeners([event]);
68 callback();
69 });
70 indexedDBModel.refreshDatabase(databaseId);
dgozman 2017/05/26 19:10:46 It's better to get a view and emulate click on the
kristipark 2017/05/26 22:42:15 Done.
71 }
72
73 // Initial tree
74 InspectorTest.dumpIndexedDBTree();
75
76 // Create database
77 await InspectorTest.evaluateInPageAsync("createDatabase('" + databaseName + "')");
78 var waitUntilAdded = function(callback) {
dgozman 2017/05/26 19:10:46 function waitUntilAdded(callback) {
kristipark 2017/05/26 22:42:16 Done.
79 var event = indexedDBModel.addEventListener(Resources.IndexedDBModel.Eve nts.DatabaseAdded, () => {
80 Common.EventTarget.removeEventListeners([event]);
81 callback();
82 });
83 UI.panels.resources._sidebar.indexedDBListTreeElement.refreshIndexedDB() ;
84 }
85 await new Promise(waitUntilAdded);
86 var idbDatabaseTreeElement = UI.panels.resources._sidebar.indexedDBListTreeE lement._idbDatabaseTreeElements[0];
87 databaseId = idbDatabaseTreeElement._databaseId;
88 InspectorTest.addResult("Created database.");
89 InspectorTest.dumpIndexedDBTree();
90
91 // Create first objectstore
92 await InspectorTest.evaluateInPageAsync("createObjectStore('" + databaseName + "', '" + objectStoreName1 + "', '" + indexName + "')");
93 await new Promise(resolve => refreshDatabase(databaseId, resolve));
94 InspectorTest.addResult("Created first objectstore.");
95 InspectorTest.dumpIndexedDBTree();
96
97 // Create second objectstore
98 await InspectorTest.evaluateInPageAsync("createObjectStore('" + databaseName + "', '" + objectStoreName2 + "', '" + indexName + "')");
99 await new Promise(resolve => refreshDatabase(databaseId, resolve));
100 InspectorTest.addResult("Created second objectstore.");
101 InspectorTest.dumpIndexedDBTree();
102
103 InspectorTest.completeTest();
104 }
105 </script>
106 </head>
107 <body onload="runTest()">
108 <p>Tests refreshing the database information and data views.</p>
109 </body>
110 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698