3 <script src="../inspector-test.js"></script>
4 <script src="indexeddb-test.js"></script>
5 <script src="../resources-test.js"></script>
6 <script src="../console-test.js"></script>
10 var mainFrameId = WebInspector.resourceTreeModel.mainFrame.id;
12 var withoutIndexedDBURL = "http://localhost:8000/inspector/indexeddb/resources/without-indexed-db.html";
13 var originalURL = "http://127.0.0.1:8000/inspector/indexeddb/resources-panel.html";
14 var databaseName = "testDatabase";
15 var objectStoreName = "testObjectStore";
16 var indexName = "testIndexName";
18 function createDatabase(callback)
20 InspectorTest.createDatabase(mainFrameId, databaseName, step2);
24 InspectorTest.createObjectStore(mainFrameId, databaseName, objectStoreName, "", false, step3);
29 InspectorTest.createObjectStoreIndex(mainFrameId, databaseName, objectStoreName, indexName, "", false, false, callback);
33 function deleteDatabase(callback)
35 InspectorTest.deleteObjectStoreIndex(mainFrameId, databaseName, objectStoreName, indexName, step2);
39 InspectorTest.deleteObjectStore(mainFrameId, databaseName, objectStoreName, step3);
44 InspectorTest.deleteDatabase(mainFrameId, databaseName, callback);
48 // Start with non-resources panel.
49 WebInspector.ConsolePanel.show();
51 InspectorTest.addSniffer(WebInspector.IndexedDBTreeElement.prototype, "_indexedDBAdded", indexedDBAdded, true);
52 function indexedDBAdded()
54 InspectorTest.addResult("Database added.");
57 InspectorTest.addSniffer(WebInspector.IndexedDBTreeElement.prototype, "_indexedDBRemoved", indexedDBRemoved, true);
58 function indexedDBRemoved()
60 InspectorTest.addResult("Database removed.");
63 InspectorTest.addSniffer(WebInspector.IndexedDBTreeElement.prototype, "_indexedDBLoaded", indexedDBLoaded, true);
64 function indexedDBLoaded()
66 InspectorTest.addResult("Database loaded.");
69 // Switch to resources panel.
70 WebInspector.ResourcesPanel.show();
72 InspectorTest.addResult("Expanded IndexedDB tree element.");
73 WebInspector.panels.resources.indexedDBListTreeElement.expand();
74 InspectorTest.dumpIndexedDBTree();
75 InspectorTest.addResult("Created database.");
76 createDatabase(databaseCreated);
78 function databaseCreated()
80 indexedDBModel = WebInspector.targetManager.mainTarget().indexedDBModel;
81 indexedDBModel.addEventListener(WebInspector.IndexedDBModel.EventTypes.DatabaseLoaded, databaseLoaded);
82 WebInspector.panels.resources.indexedDBListTreeElement.refreshIndexedDB();
85 function databaseLoaded()
87 indexedDBModel.removeEventListener(WebInspector.IndexedDBModel.EventTypes.DatabaseLoaded, databaseLoaded);
88 InspectorTest.dumpIndexedDBTree();
89 InspectorTest.addResult("Navigated to another security origin.");
90 InspectorTest.navigate(withoutIndexedDBURL, navigatedAway);
93 function navigatedAway()
95 InspectorTest.dumpIndexedDBTree();
96 InspectorTest.addResult("Navigated back.");
97 InspectorTest.navigate(originalURL, navigatedBack);
100 function navigatedBack()
102 InspectorTest.dumpIndexedDBTree();
103 InspectorTest.addResult("Deleted database.");
104 deleteDatabase(databaseDeleted);
107 function databaseDeleted()
109 WebInspector.panels.resources.indexedDBListTreeElement.refreshIndexedDB();
110 InspectorTest.addSniffer(WebInspector.IndexedDBModel.prototype, "_updateOriginDatabaseNames", databaseNamesLoadedAfterDeleting, false);
113 function databaseNamesLoadedAfterDeleting()
115 InspectorTest.dumpIndexedDBTree();
116 WebInspector.panels.resources.indexedDBListTreeElement.collapse();
117 InspectorTest.completeTest();
123 <body onload="runTest()">
124 <p>Tests IndexedDB tree element on resources panel.</p>