| Index: third_party/WebKit/LayoutTests/http/tests/inspector/indexeddb/indexeddb-test.js
|
| diff --git a/third_party/WebKit/LayoutTests/http/tests/inspector/indexeddb/indexeddb-test.js b/third_party/WebKit/LayoutTests/http/tests/inspector/indexeddb/indexeddb-test.js
|
| index cf36c59a6c7d7614fa43384f4940305254a44642..0efa65a22801303d18b293b4b23a0f74eba538ef 100644
|
| --- a/third_party/WebKit/LayoutTests/http/tests/inspector/indexeddb/indexeddb-test.js
|
| +++ b/third_party/WebKit/LayoutTests/http/tests/inspector/indexeddb/indexeddb-test.js
|
| @@ -105,6 +105,18 @@ InspectorTest.createIndexedDBModel = function()
|
| indexedDBModel.enable();
|
| return indexedDBModel;
|
| };
|
| +
|
| +InspectorTest.createDatabaseAsync = function(databaseName) {
|
| + return InspectorTest.evaluateInPageAsync("createDatabaseAsync('" + databaseName + "')");
|
| +};
|
| +
|
| +InspectorTest.createObjectStoreAsync = function(databaseName, objectStoreName, indexName, keyPath) {
|
| + return InspectorTest.evaluateInPageAsync("createObjectStoreAsync('" + databaseName + "', '" + objectStoreName + "', '" + indexName + "', '" + keyPath + "')");
|
| +};
|
| +
|
| +InspectorTest.addIDBValueAsync = function(databaseName, objectStoreName, key, value) {
|
| + return InspectorTest.evaluateInPageAsync("addIDBValueAsync('" + databaseName + "', '" + objectStoreName + "', '" + key + "', '" + value + "')");
|
| +};
|
| };
|
|
|
| function dispatchCallback(callbackId)
|
| @@ -260,3 +272,63 @@ function addIDBValue(callback, databaseName, objectStoreName, value, key)
|
| request.onsuccess = commitCallback;
|
| }
|
| }
|
| +
|
| +function createDatabaseAsync(databaseName) {
|
| + var callback;
|
| + var promise = new Promise((fulfill) => callback = fulfill);
|
| + var request = indexedDB.open(databaseName);
|
| + request.onerror = onIndexedDBError;
|
| + request.onsuccess = function(event) {
|
| + request.result.close();
|
| + callback();
|
| + }
|
| + return promise;
|
| +}
|
| +
|
| +function createObjectStoreAsync(databaseName, objectStoreName, indexName, keyPath) {
|
| + var callback;
|
| + var promise = new Promise((fulfill) => callback = fulfill);
|
| + var request = indexedDB.open(databaseName);
|
| + request.onerror = onIndexedDBError;
|
| + request.onsuccess = function(event) {
|
| + var db = request.result;
|
| + var version = db.version;
|
| + db.close();
|
| +
|
| + var upgradeRequest = indexedDB.open(databaseName, version + 1);
|
| +
|
| + upgradeRequest.onerror = onIndexedDBError;
|
| + upgradeRequest.onupgradeneeded = function(e) {
|
| + var upgradeDb = e.target.result;
|
| + var store = upgradeDb.createObjectStore(objectStoreName, { keyPath: "test", autoIncrement: false });
|
| + store.createIndex(indexName, "test", { unique: false, multiEntry: false });
|
| + callback();
|
| + }
|
| + upgradeRequest.onsuccess = function(e) {
|
| + var upgradeDb = e.target.result;
|
| + upgradeDb.close();
|
| + callback();
|
| + }
|
| + }
|
| + return promise;
|
| +}
|
| +
|
| +function addIDBValueAsync(databaseName, objectStoreName, key, value) {
|
| + var callback;
|
| + var promise = new Promise((fulfill) => callback = fulfill);
|
| + var request = indexedDB.open(databaseName);
|
| + request.onerror = onIndexedDBError;
|
| + request.onsuccess = function(event) {
|
| + var db = request.result;
|
| + var transaction = db.transaction(objectStoreName, "readwrite");
|
| + var store = transaction.objectStore(objectStoreName);
|
| + store.put({ test: key, testValue: value });
|
| +
|
| + transaction.onerror = onIndexedDBError;
|
| + transaction.oncomplete = function() {
|
| + db.close();
|
| + callback();
|
| + };
|
| + }
|
| + return promise;
|
| +}
|
|
|