| <!-- webkit-test-runner [ UsesBackForwardCache=true ] --> |
| <!DOCTYPE html> |
| <html> |
| <head> |
| <script src="../../../resources/js-test.js"></script> |
| <script src="../../editing.js"></script> |
| </head> |
| <body> |
| <div id="dropzone" style="width: 200px; height: 200px; background-color: grey;"></div> |
| <script> |
| description("Make sure that fileSystemDirectoryEntry.getFile() does not prevent a page from entering the back/forward cache."); |
| jsTestIsAsync = true; |
| restoredFromPageCache = false; |
| |
| window.addEventListener("pageshow", function(event) { |
| debug("pageshow - " + (event.persisted ? "" : "not ") + "from cache"); |
| if (event.persisted) { |
| testPassed("Page did enter and was restored from the page cache"); |
| restoredFromPageCache = true; |
| } |
| }, false); |
| |
| window.addEventListener("pagehide", function(event) { |
| debug("pagehide - " + (event.persisted ? "" : "not ") + "entering cache"); |
| if (!event.persisted) { |
| testFailed("Page did not enter the page cache."); |
| finishJSTest(); |
| } else { |
| entry.getFile('/testFiles/subfolder1/file3.txt', {}, function(file) { |
| testPassed("Success callback was called"); |
| shouldBeTrue("restoredFromPageCache"); |
| finishJSTest(); |
| }, function(e) { |
| testFailed("Error callback was called"); |
| finishJSTest(); |
| }); |
| } |
| }, false); |
| |
| var dropzone = document.getElementById('dropzone'); |
| dropzone.ondrop = function(e) { |
| e.preventDefault(); |
| dataTransfer = e.dataTransfer; |
| |
| entry = dataTransfer.items[0].webkitGetAsEntry(); |
| window.location.href = "../../../fast/history/resources/page-cache-helper.html"; |
| }; |
| |
| dropzone.ondragover = function(ev) { |
| ev.preventDefault(); |
| } |
| |
| onload = function() { |
| setTimeout(() => { |
| dragFilesOntoElement(dropzone, ['../../../fast/forms/file/entries-api/resources/testFiles']); |
| }, 0); |
| } |
| </script> |
| </body> |
| </html> |