<!DOCTYPE html>
<body>
<script src="../../resources/runner.js"></script>
<script>
var test = PerfTestRunner.loadFile("./resources/multicol-content-many-columns.html");
var iframeCount = 1;

function processIframe() {
    var iframe = document.createElement("iframe");
    iframe.style.height = '800px';
    iframe.style.width = '1600px';
    document.body.appendChild(iframe);
    iframe.contentDocument.open();
    iframe.contentDocument.write(test);
    iframe.contentDocument.close();
    iframe.contentDocument.body.offsetTop;
    document.body.removeChild(iframe);
}

PerfTestRunner.measureTime({run: function() {
    for (var i = 0; i < iframeCount; i++) {
        processIframe();
    }
}});
</script>
</body>
