<!DOCTYPE html>
<html>
<head>
<script src="../../../resources/js-test.js"></script>
<script>
description("Check that we do not Debug ASSERT when modifying attribute data for a link.");

function testOriginalBeforeLoad()
{
    testPassed("Before load event handled for original link element.");        
}

</script>
<link id="link" type="text/css" rel="stylesheet" href="resources/htmllink-disable.css" onbeforeload="testOriginalBeforeLoad()"/>
<script>
function testBeforeLoad()
{
    testPassed("Before load event handled.");        
}

function test()
{
    if (window.testRunner) {
        testRunner.dumpAsText();
        testRunner.waitUntilDone();
    }

    var origLink = document.getElementById('link');

    var relAttr = origLink.getAttributeNode('rel');
    relAttr.value = "author";

    setTimeout(step2, 0);
}

function step2()
{
    testPassed("Test did not generate a Debug ASSERT.");
    if (window.testRunner)
        testRunner.notifyDone();
}
</script>
</head>
<body onload="test()">
</body>
</html>
