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

Side by Side Diff: third_party/WebKit/LayoutTests/http/tests/inspector/indexeddb/indexeddb-test.js

Issue 2914293002: [IndexedDB] [DevTools] Right-click 'Refresh' on database now updates object store view, also fixed … (Closed)
Patch Set: Using await instead 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
1 var initialize_IndexedDBTest = function() { 1 var initialize_IndexedDBTest = function() {
2 InspectorTest.preloadPanel("resources"); 2 InspectorTest.preloadPanel("resources");
3 3
4 InspectorTest.dumpIndexedDBTree = function() 4 InspectorTest.dumpIndexedDBTree = function()
5 { 5 {
6 InspectorTest.addResult("Dumping IndexedDB tree:"); 6 InspectorTest.addResult("Dumping IndexedDB tree:");
7 var indexedDBTreeElement = UI.panels.resources._sidebar.indexedDBListTreeEle ment; 7 var indexedDBTreeElement = UI.panels.resources._sidebar.indexedDBListTreeEle ment;
8 if (!indexedDBTreeElement.childCount()) { 8 if (!indexedDBTreeElement.childCount()) {
9 InspectorTest.addResult(" (empty)"); 9 InspectorTest.addResult(" (empty)");
10 return; 10 return;
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 { 98 {
99 InspectorTest.evaluateWithCallback(frameId, "addIDBValue", [databaseName, ob jectStoreName, value, key], callback) 99 InspectorTest.evaluateWithCallback(frameId, "addIDBValue", [databaseName, ob jectStoreName, value, key], callback)
100 }; 100 };
101 101
102 InspectorTest.createIndexedDBModel = function() 102 InspectorTest.createIndexedDBModel = function()
103 { 103 {
104 var indexedDBModel = new Resources.IndexedDBModel(SDK.targetManager.mainTarg et(), InspectorTest.securityOriginManager); 104 var indexedDBModel = new Resources.IndexedDBModel(SDK.targetManager.mainTarg et(), InspectorTest.securityOriginManager);
105 indexedDBModel.enable(); 105 indexedDBModel.enable();
106 return indexedDBModel; 106 return indexedDBModel;
107 }; 107 };
108
109 InspectorTest.createDatabaseAsync = function(databaseName) {
110 return InspectorTest.evaluateInPageAsync("createDatabaseAsync('" + databaseN ame + "')");
111 };
112
113 InspectorTest.createObjectStoreAsync = function(databaseName, objectStoreName, i ndexName, keyPath) {
114 return InspectorTest.evaluateInPageAsync("createObjectStoreAsync('" + databa seName + "', '" + objectStoreName + "', '" + indexName + "', '" + keyPath + "')" );
115 };
116
117 InspectorTest.addIDBValueAsync = function(databaseName, objectStoreName, key, va lue) {
118 return InspectorTest.evaluateInPageAsync("addIDBValueAsync('" + databaseName + "', '" + objectStoreName + "', '" + key + "', '" + value + "')");
119 };
108 }; 120 };
109 121
110 function dispatchCallback(callbackId) 122 function dispatchCallback(callbackId)
111 { 123 {
112 console.log(callbackId); 124 console.log(callbackId);
113 } 125 }
114 126
115 function onIndexedDBError(e) 127 function onIndexedDBError(e)
116 { 128 {
117 console.error("IndexedDB error: " + e); 129 console.error("IndexedDB error: " + e);
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 { 265 {
254 var request; 266 var request;
255 if (key) 267 if (key)
256 request = objectStore.add(value, key); 268 request = objectStore.add(value, key);
257 else 269 else
258 request = objectStore.add(value); 270 request = objectStore.add(value);
259 request.onerror = onIndexedDBError; 271 request.onerror = onIndexedDBError;
260 request.onsuccess = commitCallback; 272 request.onsuccess = commitCallback;
261 } 273 }
262 } 274 }
275
276 function createDatabaseAsync(databaseName) {
277 var callback;
278 var promise = new Promise((fulfill) => callback = fulfill);
279 var request = indexedDB.open(databaseName);
280 request.onerror = onIndexedDBError;
281 request.onsuccess = function(event) {
282 request.result.close();
283 callback();
284 }
285 return promise;
286 }
287
288 function createObjectStoreAsync(databaseName, objectStoreName, indexName, keyPat h) {
289 var callback;
290 var promise = new Promise((fulfill) => callback = fulfill);
291 var request = indexedDB.open(databaseName);
292 request.onerror = onIndexedDBError;
293 request.onsuccess = function(event) {
294 var db = request.result;
295 var version = db.version;
296 db.close();
297
298 var upgradeRequest = indexedDB.open(databaseName, version + 1);
299
300 upgradeRequest.onerror = onIndexedDBError;
301 upgradeRequest.onupgradeneeded = function(e) {
302 var upgradeDb = e.target.result;
303 var store = upgradeDb.createObjectStore(objectStoreName, { keyPath: "test", autoIncrement: false });
304 store.createIndex(indexName, "test", { unique: false, multiEntry: fa lse });
305 callback();
306 }
307 upgradeRequest.onsuccess = function(e) {
308 var upgradeDb = e.target.result;
309 upgradeDb.close();
310 callback();
311 }
312 }
313 return promise;
314 }
315
316 function addIDBValueAsync(databaseName, objectStoreName, key, value) {
317 var callback;
318 var promise = new Promise((fulfill) => callback = fulfill);
319 var request = indexedDB.open(databaseName);
320 request.onerror = onIndexedDBError;
321 request.onsuccess = function(event) {
322 var db = request.result;
323 var transaction = db.transaction(objectStoreName, "readwrite");
324 var store = transaction.objectStore(objectStoreName);
325 store.put({ test: key, testValue: value });
326
327 transaction.onerror = onIndexedDBError;
328 transaction.oncomplete = function() {
329 db.close();
330 callback();
331 };
332 }
333 return promise;
334 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698