<!DOCTYPE html>
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}
setTimeout(function(){
    document.scrollingElement.scrollLeft;
    // Check that ignoreLayoutWithPendingStylesheets will return true if we did a
    // forced repaint after the access to scrollLeft. We should not since the delayed
    // stylesheet below is pending.
    if (!window.internals || internals.ignoreLayoutWithPendingStylesheets(document))
        document.write("FAIL");
    else
        document.write("PASS");
    document.close();
    if (window.testRunner)
        testRunner.notifyDone();
}, 0);
</script>
<link rel="stylesheet" href="/resources/slow-script.pl?delay=100">
