<body onload="test()">
<div style="float: left; background-image: url(../replaced/resources/1x1-green.png)">
    <iframe id="iframe" src="resources/empty-body.html"></iframe>
    <script>
        function test()
        {
            if (window.testRunner)
                testRunner.waitUntilDone();

            setTimeout(function()
            {
                var doc = document.getElementById("iframe").contentDocument;
                var link = doc.createElement("link");
                link.setAttribute("rel", "stylesheet");
                link.setAttribute("href", "data:text/css,/* This loads asynchronously */");
                doc.documentElement.firstChild.appendChild(link);
                if (window.testRunner)
                    testRunner.notifyDone();
            }, 100);
        }
    </script>
</div>
</body>
