13f61d8861083d2e58ca750babfb205114d02dd1
[WebKit-https.git] / LayoutTests / fast / history / page-cache-indexed-opened-db.html
1 <!-- webkit-test-runner [ enablePageCache=true ] -->
2 <!DOCTYPE html>
3 <html>
4 <body>
5 <script src="../../resources/js-test-pre.js"></script>
6 <script>
7 description('Tests that a page with an open IndexedDB database does not go into the page cache.');
8 window.jsTestIsAsync = true;
9
10 window.addEventListener("pageshow", function(event) {
11     debug("pageshow - " + (event.persisted ? "" : "not ") + "from cache");
12     if (!window.sessionStorage.page_cache_open_indexeddb_test_started)
13         return;
14
15     delete window.sessionStorage.page_cache_open_indexeddb_test_started;
16
17     if (event.persisted)
18         testFailed("Page did enter and was restored from the page cache");
19     else
20         testPassed("Page was not restored from page cache");
21     finishJSTest();
22 }, false);
23
24 window.addEventListener("pagehide", function(event) {
25     debug("pagehide - " + (event.persisted ? "" : "not ") + "entering cache");
26     if (event.persisted) {
27         testFailed("Page entered the page cache.");
28         finishJSTest();
29     }
30 }, false);
31
32 window.addEventListener('load', function() {
33     // Open the database.
34     var request = indexedDB.open("Page Cache Test");
35     request.onerror = function(event) {
36         testFailed("Could not open the database");
37         finishJSTest();
38     }
39     request.onsuccess = function(event) {
40       db = event.target.result;
41       // Force a back navigation back to this page.
42       window.sessionStorage.page_cache_open_indexeddb_test_started = true;
43       window.location.href = "resources/page-cache-helper.html";
44     }
45 }, false);
46
47 </script>
48 <script src="../../resources/js-test-post.js"></script>
49 </body>
50 </html>