blob: 0143f73842ebeae981dd0c27980b11ce3a47eadd [file] [log] [blame]
<html>
<head>
<script src="../inspector-test.js"></script>
<script src="indexeddb-test.js"></script>
<script>
function test()
{
var indexedDBModel = new WebInspector.IndexedDBModel();
var mainFrameId = WebInspector.resourceTreeModel.mainFrame.id;
function dumpDatabaseNames()
{
InspectorTest.addResult("Dumping database names:");
var securityOrigins = WebInspector.resourceTreeModel.securityOrigins();
var securityOrigin = securityOrigins[0];
var names = indexedDBModel._databaseNamesBySecurityOrigin[securityOrigin];
for (var i = 0; i < names.length; ++i)
InspectorTest.addResult(" " + names[i]);
InspectorTest.addResult("");
}
InspectorTest.addSniffer(WebInspector.IndexedDBModel.prototype, "_updateOriginDatabaseNames", step2, false);
function step2()
{
dumpDatabaseNames();
InspectorTest.createDatabase(mainFrameId, "testDatabase1", step3);
}
function step3()
{
InspectorTest.addSniffer(WebInspector.IndexedDBModel.prototype, "_updateOriginDatabaseNames", step4, false);
indexedDBModel.refreshDatabaseNames();
}
function step4()
{
dumpDatabaseNames();
InspectorTest.createDatabase(mainFrameId, "testDatabase2", step5);
}
function step5()
{
InspectorTest.addSniffer(WebInspector.IndexedDBModel.prototype, "_updateOriginDatabaseNames", step6, false);
indexedDBModel.refreshDatabaseNames();
}
function step6()
{
dumpDatabaseNames();
InspectorTest.deleteDatabase(mainFrameId, "testDatabase2", step7);
}
function step7()
{
InspectorTest.addSniffer(WebInspector.IndexedDBModel.prototype, "_updateOriginDatabaseNames", step8, false);
indexedDBModel.refreshDatabaseNames();
}
function step8()
{
dumpDatabaseNames();
InspectorTest.deleteDatabase(mainFrameId, "testDatabase1", step9);
}
function step9()
{
InspectorTest.addSniffer(WebInspector.IndexedDBModel.prototype, "_updateOriginDatabaseNames", step10, false);
indexedDBModel.refreshDatabaseNames();
}
function step10()
{
dumpDatabaseNames();
InspectorTest.completeTest();
}
}
</script>
</head>
<body onload="runTest()">
<p>Tests that database names are correctly loaded and saved in IndexedDBModel.</p>
</body>
</html>