<!doctype html>
<html>
    <head>
        <title>Bug 92497 - [CSS Regions] Region overset property is not properly computed when there is a region break</title>
        <style type="text/css">

            .columns {
                -webkit-column-count:2;
                width:250px;
            }

            .columns p:first-child {
                -webkit-column-break-after: always;
                margin-bottom: 10em; /*shouldn't spill over the forced break*/
            }

            .fail #pass, .pass #fail { display: none; }
        </style>
    </head>

    <body>
        <div class="columns">
            <p>This is some text with bottom margin and forced break after.</p>
            <p>This paragraph should be aligned with the other paragraph because the 1st paragraph's bottom margin shouldn't spill over the forced break.</p>
        </div>

        <script type="text/javascript">
            if(window.testRunner)
                testRunner.dumpAsText();
            document.body.className = document.querySelector(".columns p:nth-child(2)").offsetTop == document.querySelector(".columns p:first-child").offsetTop ? "pass" : "fail";
        </script>

        <div id="pass">PASS</div>
        <div id="fail">FAIL</div>

        <p><a href="https://bugs.webkit.org/show_bug.cgi?id=92497">Bug 92497</a> - [CSS Regions] Region overset property is not properly computed when there is a region break</p>

    </body>
</html>