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

Unified Diff: third_party/WebKit/LayoutTests/storage/indexeddb/resources/factory-basics.js

Issue 2964743002: Revert "Indexed DB: Remove nonstandard IDBFactory.webkitGetDatabaseNames()" (Closed)
Patch Set: Undeprecate Created 3 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/storage/indexeddb/resources/factory-basics.js
diff --git a/third_party/WebKit/LayoutTests/storage/indexeddb/resources/factory-basics.js b/third_party/WebKit/LayoutTests/storage/indexeddb/resources/factory-basics.js
new file mode 100644
index 0000000000000000000000000000000000000000..d758fd751e5337d3392d9ba7f8004f075c3b6edf
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/storage/indexeddb/resources/factory-basics.js
@@ -0,0 +1,88 @@
+if (this.importScripts) {
+ importScripts('../../../resources/js-test.js');
+ importScripts('shared.js');
+}
+
+description("Test the basics of IndexedDB's IDBFactory.");
+
+function test()
+{
+ shouldBeEqualToString("typeof indexedDB.open", "function");
+ shouldBeEqualToString("typeof indexedDB.cmp", "function");
+ shouldBeEqualToString("typeof indexedDB.deleteDatabase", "function");
+
+ // Non-standard, must be prefixed
+ shouldBeEqualToString("typeof indexedDB.webkitGetDatabaseNames", "function");
+ shouldBeEqualToString("typeof indexedDB.getDatabaseNames", "undefined");
+
+ name = 'storage/indexeddb/factory-basics';
+
+ evalAndLog("request = indexedDB.webkitGetDatabaseNames()");
+ shouldBeNull("request.source");
+ request.onsuccess = getDatabaseNamesSuccess1;
+ request.onerror = unexpectedErrorCallback;
+}
+
+function getDatabaseNamesSuccess1(evt)
+{
+ event = evt;
+ var databaseNames;
+ evalAndLog("databaseNames = event.target.result");
+ shouldBeFalse("databaseNames.contains('" + name + "')");
+ shouldBeFalse("databaseNames.contains('DATABASE THAT DOES NOT EXIST')");
+
+ evalAndLog("request = indexedDB.open(name)");
+ shouldBeNull("request.source");
+ request.onsuccess = openSuccess;
+ request.onerror = unexpectedErrorCallback;
+}
+
+function openSuccess(evt)
+{
+ event = evt;
+ evalAndLog("event.target.result.close()");
+ request = evalAndLog("indexedDB.webkitGetDatabaseNames()");
+ request.onsuccess = getDatabaseNamesSuccess2;
+ request.onerror = unexpectedErrorCallback;
+}
+
+function getDatabaseNamesSuccess2(evt)
+{
+ event = evt;
+ var databaseNames;
+ evalAndLog("databaseNames = event.target.result");
+ shouldBeTrue("databaseNames.contains('" + name + "')");
+ shouldBeFalse("databaseNames.contains('DATABASE THAT DOES NOT EXIST')");
+
+ evalAndLog("request = indexedDB.deleteDatabase('" + name + "')");
+ shouldBeNull("request.source");
+ request.onsuccess = deleteDatabaseSuccess;
+ request.onerror = unexpectedErrorCallback;
+}
+
+function deleteDatabaseSuccess()
+{
+ request = evalAndLog("indexedDB.webkitGetDatabaseNames()");
+ request.onsuccess = getDatabaseNamesSuccess3;
+ request.onerror = unexpectedErrorCallback;
+}
+
+function getDatabaseNamesSuccess3(evt)
+{
+ event = evt;
+ var databaseNames;
+ evalAndLog("databaseNames = event.target.result");
+ shouldBeFalse("databaseNames.contains('" + name + "')");
+ shouldBeFalse("databaseNames.contains('DATABASE THAT DOES NOT EXIST')");
+
+ request = evalAndLog("indexedDB.deleteDatabase('DATABASE THAT DOES NOT EXIST')");
+ request.onsuccess = deleteDatabaseSuccess2;
+ request.onerror = unexpectedErrorCallback;
+}
+
+function deleteDatabaseSuccess2()
+{
+ finishJSTest();
+}
+
+test();

Powered by Google App Engine
This is Rietveld 408576698