<script>
function test1() {
    document.getElementById("test").src = "resources/mutate-frame.html";
}

function test2() {
    document.getElementById("test").src = "resources/mutate-frame-2.html";
}

var count = 1;
function run() {
    var container = document.getElementById("test2");
    var div = document.createElement("div");
    div.textContent = "Testing " + (count++);
    container.appendChild(div);
    if (count > 10)
        container.removeChild(container.firstChild);
}

setInterval(run, 1000);
</script>
<p>Test for <a href="https://bugs.webkit.org/show_bug.cgi?id=6590">Bug 6590: Web Inspector shows stale DOM tree if the DOM changes after the inspector has loaded</a>.</p>
<p>To test, open the Inspector and watch the DOM change to match the page. Clicking the buttons will navigate the subframe, and the all the subframe child nodes should change.</p>
<div style="clear: both">
<button onclick="test1()">Test Frame 1</button>
<button onclick="test2()">Test Frame 2</button>
</div>
<div style="float: left">
<iframe id="test" src="resources/mutate-frame.html" width="200" height="300"></iframe>
</div>
<div style="float: left; margin-left: 10px;" id="test2"></div>
