blob: 83edab8691f7db93e89580cab6f83b33d973cccc [file] [log] [blame]
<!-- webkit-test-runner [ enableBackForwardCache=true ] -->
<head>
<style>
html {
font-size: 32pt;
}
</style>
<script src="resources/swipe-test.js"></script>
<script>
function didBeginSwipeCallback()
{
log("didBeginSwipe");
completeSwipeGesture();
}
function willEndSwipeCallback()
{
log("willEndSwipe");
shouldBe(false, isFirstPage(), "The swipe should not yet have navigated away from the second page.");
}
function didEndSwipeCallback()
{
log("didEndSwipe");
startMeasuringDuration("snapshotRemoval");
}
function didRemoveSwipeSnapshotCallback()
{
log("didRemoveSwipeSnapshot");
shouldBe(true, isFirstPage(), "The swipe should have navigated back to the first page.");
measuredDurationShouldBeLessThan("snapshotRemoval", 1000, "Because we're using the page cache, it shouldn't be long between the gesture completing and the snapshot being removed.")
testComplete();
}
function isFirstPage()
{
return window.location.href.indexOf("second") == -1;
}
function updateContent()
{
document.body.innerHTML = isFirstPage() ? "first" : "second";
}
window.onload = function () {
if (!window.eventSender || !window.testRunner) {
document.body.innerHTML = "This test must be run in WebKitTestRunner.";
return;
}
updateContent();
initializeSwipeTest();
testRunner.installDidBeginSwipeCallback(didBeginSwipeCallback);
testRunner.installWillEndSwipeCallback(willEndSwipeCallback);
testRunner.installDidEndSwipeCallback(didEndSwipeCallback);
testRunner.installDidRemoveSwipeSnapshotCallback(didRemoveSwipeSnapshotCallback);
testRunner.dumpAsText();
testRunner.waitUntilDone();
window.addEventListener("popstate", function(e) {
updateContent();
});
setTimeout(function () {
history.pushState(null, null, "/second");
updateContent();
setTimeout(function () {
startSwipeGesture();
}, 0);
}, 0);
};
</script>
</head>
<body>
</body>