3 <script src="../inspector-test.js"></script>
4 <script src="indexeddb-test.js"></script>
8 var mainFrameId = WebInspector.resourceTreeModel.mainFrame.id;
10 var withoutIndexedDBURL = "http://localhost:8000/inspector/indexeddb/resources/without-indexed-db.html";
11 var originalURL = "http://127.0.0.1:8000/inspector/indexeddb/resources-panel.html";
12 var databaseName = "testDatabase";
13 var objectStoreName = "testObjectStore";
14 var indexName = "testIndexName";
16 function createDatabase(callback)
18 InspectorTest.createDatabase(mainFrameId, databaseName, step2);
22 InspectorTest.createObjectStore(mainFrameId, databaseName, objectStoreName, "", false, step3);
27 InspectorTest.createObjectStoreIndex(mainFrameId, databaseName, objectStoreName, indexName, "", false, false, callback);
31 function deleteDatabase(callback)
33 InspectorTest.deleteObjectStoreIndex(mainFrameId, databaseName, objectStoreName, indexName, step2);
37 InspectorTest.deleteObjectStore(mainFrameId, databaseName, objectStoreName, step3);
42 InspectorTest.deleteDatabase(mainFrameId, databaseName, callback);
46 // Load panel to install listeners.
47 WebInspector.inspectorView.panel("resources");
49 InspectorTest.addSniffer(WebInspector.IndexedDBTreeElement.prototype, "_indexedDBAdded", indexedDBAdded, true);
50 function indexedDBAdded()
52 InspectorTest.addResult("Database added.");
55 InspectorTest.addSniffer(WebInspector.IndexedDBTreeElement.prototype, "_indexedDBRemoved", indexedDBRemoved, true);
56 function indexedDBRemoved()
58 InspectorTest.addResult("Database removed.");
61 InspectorTest.addSniffer(WebInspector.IndexedDBTreeElement.prototype, "_indexedDBLoaded", indexedDBLoaded, true);
62 function indexedDBLoaded()
64 InspectorTest.addResult("Database loaded.");
67 WebInspector.inspectorView.showPanel("resources");
69 InspectorTest.addResult("Expanded IndexedDB tree element.");
70 WebInspector.panels.resources.indexedDBListTreeElement.expand();
71 InspectorTest.dumpIndexedDBTree();
72 InspectorTest.addResult("Created database.");
73 createDatabase(databaseCreated);
75 function databaseCreated()
77 indexedDBModel = WebInspector.targetManager.mainTarget().indexedDBModel;
78 indexedDBModel.addEventListener(WebInspector.IndexedDBModel.EventTypes.DatabaseLoaded, databaseLoaded);
79 WebInspector.panels.resources.indexedDBListTreeElement.refreshIndexedDB();
82 function databaseLoaded()
84 indexedDBModel.removeEventListener(WebInspector.IndexedDBModel.EventTypes.DatabaseLoaded, databaseLoaded);
85 InspectorTest.dumpIndexedDBTree();
86 InspectorTest.addResult("Navigated to another security origin.");
87 InspectorTest.navigate(withoutIndexedDBURL, navigatedAway);
90 function navigatedAway()
92 InspectorTest.dumpIndexedDBTree();
93 InspectorTest.addResult("Navigated back.");
94 InspectorTest.navigate(originalURL, navigatedBack);
97 function navigatedBack()
99 InspectorTest.dumpIndexedDBTree();
100 InspectorTest.addResult("Deleted database.");
101 deleteDatabase(databaseDeleted);
104 function databaseDeleted()
106 WebInspector.panels.resources.indexedDBListTreeElement.refreshIndexedDB();
107 InspectorTest.addSniffer(WebInspector.IndexedDBModel.prototype, "_updateOriginDatabaseNames", databaseNamesLoadedAfterDeleting, false);
110 function databaseNamesLoadedAfterDeleting()
112 InspectorTest.dumpIndexedDBTree();
113 WebInspector.panels.resources.indexedDBListTreeElement.collapse();
114 InspectorTest.completeTest();
120 <body onload="runTest()">
121 <p>Tests IndexedDB tree element on resources panel.</p>