<!-- webkit-test-runner [ enableBackForwardCache=true ] -->
<!DOCTYPE html>
<html>
<body>
<script src="../../resources/js-test.js"></script>
<script>
description("Tests that an IDBRequest does not prevent page caching.");
jsTestIsAsync = true;

window.addEventListener("pageshow", function(event) {
   debug("pageshow - " + (event.persisted ? "" : "not ") + "from page cache");
   if (event.persisted) {
       testPassed("Page entered page cache");
       finishJSTest();
   }
 });
 
 window.addEventListener("pagehide", function(event) {
     debug("pagehide - " + (event.persisted ? "" : "not ") + "entering page cache");
     if (!event.persisted) {
         testFailed("Page failed to enter page cache");
         finishJSTest();
     }
 });
 
 onload = () => {
     setTimeout(() => {
         request = indexedDB.open("MyTestDatabase");

         window.location = "../../fast/history/resources/page-cache-helper.html";
    }, 0);
 };
</script>
</html>
