Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / http / tests / inspector / indexeddb / resources-panel.html
1 <html>
2 <head>
3 <script src="../inspector-test.js"></script>
4 <script src="indexeddb-test.js"></script>
5 <script>
6 function test()
7 {
8     var mainFrameId = WebInspector.resourceTreeModel.mainFrame.id;
9     var indexedDBModel;
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";
15
16     function createDatabase(callback)
17     {
18         InspectorTest.createDatabase(mainFrameId, databaseName, step2);
19
20         function step2()
21         {
22             InspectorTest.createObjectStore(mainFrameId, databaseName, objectStoreName, "", false, step3);
23         }
24
25         function step3()
26         {
27             InspectorTest.createObjectStoreIndex(mainFrameId, databaseName, objectStoreName, indexName, "", false, false, callback);
28         }
29     }
30
31     function deleteDatabase(callback)
32     {
33         InspectorTest.deleteObjectStoreIndex(mainFrameId, databaseName, objectStoreName, indexName, step2);
34
35         function step2()
36         {
37             InspectorTest.deleteObjectStore(mainFrameId, databaseName, objectStoreName, step3);
38         }
39
40         function step3()
41         {
42             InspectorTest.deleteDatabase(mainFrameId, databaseName, callback);
43         }
44     }
45
46     // Load panel to install listeners.
47     WebInspector.inspectorView.panel("resources");
48
49     InspectorTest.addSniffer(WebInspector.IndexedDBTreeElement.prototype, "_indexedDBAdded", indexedDBAdded, true);
50     function indexedDBAdded()
51     {
52         InspectorTest.addResult("Database added.");
53     }
54
55     InspectorTest.addSniffer(WebInspector.IndexedDBTreeElement.prototype, "_indexedDBRemoved", indexedDBRemoved, true);
56     function indexedDBRemoved()
57     {
58         InspectorTest.addResult("Database removed.");
59     }
60
61     InspectorTest.addSniffer(WebInspector.IndexedDBTreeElement.prototype, "_indexedDBLoaded", indexedDBLoaded, true);
62     function indexedDBLoaded()
63     {
64         InspectorTest.addResult("Database loaded.");
65     }
66
67     WebInspector.inspectorView.showPanel("resources");
68
69     InspectorTest.addResult("Expanded IndexedDB tree element.");
70     WebInspector.panels.resources.indexedDBListTreeElement.expand();
71     InspectorTest.dumpIndexedDBTree();
72     InspectorTest.addResult("Created database.");
73     createDatabase(databaseCreated);
74
75     function databaseCreated()
76     {
77         indexedDBModel = WebInspector.targetManager.mainTarget().indexedDBModel;
78         indexedDBModel.addEventListener(WebInspector.IndexedDBModel.EventTypes.DatabaseLoaded, databaseLoaded);
79         WebInspector.panels.resources.indexedDBListTreeElement.refreshIndexedDB();
80     }
81
82     function databaseLoaded()
83     {
84         indexedDBModel.removeEventListener(WebInspector.IndexedDBModel.EventTypes.DatabaseLoaded, databaseLoaded);
85         InspectorTest.dumpIndexedDBTree();
86         InspectorTest.addResult("Navigated to another security origin.");
87         InspectorTest.navigate(withoutIndexedDBURL, navigatedAway);
88     }
89
90     function navigatedAway()
91     {
92         InspectorTest.dumpIndexedDBTree();
93         InspectorTest.addResult("Navigated back.");
94         InspectorTest.navigate(originalURL, navigatedBack);
95     }
96
97     function navigatedBack()
98     {
99         InspectorTest.dumpIndexedDBTree();
100         InspectorTest.addResult("Deleted database.");
101         deleteDatabase(databaseDeleted);
102     }
103
104     function databaseDeleted()
105     {
106         WebInspector.panels.resources.indexedDBListTreeElement.refreshIndexedDB();
107         InspectorTest.addSniffer(WebInspector.IndexedDBModel.prototype, "_updateOriginDatabaseNames", databaseNamesLoadedAfterDeleting, false);
108     }
109
110     function databaseNamesLoadedAfterDeleting()
111     {
112         InspectorTest.dumpIndexedDBTree();
113         WebInspector.panels.resources.indexedDBListTreeElement.collapse();
114         InspectorTest.completeTest();
115     }
116 }
117
118 </script>
119 </head>
120 <body onload="runTest()">
121 <p>Tests IndexedDB tree element on resources panel.</p>
122 </body>
123 </html>