<html>
<head>
<script>
    function runTests() {
        if (window.testRunner) {
            testRunner.dumpAsText();
            testRunner.dumpUserGestureInFrameLoadCallbacks();
            testRunner.waitUntilDone();
        }

        setTimeout("location.href='../../resources/notify-success.html'", 1000);
    }
    </script>
</head>
<body onload="runTests();">
Some WebKit ports send the user gesture to the embedders in didStartProvisionalLoad callback. The embedders use it to judge whether the navigation is user-initiated or not. In location change redirection, the user gesture status in didStartProvisionalLoad callback should be false. For more details, please refer to https://bugs.webkit.org/show_bug.cgi?id=47817.
</div>
</body>
</html>
