<html>
<head>
<script type="text/javascript">
if (window.testRunner) {
    testRunner.testRepaint();
    testRunner.repaintSweepHorizontally();
}
</script>
<style type="text/css">
        div.t { outline: 10px solid green; width: 98px; height: 98px; border: 1px solid black; background-color: #eee; }
</style>
</head>
<body>
<p>
This tests for regressions against <i><a href="https://bugs.webkit.org/show_bug.cgi?id=7943">http://bugzilla.opendarwin.org/show_bug.cgi?id=7943</a>
Layer outline does not repaint</i>.
</p>
<hr>
<div style="position: relative; height: 130px;">
<div class="t" style="position: absolute; left: 10px; top: 10px; clip: rect(-10px 100px 100px -10px);">
</div>
<div class="t" style="position: absolute; left: 140px; top: 10px; clip: rect(-10px 90px 90px -10px);">
</div>
<div class="t" style="position: absolute; left: 270px; top: 10px; clip: rect(-10px -5px -5px -10px);">
</div>
<div class="t" style="position: absolute; left: 400px; top: 10px; clip: rect(0px 110px 110px 0px);">
</div>
<div class="t" style="position: absolute; left: 530px; top: 10px; clip: rect(10px 110px 110px 10px);">
</div>
<div class="t" style="position: absolute; left: 660px; top: 10px; clip: rect(105px 110px 110px 105px);">
</div>
</div>
<div class="t" style="overflow: hidden; margin: 10px;">
</div>
<div class="t" style="position: relative; left: 10px; top: 20px;">
</div>
</body>
</html>
