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

Unified 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: Created 3 years, 7 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/http/tests/inspector/indexeddb/database-refresh-view.html
diff --git a/third_party/WebKit/LayoutTests/http/tests/inspector/indexeddb/database-refresh-view.html b/third_party/WebKit/LayoutTests/http/tests/inspector/indexeddb/database-refresh-view.html
new file mode 100644
index 0000000000000000000000000000000000000000..5f15cc358580e832b4858edaa63122dc9cd3b906
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/http/tests/inspector/indexeddb/database-refresh-view.html
@@ -0,0 +1,89 @@
+<html>
+<head>
+<script src="../inspector-test.js"></script>
+<script src="../resources-test.js"></script>
+<script src="../console-test.js"></script>
+<script src="indexeddb-test.js"></script>
+<script>
+
+window.debugTest = true;
+async function test()
+{
+ var databaseName = "testDatabase";
+ var objectStoreName = "testObjectStore";
+
+ function createIndexedDB(callback) {
+ var mainFrameId = InspectorTest.resourceTreeModel.mainFrame.id;
+ var model = InspectorTest.mainTarget.model(Resources.IndexedDBModel);
+ InspectorTest.createDatabase(mainFrameId, "testDatabase", () => {
+ var event = model.addEventListener(Resources.IndexedDBModel.Events.DatabaseAdded, () => {
+ Common.EventTarget.removeEventListeners([event]);
+ callback();
+ });
+ });
+ }
+
+ function createObjectStore(callback) {
+ var mainFrameId = InspectorTest.resourceTreeModel.mainFrame.id;
+ InspectorTest.createObjectStore(mainFrameId, databaseName, objectStoreName, "key", true, callback);
+ }
+
+ function createObjectStoreIndex(callback) {
+ var mainFrameId = InspectorTest.resourceTreeModel.mainFrame.id;
+ InspectorTest.createObjectStoreIndex(mainFrameId, databaseName, objectStoreName, "testIndex", "value", false, true, callback);
+ }
+
+ function addIDBValue(callback) {
+ InspectorTest.addIDBValue(callback, databaseName, objectStoreName, "testValue", "testKey");
+ }
+
+ function dumpCurrentObjectStore() {
+ InspectorTest.addResult("Current ObjectStore view:");
+
+ var objectStoreTreeElement = UI.panels.resources._sidebar.indexedDBListTreeElement.childAt(0).childAt(0);
+ InspectorTest.addResult("Object store: " + objectStoreTreeElement.title);
+ var entries = objectStoreTreeElement._view._entries;
+ if (!entries.length) {
+ InspectorTest.addResult(" (no entries)");
+ } else {
+ for (var j = 0; j < entries.length; ++j) {
+ InspectorTest.addResult(" Key = " + entries[j].key + ", value = " + entries[j].value);
+ }
+ }
+ }
+
+ await new Promise(createIndexedDB);
+ await new Promise(createObjectStore);
+ await new Promise(createObjectStoreIndex);
+
+ var databaseTreeElement = UI.panels.resources._sidebar.indexedDBListTreeElement.childAt(0);
+ databaseTreeElement._addIndexedDB(model, model.databaseId);
+ databaseTreeElement.onselect(false);
+ InspectorTest.addResult("Created database view.");
+ var objectstoreTreeElement = databaseTreeElement.childAt(0);
+ objectstoreTreeElement.onselect(false);
+ InspectorTest.addResult("Created data view.");
+
+ var databaseView = databaseTreeElement._view;
+ var dataView = objectstoreTreeElement._view;
+
+ dumpCurrentObjectStore();
+
+ await new Promise(addIDBValue);
+ InspectorTest.addResult("Added objectstore entry.");
+
+ dumpCurrentObjectStore();
+
+ databaseView._refreshDatabase();
+ InspectorTest.addResult("Refreshed database view.");
+
+ dumpCurrentObjectStore();
+
+ InspectorTest.completeTest();
+}
+</script>
+</head>
+<body onload="runTest()">
+<p>Tests refreshing the database information and data views.</p>
+</body>
+</html>

Powered by Google App Engine
This is Rietveld 408576698