<!DOCTYPE html>
<html>
<head>
<script src="../../../resources/js-test.js"></script>
</head>
<body>
<iframe id="iframe"></iframe>
<script>
description('Checks input value is preserved after backward and forward');
if (!window.eventSender || !window.internals)
    debug('Please run within DumpRenderTree');
window.jsTestIsAsync = true;

var state = 'direct';
var testCases = [];

function failed(message) {
    testFailed(message + ' in ' + state);
    finishJSTest();
}

function finishTest() {
    runTestCases();
    finishJSTest();
}

function runTestCases() {
    for (var index = 0; index < testCases.length; ++index) {
        var testCase = testCases[index];
        debug(testCase['description'] + ':');
        shouldBeEqualToString('"' + testCase['actual'] + '"', testCase['expected']);
    }
    debug('');
}

window.onload = function() {
    document.getElementById('iframe').src = 'resources/preserve-value-after-history-back-frame.html?page1';
};
</script>
</body>
</html>
