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