<script>
if (window.testRunner)
    testRunner.dumpAsText();
</script>
A srcdoc document should inherit its document.baseURI from its parent (but not
its document.URI).
<base href="http://example.com/base/URI/of/parent.html">
<iframe srcdoc="
  <script>
  alert('document.URL = ' + document.URL);
  alert('document.baseURI = ' + document.baseURI);
  </script>
  <base href='http://example.org/base/URI/from/child/base/tag.html'>
  <script>
  alert('After <base> element:');
  alert('document.baseURI = ' + document.baseURI);
  </script>
"></iframe>
