<html>
<head>
<script>
if (window.testRunner) {
    testRunner.dumpChildFramesAsText();
    testRunner.waitUntilDone();
}

function framesLoaded()
{
    if (window.testRunner)
        testRunner.notifyDone();
}

</script>
</head>
 <frameset border="1" cols="150,150,150,150,150,*" style='border: solid 1px;' onload="framesLoaded()">
  <frame marginwidth="1" src="resources/frame-element-name.html?expectedName=left" name="left">
  <frame src="resources/frame-element-name.html?expectedName=">
  <frame src="resources/frame-element-name.html?expectedName=_blank" name="_blank">
  <frame src="resources/frame-element-name.html?expectedName=_parent" name="_parent">
  <frame src="resources/frame-element-name.html?expectedName=_self" name="_self">
  <frame src="resources/frame-element-name.html?expectedName=_top" name="_top">
 </frameset>
</html>
