<html>
<head>
    <script language='javascript'>
    function runTest() {
        if (window.layoutTestController)
            layoutTestController.dumpAsText();
        if (document.styleSheets[0].title == "basic" &&
            document.styleSheets[1].title == "basic") {
            document.getElementById("q").title = "advanced";
            if (document.styleSheets[1].title == "advanced")
                document.getElementById('result').innerHTML = 'SUCCESS';            
        }
    }
    </script>
    <link media="all" href="foo.css" rel="stylesheet" title="basic">
    <style type="text/css" id="q" title="basic">
    #foo {
        background-color: #66CCFF;
    }
    </style>
</head>
<body onload="runTest()">
<p>Test setting of the title of stylesheets for both &lt;link&gt; and &lt;style&gt; elements. See bug #11824.</p>
<div id="result">FAILURE</div>
</body>
</html>
