<html>
<head>
<title>Frames</title>
</head>
<body>
<p>Test that a document in a subframe processed with XSLT has a correct location.
(<a href='http://bugs.webkit.org/show_bug.cgi?id=18259'>bug 18259</a>).</p>
<Script>
if (window.layoutTestController)
    layoutTestController.dumpAsText();
</Script>
<iframe src="resources/subframe-location-frame.xml"></iframe>
</body>
</html>
