<!-- webkit-test-runner [ enablePageCache=true ] -->
<html>
<head>
<script src="../../../resources/js-test-pre.js"></script>
</head>
<body>
<script>
description('Tests that pages that use DeviceOrientation are not put in the page cache.');

if (window.testRunner) {
    testRunner.waitUntilDone();
    testRunner.setCanOpenWindows();
} else
    debug('This test can not be run without the TestRunner');

var pageOneOnloadCount = 0;
function reportPageOneOnload() {
    ++pageOneOnloadCount;
    debug('resources/cached-page-1.html onload fired, count = ' + pageOneOnloadCount);
    if (pageOneOnloadCount == 2) {
        finishJSTest();
    }
    return pageOneOnloadCount;
}

debug("Main page opening resources/cached-page-1.html");
window.open("resources/cached-page-1.html");

window.jsTestIsAsync = true;
</script>
<script src="../../../resources/js-test-post.js"></script>
</body>
</html>
