Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!DOCTYPE html>
<link rel=author href="mailto:jarhar@chromium.org">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<body>
<script>
test(() => {
const doc1 = document.implementation.createHTMLDocument();
assert_equals(doc1.baseURI, 'about:blank', 'document.implementation.createHTMLDocument()');
const doc2 = document.implementation.createDocument('', '');
assert_equals(doc2.baseURI, 'about:blank', 'document.implementation.createDocument("", "")');
const doc3 = new Document();
assert_equals(doc3.baseURI, 'about:blank', 'new Document()');
}, 'Synthetic documents should return about:blank for document.baseURI.');
test(() => {
const doc = document.implementation.createHTMLDocument();
assert_equals(doc.baseURI, 'about:blank', 'baseURI should be about:blank without a <base>.');
const base = doc.createElement('base');
base.href = '/foo';
doc.head.appendChild(base);
assert_equals(doc.baseURI, 'about:blank', '<base> with relative URL should not change the about:blank baseURI.');
base.href = 'http://example.com/';
assert_equals(doc.baseURI, 'http://example.com/', '<base> with complete URL should replace the about:blank baseURI.');
}, 'Synthetic documents should incorporate <base> href URLs correctly.');
</script>