<html>
<head>
<title>Change inspected iframe's "src" attribute.</title>
<script src="inspector-test.js"></script>
<script src="elements-test.js"></script>
<script>

var onIFrameLoadCalled = false;
function onIFrameLoad()
{
    if (onIFrameLoadCalled)
        return;
    onIFrameLoadCalled = true;
    runTest();
}

function test()
{
    InspectorTest.nodeWithId("receiver", step1);

    function step1(node)
    {
        node.setAttribute("src", "src=\"http://localhost:8000/inspector/resources/iframe-from-different-domain-data.html\"");
        InspectorTest.addConsoleSniffer(step2);
    }

    function step2()
    {
        InspectorTest.completeTest();
    }
}

</script>
</head>
<body>
    <iframe src="resources/iframe-from-different-domain-data.html" id="receiver" onload="onIFrameLoad()"></iframe>
    <p>
    Tests that Elements panel allows to change src attribute on iframes
    inside inspected page.
    See <a href="https://bugs.webkit.org/show_bug.cgi?id=41350">bug 41350</a>.
    </p>
</body>
</html>
