Backed out changesets b34d80ec0e6c, b11446d7201f (bug 1233726) for W(1) failures. r=backout
authorSebastian Hengst <archaeopteryx@coole-files.de>
Fri, 18 Dec 2015 19:44:12 +0100
changeset 277039 d3c254e1d98a3ec6003a0605a2ed33ea33282874
parent 277038 2400272b81cfa4627eae0e78785b995128a3031a
child 277040 d8e260e1535f0ff3877b21d6846380dedf449453
push id16724
push usercbook@mozilla.com
push dateMon, 21 Dec 2015 11:00:52 +0000
treeherderfx-team@3f3f0361567c [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbackout
bugs1233726
milestone46.0a1
backs outb34d80ec0e6c33591fb97fd3652857cbce35d04b
b11446d7201fe822bb0d3ee5da8e5cbdb90b5fa7
Backed out changesets b34d80ec0e6c, b11446d7201f (bug 1233726) for W(1) failures. r=backout
testing/web-platform/meta/FileAPI/idlharness.worker.js.ini
testing/web-platform/meta/MANIFEST.json
testing/web-platform/meta/content-security-policy/media-src/media-src-redir-bug.sub.html.ini
testing/web-platform/meta/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/creating_browsing_context_test_01.html.ini
testing/web-platform/meta/html/dom/elements/elements-in-the-dom/unknown-element.html.ini
testing/web-platform/meta/html/dom/interfaces.html.ini
testing/web-platform/meta/html/semantics/embedded-content/the-img-element/current-pixel-density/basic.html.ini
testing/web-platform/meta/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-number.html.ini
testing/web-platform/meta/mozilla-sync
testing/web-platform/meta/selectors/attribute-selectors/attribute-case/semantics.html.ini
testing/web-platform/meta/selectors/attribute-selectors/attribute-case/syntax.html.ini
testing/web-platform/meta/svg/interfaces.html.ini
testing/web-platform/meta/url/a-element-xhtml.xhtml.ini
testing/web-platform/meta/url/interfaces.html.ini
testing/web-platform/meta/webgl/compressedTexSubImage2D.html.ini
testing/web-platform/meta/webvtt/interfaces.html.ini
testing/web-platform/meta/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_timestamp_past.html.ini
testing/web-platform/tests/battery-status/battery-created-manual.html
testing/web-platform/tests/conformance-checkers/messages.json
testing/web-platform/tests/content-security-policy/media-src/media-src-redir-bug.sub.html
testing/web-platform/tests/content-security-policy/media-src/media-src-redir-bug.sub.html.sub.headers
testing/web-platform/tests/dom/nodes/Document-createProcessingInstruction-xhtml.xhtml
testing/web-platform/tests/dom/nodes/Document-createProcessingInstruction.xhtml
testing/web-platform/tests/dom/nodes/Document-getElementsByTagName-xhtml.xhtml
testing/web-platform/tests/dom/nodes/Document-getElementsByTagName.xhtml
testing/web-platform/tests/dom/nodes/DocumentType-literal-xhtml.xhtml
testing/web-platform/tests/dom/nodes/DocumentType-literal.xhtml
testing/web-platform/tests/dom/nodes/Element-childElement-null-svg.svg
testing/web-platform/tests/dom/nodes/Element-childElement-null-xhtml.xhtml
testing/web-platform/tests/dom/nodes/Element-childElement-null.svg
testing/web-platform/tests/dom/nodes/Element-childElement-null.xhtml
testing/web-platform/tests/dom/nodes/Element-childElementCount-dynamic-add-svg.svg
testing/web-platform/tests/dom/nodes/Element-childElementCount-dynamic-add-xhtml.xhtml
testing/web-platform/tests/dom/nodes/Element-childElementCount-dynamic-add.svg
testing/web-platform/tests/dom/nodes/Element-childElementCount-dynamic-add.xhtml
testing/web-platform/tests/dom/nodes/Element-childElementCount-dynamic-remove-svg.svg
testing/web-platform/tests/dom/nodes/Element-childElementCount-dynamic-remove-xhtml.xhtml
testing/web-platform/tests/dom/nodes/Element-childElementCount-dynamic-remove.svg
testing/web-platform/tests/dom/nodes/Element-childElementCount-dynamic-remove.xhtml
testing/web-platform/tests/dom/nodes/Element-childElementCount-nochild-svg.svg
testing/web-platform/tests/dom/nodes/Element-childElementCount-nochild-xhtml.xhtml
testing/web-platform/tests/dom/nodes/Element-childElementCount-nochild.svg
testing/web-platform/tests/dom/nodes/Element-childElementCount-nochild.xhtml
testing/web-platform/tests/dom/nodes/Element-childElementCount-svg.svg
testing/web-platform/tests/dom/nodes/Element-childElementCount-xhtml.xhtml
testing/web-platform/tests/dom/nodes/Element-childElementCount.svg
testing/web-platform/tests/dom/nodes/Element-childElementCount.xhtml
testing/web-platform/tests/dom/nodes/Element-firstElementChild-entity-xhtml.xhtml
testing/web-platform/tests/dom/nodes/Element-firstElementChild-entity.xhtml
testing/web-platform/tests/dom/nodes/Element-firstElementChild-namespace-svg.svg
testing/web-platform/tests/dom/nodes/Element-firstElementChild-namespace-xhtml.xhtml
testing/web-platform/tests/dom/nodes/Element-firstElementChild-namespace.svg
testing/web-platform/tests/dom/nodes/Element-firstElementChild-namespace.xhtml
testing/web-platform/tests/dom/nodes/Element-firstElementChild-svg.svg
testing/web-platform/tests/dom/nodes/Element-firstElementChild-xhtml.xhtml
testing/web-platform/tests/dom/nodes/Element-firstElementChild.svg
testing/web-platform/tests/dom/nodes/Element-firstElementChild.xhtml
testing/web-platform/tests/dom/nodes/Element-lastElementChild-svg.svg
testing/web-platform/tests/dom/nodes/Element-lastElementChild-xhtml.xhtml
testing/web-platform/tests/dom/nodes/Element-lastElementChild.svg
testing/web-platform/tests/dom/nodes/Element-lastElementChild.xhtml
testing/web-platform/tests/dom/nodes/Element-nextElementSibling-svg.svg
testing/web-platform/tests/dom/nodes/Element-nextElementSibling-xhtml.xhtml
testing/web-platform/tests/dom/nodes/Element-nextElementSibling.svg
testing/web-platform/tests/dom/nodes/Element-nextElementSibling.xhtml
testing/web-platform/tests/dom/nodes/Element-previousElementSibling-svg.svg
testing/web-platform/tests/dom/nodes/Element-previousElementSibling-xhtml.xhtml
testing/web-platform/tests/dom/nodes/Element-previousElementSibling.svg
testing/web-platform/tests/dom/nodes/Element-previousElementSibling.xhtml
testing/web-platform/tests/dom/nodes/Element-siblingElement-null-svg.svg
testing/web-platform/tests/dom/nodes/Element-siblingElement-null-xhtml.xhtml
testing/web-platform/tests/dom/nodes/Element-siblingElement-null.svg
testing/web-platform/tests/dom/nodes/Element-siblingElement-null.xhtml
testing/web-platform/tests/dom/nodes/Node-nodeName-xhtml.xhtml
testing/web-platform/tests/dom/nodes/Node-nodeName.xhtml
testing/web-platform/tests/dom/nodes/ParentNode-querySelector-All-xht.xht
testing/web-platform/tests/dom/nodes/ParentNode-querySelector-All.xht
testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case-xhtml.xhtml
testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.xhtml
testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id-xhtml.xhtml
testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.xhtml
testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace-xhtml.xhtml
testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.xhtml
testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-xhtml.xhtml
testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.xhtml
testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef-xhtml.xhtml
testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.xhtml
testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param-xhtml.xhtml
testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.xhtml
testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-color-02.html
testing/web-platform/tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-color-03.html
testing/web-platform/tests/html/semantics/embedded-content/the-img-element/current-pixel-density/basic.html
testing/web-platform/tests/html/semantics/forms/the-input-element/maxlength-manual.html
testing/web-platform/tests/html/semantics/forms/the-input-element/maxlength.html
testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-for-event-xhtml.xhtml
testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-for-event.xhtml
testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-text-xhtml.xhtml
testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-text.xhtml
testing/web-platform/tests/html/syntax/parsing/README
testing/web-platform/tests/html/syntax/parsing/test.js
testing/web-platform/tests/resources/docs/api.md
testing/web-platform/tests/resources/idlharness.js
testing/web-platform/tests/resources/webidl2/README.md
testing/web-platform/tests/resources/webidl2/lib/webidl2.js
testing/web-platform/tests/resources/webidl2/package.json
testing/web-platform/tests/resources/webidl2/test/invalid/idl/maplike-1type.widl
testing/web-platform/tests/resources/webidl2/test/invalid/idl/readonly-iterable.widl
testing/web-platform/tests/resources/webidl2/test/invalid/idl/setlike-2types.widl
testing/web-platform/tests/resources/webidl2/test/invalid/idl/typedef-nested.widl
testing/web-platform/tests/resources/webidl2/test/invalid/json/maplike-1type.json
testing/web-platform/tests/resources/webidl2/test/invalid/json/readonly-iterable.json
testing/web-platform/tests/resources/webidl2/test/invalid/json/setlike-2types.json
testing/web-platform/tests/resources/webidl2/test/invalid/json/typedef-nested.json
testing/web-platform/tests/resources/webidl2/test/syntax.js
testing/web-platform/tests/resources/webidl2/test/syntax/idl/callback.widl
testing/web-platform/tests/resources/webidl2/test/syntax/idl/enum.widl
testing/web-platform/tests/resources/webidl2/test/syntax/idl/extended-attributes.widl
testing/web-platform/tests/resources/webidl2/test/syntax/idl/iterable.widl
testing/web-platform/tests/resources/webidl2/test/syntax/idl/legacyiterable.widl
testing/web-platform/tests/resources/webidl2/test/syntax/idl/maplike.widl
testing/web-platform/tests/resources/webidl2/test/syntax/idl/setlike.widl
testing/web-platform/tests/resources/webidl2/test/syntax/idl/typedef-nested.widl
testing/web-platform/tests/resources/webidl2/test/syntax/json/callback.json
testing/web-platform/tests/resources/webidl2/test/syntax/json/enum.json
testing/web-platform/tests/resources/webidl2/test/syntax/json/extended-attributes.json
testing/web-platform/tests/resources/webidl2/test/syntax/json/iterable.json
testing/web-platform/tests/resources/webidl2/test/syntax/json/legacyiterable.json
testing/web-platform/tests/resources/webidl2/test/syntax/json/maplike.json
testing/web-platform/tests/resources/webidl2/test/syntax/json/setlike.json
testing/web-platform/tests/resources/webidl2/test/syntax/json/typedef-nested.json
testing/web-platform/tests/resources/webidl2/test/syntax/opt/typedef-nested.json
testing/web-platform/tests/selectors/attribute-selectors/attribute-case/semantics.html
testing/web-platform/tests/selectors/attribute-selectors/attribute-case/syntax.html
testing/web-platform/tests/svg/interfaces.html
testing/web-platform/tests/tools/manifest/item.py
testing/web-platform/tests/tools/manifest/manifest.py
testing/web-platform/tests/tools/manifest/utils.py
testing/web-platform/tests/url/a-element-xhtml.xhtml
testing/web-platform/tests/url/a-element.xhtml
testing/web-platform/tests/webgl/compressedTexSubImage2D.html
--- a/testing/web-platform/meta/FileAPI/idlharness.worker.js.ini
+++ b/testing/web-platform/meta/FileAPI/idlharness.worker.js.ini
@@ -36,146 +36,8 @@
   [FileList interface: existence and properties of interface prototype object's "constructor" property]
     expected: FAIL
 
   [FileList interface: operation item(unsigned long)]
     expected: FAIL
 
   [FileList interface: attribute length]
     expected: FAIL
-
-  [FileReader interface: existence and properties of interface object]
-    expected: FAIL
-
-  [FileReader interface object length]
-    expected: FAIL
-
-  [FileReader interface: existence and properties of interface prototype object]
-    expected: FAIL
-
-  [FileReader interface: existence and properties of interface prototype object's "constructor" property]
-    expected: FAIL
-
-  [FileReader interface: operation readAsArrayBuffer(Blob)]
-    expected: FAIL
-
-  [FileReader interface: operation readAsText(Blob,DOMString)]
-    expected: FAIL
-
-  [FileReader interface: operation readAsDataURL(Blob)]
-    expected: FAIL
-
-  [FileReader interface: operation abort()]
-    expected: FAIL
-
-  [FileReader interface: constant EMPTY on interface object]
-    expected: FAIL
-
-  [FileReader interface: constant EMPTY on interface prototype object]
-    expected: FAIL
-
-  [FileReader interface: constant LOADING on interface object]
-    expected: FAIL
-
-  [FileReader interface: constant LOADING on interface prototype object]
-    expected: FAIL
-
-  [FileReader interface: constant DONE on interface object]
-    expected: FAIL
-
-  [FileReader interface: constant DONE on interface prototype object]
-    expected: FAIL
-
-  [FileReader interface: attribute readyState]
-    expected: FAIL
-
-  [FileReader interface: attribute result]
-    expected: FAIL
-
-  [FileReader interface: attribute error]
-    expected: FAIL
-
-  [FileReader interface: attribute onloadstart]
-    expected: FAIL
-
-  [FileReader interface: attribute onprogress]
-    expected: FAIL
-
-  [FileReader interface: attribute onload]
-    expected: FAIL
-
-  [FileReader interface: attribute onabort]
-    expected: FAIL
-
-  [FileReader interface: attribute onerror]
-    expected: FAIL
-
-  [FileReader interface: attribute onloadend]
-    expected: FAIL
-
-  [FileReader must be primary interface of new FileReader()]
-    expected: FAIL
-
-  [Stringification of new FileReader()]
-    expected: FAIL
-
-  [FileReader interface: new FileReader() must inherit property "readAsArrayBuffer" with the proper type (0)]
-    expected: FAIL
-
-  [FileReader interface: calling readAsArrayBuffer(Blob) on new FileReader() with too few arguments must throw TypeError]
-    expected: FAIL
-
-  [FileReader interface: new FileReader() must inherit property "readAsText" with the proper type (1)]
-    expected: FAIL
-
-  [FileReader interface: calling readAsText(Blob,DOMString) on new FileReader() with too few arguments must throw TypeError]
-    expected: FAIL
-
-  [FileReader interface: new FileReader() must inherit property "readAsDataURL" with the proper type (2)]
-    expected: FAIL
-
-  [FileReader interface: calling readAsDataURL(Blob) on new FileReader() with too few arguments must throw TypeError]
-    expected: FAIL
-
-  [FileReader interface: new FileReader() must inherit property "abort" with the proper type (3)]
-    expected: FAIL
-
-  [FileReader interface: new FileReader() must inherit property "EMPTY" with the proper type (4)]
-    expected: FAIL
-
-  [FileReader interface: new FileReader() must inherit property "LOADING" with the proper type (5)]
-    expected: FAIL
-
-  [FileReader interface: new FileReader() must inherit property "DONE" with the proper type (6)]
-    expected: FAIL
-
-  [FileReader interface: new FileReader() must inherit property "readyState" with the proper type (7)]
-    expected: FAIL
-
-  [FileReader interface: new FileReader() must inherit property "result" with the proper type (8)]
-    expected: FAIL
-
-  [FileReader interface: new FileReader() must inherit property "error" with the proper type (9)]
-    expected: FAIL
-
-  [FileReader interface: new FileReader() must inherit property "onloadstart" with the proper type (10)]
-    expected: FAIL
-
-  [FileReader interface: new FileReader() must inherit property "onprogress" with the proper type (11)]
-    expected: FAIL
-
-  [FileReader interface: new FileReader() must inherit property "onload" with the proper type (12)]
-    expected: FAIL
-
-  [FileReader interface: new FileReader() must inherit property "onabort" with the proper type (13)]
-    expected: FAIL
-
-  [FileReader interface: new FileReader() must inherit property "onerror" with the proper type (14)]
-    expected: FAIL
-
-  [FileReader interface: new FileReader() must inherit property "onloadend" with the proper type (15)]
-    expected: FAIL
-
-  [FileList interface object name]
-    expected: FAIL
-
-  [FileReader interface object name]
-    expected: FAIL
--- a/testing/web-platform/meta/MANIFEST.json
+++ b/testing/web-platform/meta/MANIFEST.json
@@ -97,16 +97,20 @@
         "path": "XMLHttpRequest/send-authentication-prompt-manual.htm",
         "url": "/XMLHttpRequest/send-authentication-prompt-manual.htm"
       },
       {
         "path": "battery-status/battery-charging-manual.html",
         "url": "/battery-status/battery-charging-manual.html"
       },
       {
+        "path": "battery-status/battery-created-manual.html",
+        "url": "/battery-status/battery-created-manual.html"
+      },
+      {
         "path": "battery-status/battery-discharging-manual.html",
         "url": "/battery-status/battery-discharging-manual.html"
       },
       {
         "path": "battery-status/battery-full-manual.html",
         "url": "/battery-status/battery-full-manual.html"
       },
       {
@@ -769,20 +773,16 @@
         "path": "html/semantics/forms/constraints/tooLong-textarea-delete-manual.html",
         "url": "/html/semantics/forms/constraints/tooLong-textarea-delete-manual.html"
       },
       {
         "path": "html/semantics/forms/the-input-element/file-manual.html",
         "url": "/html/semantics/forms/the-input-element/file-manual.html"
       },
       {
-        "path": "html/semantics/forms/the-input-element/maxlength-manual.html",
-        "url": "/html/semantics/forms/the-input-element/maxlength-manual.html"
-      },
-      {
         "path": "html/semantics/forms/the-optgroup-element/optgroup-disabled-manual.html",
         "url": "/html/semantics/forms/the-optgroup-element/optgroup-disabled-manual.html"
       },
       {
         "path": "html/semantics/forms/the-option-element/option-disabled-manual.html",
         "url": "/html/semantics/forms/the-option-element/option-disabled-manual.html"
       },
       {
@@ -13087,20 +13087,16 @@
         "path": "content-security-policy/media-src/media-src-7_3.html",
         "url": "/content-security-policy/media-src/media-src-7_3.html"
       },
       {
         "path": "content-security-policy/media-src/media-src-7_3_2.html",
         "url": "/content-security-policy/media-src/media-src-7_3_2.html"
       },
       {
-        "path": "content-security-policy/media-src/media-src-redir-bug.sub.html",
-        "url": "/content-security-policy/media-src/media-src-redir-bug.sub.html"
-      },
-      {
         "path": "content-security-policy/meta/meta-img-src.html",
         "url": "/content-security-policy/meta/meta-img-src.html"
       },
       {
         "path": "content-security-policy/meta/meta-modified.html",
         "url": "/content-security-policy/meta/meta-modified.html"
       },
       {
@@ -13267,16 +13263,20 @@
         "path": "custom-elements/custom-element-lifecycle/enqueuing-and-invoking-callbacks/invoke-callbacks.html",
         "url": "/custom-elements/custom-element-lifecycle/enqueuing-and-invoking-callbacks/invoke-callbacks.html"
       },
       {
         "path": "custom-elements/custom-element-lifecycle/types-of-callbacks/attached-callback-move-element-test.html",
         "url": "/custom-elements/custom-element-lifecycle/types-of-callbacks/attached-callback-move-element-test.html"
       },
       {
+        "path": "custom-elements/custom-element-lifecycle/types-of-callbacks/attached-callback-test.html",
+        "url": "/custom-elements/custom-element-lifecycle/types-of-callbacks/attached-callback-test.html"
+      },
+      {
         "path": "custom-elements/custom-element-lifecycle/types-of-callbacks/attribute-changed-callback-change-attribute-test.html",
         "url": "/custom-elements/custom-element-lifecycle/types-of-callbacks/attribute-changed-callback-change-attribute-test.html"
       },
       {
         "path": "custom-elements/custom-element-lifecycle/types-of-callbacks/attribute-changed-callback-remove-attribute-test.html",
         "url": "/custom-elements/custom-element-lifecycle/types-of-callbacks/attribute-changed-callback-remove-attribute-test.html"
       },
       {
@@ -13735,252 +13735,252 @@
         "path": "dom/nodes/Document-createElementNS.html",
         "url": "/dom/nodes/Document-createElementNS.html"
       },
       {
         "path": "dom/nodes/Document-createEvent.html",
         "url": "/dom/nodes/Document-createEvent.html"
       },
       {
-        "path": "dom/nodes/Document-createProcessingInstruction-xhtml.xhtml",
-        "url": "/dom/nodes/Document-createProcessingInstruction-xhtml.xhtml"
-      },
-      {
         "path": "dom/nodes/Document-createProcessingInstruction.html",
         "url": "/dom/nodes/Document-createProcessingInstruction.html"
       },
       {
+        "path": "dom/nodes/Document-createProcessingInstruction.xhtml",
+        "url": "/dom/nodes/Document-createProcessingInstruction.xhtml"
+      },
+      {
         "path": "dom/nodes/Document-createTextNode.html",
         "url": "/dom/nodes/Document-createTextNode.html"
       },
       {
         "path": "dom/nodes/Document-createTreeWalker.html",
         "url": "/dom/nodes/Document-createTreeWalker.html"
       },
       {
         "path": "dom/nodes/Document-doctype.html",
         "url": "/dom/nodes/Document-doctype.html"
       },
       {
         "path": "dom/nodes/Document-getElementById.html",
         "url": "/dom/nodes/Document-getElementById.html"
       },
       {
-        "path": "dom/nodes/Document-getElementsByTagName-xhtml.xhtml",
-        "url": "/dom/nodes/Document-getElementsByTagName-xhtml.xhtml"
-      },
-      {
         "path": "dom/nodes/Document-getElementsByTagName.html",
         "url": "/dom/nodes/Document-getElementsByTagName.html"
       },
       {
+        "path": "dom/nodes/Document-getElementsByTagName.xhtml",
+        "url": "/dom/nodes/Document-getElementsByTagName.xhtml"
+      },
+      {
         "path": "dom/nodes/Document-getElementsByTagNameNS.html",
         "url": "/dom/nodes/Document-getElementsByTagNameNS.html"
       },
       {
         "path": "dom/nodes/Document-implementation.html",
         "url": "/dom/nodes/Document-implementation.html"
       },
       {
         "path": "dom/nodes/Document-importNode.html",
         "url": "/dom/nodes/Document-importNode.html"
       },
       {
-        "path": "dom/nodes/DocumentType-literal-xhtml.xhtml",
-        "url": "/dom/nodes/DocumentType-literal-xhtml.xhtml"
-      },
-      {
         "path": "dom/nodes/DocumentType-literal.html",
         "url": "/dom/nodes/DocumentType-literal.html"
       },
       {
+        "path": "dom/nodes/DocumentType-literal.xhtml",
+        "url": "/dom/nodes/DocumentType-literal.xhtml"
+      },
+      {
         "path": "dom/nodes/DocumentType-remove.html",
         "url": "/dom/nodes/DocumentType-remove.html"
       },
       {
-        "path": "dom/nodes/Element-childElement-null-svg.svg",
-        "url": "/dom/nodes/Element-childElement-null-svg.svg"
-      },
-      {
-        "path": "dom/nodes/Element-childElement-null-xhtml.xhtml",
-        "url": "/dom/nodes/Element-childElement-null-xhtml.xhtml"
-      },
-      {
         "path": "dom/nodes/Element-childElement-null.html",
         "url": "/dom/nodes/Element-childElement-null.html"
       },
       {
-        "path": "dom/nodes/Element-childElementCount-dynamic-add-svg.svg",
-        "url": "/dom/nodes/Element-childElementCount-dynamic-add-svg.svg"
-      },
-      {
-        "path": "dom/nodes/Element-childElementCount-dynamic-add-xhtml.xhtml",
-        "url": "/dom/nodes/Element-childElementCount-dynamic-add-xhtml.xhtml"
+        "path": "dom/nodes/Element-childElement-null.svg",
+        "url": "/dom/nodes/Element-childElement-null.svg"
+      },
+      {
+        "path": "dom/nodes/Element-childElement-null.xhtml",
+        "url": "/dom/nodes/Element-childElement-null.xhtml"
       },
       {
         "path": "dom/nodes/Element-childElementCount-dynamic-add.html",
         "url": "/dom/nodes/Element-childElementCount-dynamic-add.html"
       },
       {
-        "path": "dom/nodes/Element-childElementCount-dynamic-remove-svg.svg",
-        "url": "/dom/nodes/Element-childElementCount-dynamic-remove-svg.svg"
-      },
-      {
-        "path": "dom/nodes/Element-childElementCount-dynamic-remove-xhtml.xhtml",
-        "url": "/dom/nodes/Element-childElementCount-dynamic-remove-xhtml.xhtml"
+        "path": "dom/nodes/Element-childElementCount-dynamic-add.svg",
+        "url": "/dom/nodes/Element-childElementCount-dynamic-add.svg"
+      },
+      {
+        "path": "dom/nodes/Element-childElementCount-dynamic-add.xhtml",
+        "url": "/dom/nodes/Element-childElementCount-dynamic-add.xhtml"
       },
       {
         "path": "dom/nodes/Element-childElementCount-dynamic-remove.html",
         "url": "/dom/nodes/Element-childElementCount-dynamic-remove.html"
       },
       {
-        "path": "dom/nodes/Element-childElementCount-nochild-svg.svg",
-        "url": "/dom/nodes/Element-childElementCount-nochild-svg.svg"
-      },
-      {
-        "path": "dom/nodes/Element-childElementCount-nochild-xhtml.xhtml",
-        "url": "/dom/nodes/Element-childElementCount-nochild-xhtml.xhtml"
+        "path": "dom/nodes/Element-childElementCount-dynamic-remove.svg",
+        "url": "/dom/nodes/Element-childElementCount-dynamic-remove.svg"
+      },
+      {
+        "path": "dom/nodes/Element-childElementCount-dynamic-remove.xhtml",
+        "url": "/dom/nodes/Element-childElementCount-dynamic-remove.xhtml"
       },
       {
         "path": "dom/nodes/Element-childElementCount-nochild.html",
         "url": "/dom/nodes/Element-childElementCount-nochild.html"
       },
       {
-        "path": "dom/nodes/Element-childElementCount-svg.svg",
-        "url": "/dom/nodes/Element-childElementCount-svg.svg"
-      },
-      {
-        "path": "dom/nodes/Element-childElementCount-xhtml.xhtml",
-        "url": "/dom/nodes/Element-childElementCount-xhtml.xhtml"
+        "path": "dom/nodes/Element-childElementCount-nochild.svg",
+        "url": "/dom/nodes/Element-childElementCount-nochild.svg"
+      },
+      {
+        "path": "dom/nodes/Element-childElementCount-nochild.xhtml",
+        "url": "/dom/nodes/Element-childElementCount-nochild.xhtml"
       },
       {
         "path": "dom/nodes/Element-childElementCount.html",
         "url": "/dom/nodes/Element-childElementCount.html"
       },
       {
+        "path": "dom/nodes/Element-childElementCount.svg",
+        "url": "/dom/nodes/Element-childElementCount.svg"
+      },
+      {
+        "path": "dom/nodes/Element-childElementCount.xhtml",
+        "url": "/dom/nodes/Element-childElementCount.xhtml"
+      },
+      {
         "path": "dom/nodes/Element-children.html",
         "url": "/dom/nodes/Element-children.html"
       },
       {
         "path": "dom/nodes/Element-classlist.html",
         "url": "/dom/nodes/Element-classlist.html"
       },
       {
         "path": "dom/nodes/Element-closest.html",
         "url": "/dom/nodes/Element-closest.html"
       },
       {
-        "path": "dom/nodes/Element-firstElementChild-entity-xhtml.xhtml",
-        "url": "/dom/nodes/Element-firstElementChild-entity-xhtml.xhtml"
-      },
-      {
         "path": "dom/nodes/Element-firstElementChild-entity.svg",
         "url": "/dom/nodes/Element-firstElementChild-entity.svg"
       },
       {
-        "path": "dom/nodes/Element-firstElementChild-namespace-svg.svg",
-        "url": "/dom/nodes/Element-firstElementChild-namespace-svg.svg"
-      },
-      {
-        "path": "dom/nodes/Element-firstElementChild-namespace-xhtml.xhtml",
-        "url": "/dom/nodes/Element-firstElementChild-namespace-xhtml.xhtml"
+        "path": "dom/nodes/Element-firstElementChild-entity.xhtml",
+        "url": "/dom/nodes/Element-firstElementChild-entity.xhtml"
       },
       {
         "path": "dom/nodes/Element-firstElementChild-namespace.html",
         "url": "/dom/nodes/Element-firstElementChild-namespace.html"
       },
       {
-        "path": "dom/nodes/Element-firstElementChild-svg.svg",
-        "url": "/dom/nodes/Element-firstElementChild-svg.svg"
-      },
-      {
-        "path": "dom/nodes/Element-firstElementChild-xhtml.xhtml",
-        "url": "/dom/nodes/Element-firstElementChild-xhtml.xhtml"
+        "path": "dom/nodes/Element-firstElementChild-namespace.svg",
+        "url": "/dom/nodes/Element-firstElementChild-namespace.svg"
+      },
+      {
+        "path": "dom/nodes/Element-firstElementChild-namespace.xhtml",
+        "url": "/dom/nodes/Element-firstElementChild-namespace.xhtml"
       },
       {
         "path": "dom/nodes/Element-firstElementChild.html",
         "url": "/dom/nodes/Element-firstElementChild.html"
       },
       {
+        "path": "dom/nodes/Element-firstElementChild.svg",
+        "url": "/dom/nodes/Element-firstElementChild.svg"
+      },
+      {
+        "path": "dom/nodes/Element-firstElementChild.xhtml",
+        "url": "/dom/nodes/Element-firstElementChild.xhtml"
+      },
+      {
         "path": "dom/nodes/Element-getElementsByClassName.html",
         "url": "/dom/nodes/Element-getElementsByClassName.html"
       },
       {
         "path": "dom/nodes/Element-getElementsByTagName-change-document-HTMLNess.html",
         "url": "/dom/nodes/Element-getElementsByTagName-change-document-HTMLNess.html"
       },
       {
         "path": "dom/nodes/Element-getElementsByTagName.html",
         "url": "/dom/nodes/Element-getElementsByTagName.html"
       },
       {
         "path": "dom/nodes/Element-getElementsByTagNameNS.html",
         "url": "/dom/nodes/Element-getElementsByTagNameNS.html"
       },
       {
-        "path": "dom/nodes/Element-lastElementChild-svg.svg",
-        "url": "/dom/nodes/Element-lastElementChild-svg.svg"
-      },
-      {
-        "path": "dom/nodes/Element-lastElementChild-xhtml.xhtml",
-        "url": "/dom/nodes/Element-lastElementChild-xhtml.xhtml"
-      },
-      {
         "path": "dom/nodes/Element-lastElementChild.html",
         "url": "/dom/nodes/Element-lastElementChild.html"
       },
       {
+        "path": "dom/nodes/Element-lastElementChild.svg",
+        "url": "/dom/nodes/Element-lastElementChild.svg"
+      },
+      {
+        "path": "dom/nodes/Element-lastElementChild.xhtml",
+        "url": "/dom/nodes/Element-lastElementChild.xhtml"
+      },
+      {
         "path": "dom/nodes/Element-matches.html",
         "url": "/dom/nodes/Element-matches.html"
       },
       {
-        "path": "dom/nodes/Element-nextElementSibling-svg.svg",
-        "url": "/dom/nodes/Element-nextElementSibling-svg.svg"
-      },
-      {
-        "path": "dom/nodes/Element-nextElementSibling-xhtml.xhtml",
-        "url": "/dom/nodes/Element-nextElementSibling-xhtml.xhtml"
-      },
-      {
         "path": "dom/nodes/Element-nextElementSibling.html",
         "url": "/dom/nodes/Element-nextElementSibling.html"
       },
       {
-        "path": "dom/nodes/Element-previousElementSibling-svg.svg",
-        "url": "/dom/nodes/Element-previousElementSibling-svg.svg"
-      },
-      {
-        "path": "dom/nodes/Element-previousElementSibling-xhtml.xhtml",
-        "url": "/dom/nodes/Element-previousElementSibling-xhtml.xhtml"
+        "path": "dom/nodes/Element-nextElementSibling.svg",
+        "url": "/dom/nodes/Element-nextElementSibling.svg"
+      },
+      {
+        "path": "dom/nodes/Element-nextElementSibling.xhtml",
+        "url": "/dom/nodes/Element-nextElementSibling.xhtml"
       },
       {
         "path": "dom/nodes/Element-previousElementSibling.html",
         "url": "/dom/nodes/Element-previousElementSibling.html"
       },
       {
+        "path": "dom/nodes/Element-previousElementSibling.svg",
+        "url": "/dom/nodes/Element-previousElementSibling.svg"
+      },
+      {
+        "path": "dom/nodes/Element-previousElementSibling.xhtml",
+        "url": "/dom/nodes/Element-previousElementSibling.xhtml"
+      },
+      {
         "path": "dom/nodes/Element-remove.html",
         "url": "/dom/nodes/Element-remove.html"
       },
       {
         "path": "dom/nodes/Element-removeAttributeNS.html",
         "url": "/dom/nodes/Element-removeAttributeNS.html"
       },
       {
-        "path": "dom/nodes/Element-siblingElement-null-svg.svg",
-        "url": "/dom/nodes/Element-siblingElement-null-svg.svg"
-      },
-      {
-        "path": "dom/nodes/Element-siblingElement-null-xhtml.xhtml",
-        "url": "/dom/nodes/Element-siblingElement-null-xhtml.xhtml"
-      },
-      {
         "path": "dom/nodes/Element-siblingElement-null.html",
         "url": "/dom/nodes/Element-siblingElement-null.html"
       },
       {
+        "path": "dom/nodes/Element-siblingElement-null.svg",
+        "url": "/dom/nodes/Element-siblingElement-null.svg"
+      },
+      {
+        "path": "dom/nodes/Element-siblingElement-null.xhtml",
+        "url": "/dom/nodes/Element-siblingElement-null.xhtml"
+      },
+      {
         "path": "dom/nodes/Element-tagName.html",
         "url": "/dom/nodes/Element-tagName.html"
       },
       {
         "path": "dom/nodes/MutationObserver-attributes.html",
         "url": "/dom/nodes/MutationObserver-attributes.html"
       },
       {
@@ -14051,24 +14051,24 @@
         "path": "dom/nodes/Node-lookupNamespaceURI.html",
         "url": "/dom/nodes/Node-lookupNamespaceURI.html"
       },
       {
         "path": "dom/nodes/Node-lookupPrefix.xhtml",
         "url": "/dom/nodes/Node-lookupPrefix.xhtml"
       },
       {
-        "path": "dom/nodes/Node-nodeName-xhtml.xhtml",
-        "url": "/dom/nodes/Node-nodeName-xhtml.xhtml"
-      },
-      {
         "path": "dom/nodes/Node-nodeName.html",
         "url": "/dom/nodes/Node-nodeName.html"
       },
       {
+        "path": "dom/nodes/Node-nodeName.xhtml",
+        "url": "/dom/nodes/Node-nodeName.xhtml"
+      },
+      {
         "path": "dom/nodes/Node-nodeValue.html",
         "url": "/dom/nodes/Node-nodeValue.html"
       },
       {
         "path": "dom/nodes/Node-normalize.html",
         "url": "/dom/nodes/Node-normalize.html"
       },
       {
@@ -14099,24 +14099,24 @@
         "path": "dom/nodes/ParentNode-append.html",
         "url": "/dom/nodes/ParentNode-append.html"
       },
       {
         "path": "dom/nodes/ParentNode-prepend.html",
         "url": "/dom/nodes/ParentNode-prepend.html"
       },
       {
-        "path": "dom/nodes/ParentNode-querySelector-All-xht.xht",
-        "url": "/dom/nodes/ParentNode-querySelector-All-xht.xht"
-      },
-      {
         "path": "dom/nodes/ParentNode-querySelector-All.html",
         "url": "/dom/nodes/ParentNode-querySelector-All.html"
       },
       {
+        "path": "dom/nodes/ParentNode-querySelector-All.xht",
+        "url": "/dom/nodes/ParentNode-querySelector-All.xht"
+      },
+      {
         "path": "dom/nodes/ProcessingInstruction-literal-1.xhtml",
         "url": "/dom/nodes/ProcessingInstruction-literal-1.xhtml"
       },
       {
         "path": "dom/nodes/ProcessingInstruction-literal-2.xhtml",
         "url": "/dom/nodes/ProcessingInstruction-literal-2.xhtml"
       },
       {
@@ -15043,16 +15043,20 @@
         "path": "html/browsers/browsing-the-web/scroll-to-fragid/005.html",
         "url": "/html/browsers/browsing-the-web/scroll-to-fragid/005.html"
       },
       {
         "path": "html/browsers/browsing-the-web/scroll-to-fragid/006.html",
         "url": "/html/browsers/browsing-the-web/scroll-to-fragid/006.html"
       },
       {
+        "path": "html/browsers/browsing-the-web/scroll-to-fragid/007.html",
+        "url": "/html/browsers/browsing-the-web/scroll-to-fragid/007.html"
+      },
+      {
         "path": "html/browsers/browsing-the-web/unloading-documents/001.html",
         "url": "/html/browsers/browsing-the-web/unloading-documents/001.html"
       },
       {
         "path": "html/browsers/browsing-the-web/unloading-documents/002.html",
         "url": "/html/browsers/browsing-the-web/unloading-documents/002.html"
       },
       {
@@ -15483,16 +15487,20 @@
         "path": "html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/close_script_defer.html",
         "url": "/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/close_script_defer.html"
       },
       {
         "path": "html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/close_unload.html",
         "url": "/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/close_unload.html"
       },
       {
+        "path": "html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/creating_browsing_context_test_01.html",
+        "url": "/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/creating_browsing_context_test_01.html"
+      },
+      {
         "path": "html/browsers/the-window-object/garbage-collection-and-browsing-contexts/discard_iframe_history_1.html",
         "url": "/html/browsers/the-window-object/garbage-collection-and-browsing-contexts/discard_iframe_history_1.html"
       },
       {
         "path": "html/browsers/the-window-object/garbage-collection-and-browsing-contexts/discard_iframe_history_2.html",
         "url": "/html/browsers/the-window-object/garbage-collection-and-browsing-contexts/discard_iframe_history_2.html"
       },
       {
@@ -15619,68 +15627,68 @@
         "path": "html/dom/documents/dom-tree-accessors/document.forms.html",
         "url": "/html/dom/documents/dom-tree-accessors/document.forms.html"
       },
       {
         "path": "html/dom/documents/dom-tree-accessors/document.getElementsByClassName-same.html",
         "url": "/html/dom/documents/dom-tree-accessors/document.getElementsByClassName-same.html"
       },
       {
-        "path": "html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case-xhtml.xhtml",
-        "url": "/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case-xhtml.xhtml"
-      },
-      {
         "path": "html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.html",
         "url": "/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.html"
       },
       {
-        "path": "html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id-xhtml.xhtml",
-        "url": "/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id-xhtml.xhtml"
+        "path": "html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.xhtml",
+        "url": "/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-case.xhtml"
       },
       {
         "path": "html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.html",
         "url": "/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.html"
       },
       {
+        "path": "html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.xhtml",
+        "url": "/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-id.xhtml"
+      },
+      {
         "path": "html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-interface.html",
         "url": "/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-interface.html"
       },
       {
-        "path": "html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace-xhtml.xhtml",
-        "url": "/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace-xhtml.xhtml"
-      },
-      {
         "path": "html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.html",
         "url": "/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.html"
       },
       {
-        "path": "html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-xhtml.xhtml",
-        "url": "/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-xhtml.xhtml"
+        "path": "html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.xhtml",
+        "url": "/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-namespace.xhtml"
       },
       {
         "path": "html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.html",
         "url": "/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.html"
       },
       {
-        "path": "html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef-xhtml.xhtml",
-        "url": "/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef-xhtml.xhtml"
+        "path": "html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.xhtml",
+        "url": "/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.xhtml"
       },
       {
         "path": "html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.html",
         "url": "/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.html"
       },
       {
-        "path": "html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param-xhtml.xhtml",
-        "url": "/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param-xhtml.xhtml"
+        "path": "html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.xhtml",
+        "url": "/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-null-undef.xhtml"
       },
       {
         "path": "html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.html",
         "url": "/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.html"
       },
       {
+        "path": "html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.xhtml",
+        "url": "/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.xhtml"
+      },
+      {
         "path": "html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-same.html",
         "url": "/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-same.html"
       },
       {
         "path": "html/dom/documents/dom-tree-accessors/document.head-01.html",
         "url": "/html/dom/documents/dom-tree-accessors/document.head-01.html"
       },
       {
@@ -18003,20 +18011,16 @@
         "path": "html/semantics/forms/the-input-element/input-type-button.html",
         "url": "/html/semantics/forms/the-input-element/input-type-button.html"
       },
       {
         "path": "html/semantics/forms/the-input-element/input-type-checkbox.html",
         "url": "/html/semantics/forms/the-input-element/input-type-checkbox.html"
       },
       {
-        "path": "html/semantics/forms/the-input-element/maxlength.html",
-        "url": "/html/semantics/forms/the-input-element/maxlength.html"
-      },
-      {
         "path": "html/semantics/forms/the-input-element/month.html",
         "url": "/html/semantics/forms/the-input-element/month.html"
       },
       {
         "path": "html/semantics/forms/the-input-element/number.html",
         "url": "/html/semantics/forms/the-input-element/number.html"
       },
       {
@@ -18287,24 +18291,24 @@
         "path": "html/semantics/scripting-1/the-script-element/async_011.htm",
         "url": "/html/semantics/scripting-1/the-script-element/async_011.htm"
       },
       {
         "path": "html/semantics/scripting-1/the-script-element/script-before-after-events.html",
         "url": "/html/semantics/scripting-1/the-script-element/script-before-after-events.html"
       },
       {
-        "path": "html/semantics/scripting-1/the-script-element/script-for-event-xhtml.xhtml",
-        "url": "/html/semantics/scripting-1/the-script-element/script-for-event-xhtml.xhtml"
-      },
-      {
         "path": "html/semantics/scripting-1/the-script-element/script-for-event.html",
         "url": "/html/semantics/scripting-1/the-script-element/script-for-event.html"
       },
       {
+        "path": "html/semantics/scripting-1/the-script-element/script-for-event.xhtml",
+        "url": "/html/semantics/scripting-1/the-script-element/script-for-event.xhtml"
+      },
+      {
         "path": "html/semantics/scripting-1/the-script-element/script-language-type.html",
         "url": "/html/semantics/scripting-1/the-script-element/script-language-type.html"
       },
       {
         "path": "html/semantics/scripting-1/the-script-element/script-languages-01.html",
         "url": "/html/semantics/scripting-1/the-script-element/script-languages-01.html"
       },
       {
@@ -18315,24 +18319,24 @@
         "path": "html/semantics/scripting-1/the-script-element/script-noembed-noframes-iframe.xhtml",
         "url": "/html/semantics/scripting-1/the-script-element/script-noembed-noframes-iframe.xhtml"
       },
       {
         "path": "html/semantics/scripting-1/the-script-element/script-onload-string.html",
         "url": "/html/semantics/scripting-1/the-script-element/script-onload-string.html"
       },
       {
-        "path": "html/semantics/scripting-1/the-script-element/script-text-xhtml.xhtml",
-        "url": "/html/semantics/scripting-1/the-script-element/script-text-xhtml.xhtml"
-      },
-      {
         "path": "html/semantics/scripting-1/the-script-element/script-text.html",
         "url": "/html/semantics/scripting-1/the-script-element/script-text.html"
       },
       {
+        "path": "html/semantics/scripting-1/the-script-element/script-text.xhtml",
+        "url": "/html/semantics/scripting-1/the-script-element/script-text.xhtml"
+      },
+      {
         "path": "html/semantics/scripting-1/the-template-element/additions-to-parsing-xhtml-documents/node-document.html",
         "url": "/html/semantics/scripting-1/the-template-element/additions-to-parsing-xhtml-documents/node-document.html"
       },
       {
         "path": "html/semantics/scripting-1/the-template-element/additions-to-parsing-xhtml-documents/template-child-nodes.html",
         "url": "/html/semantics/scripting-1/the-template-element/additions-to-parsing-xhtml-documents/template-child-nodes.html"
       },
       {
@@ -26399,20 +26403,16 @@
         "path": "shadow-dom/untriaged/user-interaction/ranges-and-selections/test-001.html",
         "url": "/shadow-dom/untriaged/user-interaction/ranges-and-selections/test-001.html"
       },
       {
         "path": "shadow-dom/untriaged/user-interaction/ranges-and-selections/test-002.html",
         "url": "/shadow-dom/untriaged/user-interaction/ranges-and-selections/test-002.html"
       },
       {
-        "path": "svg/interfaces.html",
-        "url": "/svg/interfaces.html"
-      },
-      {
         "path": "touch-events/create-touch-touchlist.html",
         "url": "/touch-events/create-touch-touchlist.html"
       },
       {
         "path": "typedarrays/ArrayBuffer_constructor.html",
         "url": "/typedarrays/ArrayBuffer_constructor.html"
       },
       {
@@ -26435,24 +26435,24 @@
         "path": "typedarrays/Uint8ClampedArray_subarray.html",
         "url": "/typedarrays/Uint8ClampedArray_subarray.html"
       },
       {
         "path": "typedarrays/constructors.html",
         "url": "/typedarrays/constructors.html"
       },
       {
-        "path": "url/a-element-xhtml.xhtml",
-        "url": "/url/a-element-xhtml.xhtml"
-      },
-      {
         "path": "url/a-element.html",
         "url": "/url/a-element.html"
       },
       {
+        "path": "url/a-element.xhtml",
+        "url": "/url/a-element.xhtml"
+      },
+      {
         "path": "url/historical.html",
         "url": "/url/historical.html"
       },
       {
         "path": "url/historical.worker.js",
         "url": "/url/historical.worker"
       },
       {
@@ -28793,21 +28793,16 @@
         "url": "/custom-elements/concepts/custom-elements-type-allowed-chars-first-char.html"
       },
       {
         "path": "custom-elements/concepts/custom-elements-type-allowed-chars.html",
         "timeout": "long",
         "url": "/custom-elements/concepts/custom-elements-type-allowed-chars.html"
       },
       {
-        "path": "custom-elements/custom-element-lifecycle/types-of-callbacks/attached-callback-test.html",
-        "timeout": "long",
-        "url": "/custom-elements/custom-element-lifecycle/types-of-callbacks/attached-callback-test.html"
-      },
-      {
         "path": "dom/nodes/Document-characterSet-normalization.html",
         "timeout": "long",
         "url": "/dom/nodes/Document-characterSet-normalization.html"
       },
       {
         "path": "dom/ranges/Range-attributes.html",
         "timeout": "long",
         "url": "/dom/ranges/Range-attributes.html"
@@ -28938,36 +28933,26 @@
         "url": "/eventsource/eventsource-constructor-non-same-origin.htm"
       },
       {
         "path": "eventsource/shared-worker/eventsource-constructor-non-same-origin.htm",
         "timeout": "long",
         "url": "/eventsource/shared-worker/eventsource-constructor-non-same-origin.htm"
       },
       {
-        "path": "html/browsers/browsing-the-web/scroll-to-fragid/007.html",
-        "timeout": "long",
-        "url": "/html/browsers/browsing-the-web/scroll-to-fragid/007.html"
-      },
-      {
         "path": "html/browsers/history/the-history-interface/007.html",
         "timeout": "long",
         "url": "/html/browsers/history/the-history-interface/007.html"
       },
       {
         "path": "html/browsers/origin/cross-origin-objects/cross-origin-objects.sub.html",
         "timeout": "long",
         "url": "/html/browsers/origin/cross-origin-objects/cross-origin-objects.sub.html"
       },
       {
-        "path": "html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/creating_browsing_context_test_01.html",
-        "timeout": "long",
-        "url": "/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/creating_browsing_context_test_01.html"
-      },
-      {
         "path": "html/dom/interfaces.html",
         "timeout": "long",
         "url": "/html/dom/interfaces.html"
       },
       {
         "path": "html/dom/reflection-embedded.html",
         "timeout": "long",
         "url": "/html/dom/reflection-embedded.html"
@@ -35864,12 +35849,12 @@
             "/webvtt/rendering/cues-with-video/processing-model/too_many_cues_wrapped-ref.html",
             "=="
           ]
         ],
         "url": "/webvtt/rendering/cues-with-video/processing-model/too_many_cues_wrapped.html"
       }
     ]
   },
-  "rev": "05c55fbdc527eacdc7b875f298a8cb1b6db0dfcd",
+  "rev": "63bf7b5e1e12b308ba6ed20480ad7dc93afa1943",
   "url_base": "/",
   "version": 2
 }
deleted file mode 100644
--- a/testing/web-platform/meta/content-security-policy/media-src/media-src-redir-bug.sub.html.ini
+++ /dev/null
@@ -1,21 +0,0 @@
-[media-src-redir-bug.sub.html]
-  type: testharness
-  expected: TIMEOUT
-  [In-policy async video src]
-    expected:
-      if debug and not e10s and (os == "win") and (version == "5.1.2600") and (processor == "x86") and (bits == 32): FAIL
-      if not debug and not e10s and (os == "win") and (version == "5.1.2600") and (processor == "x86") and (bits == 32): FAIL
-
-  [in-policy async video src w/redir]
-    expected: NOTRUN
-
-  [In-policy async video source element]
-    expected:
-      if debug and not e10s and (os == "win") and (version == "5.1.2600") and (processor == "x86") and (bits == 32): FAIL
-      if not debug and not e10s and (os == "win") and (version == "5.1.2600") and (processor == "x86") and (bits == 32): FAIL
-
-  [In-policy async video source element w/redir]
-    expected:
-      if debug and not e10s and (os == "win") and (version == "5.1.2600") and (processor == "x86") and (bits == 32): NOTRUN
-      if not debug and not e10s and (os == "win") and (version == "5.1.2600") and (processor == "x86") and (bits == 32): NOTRUN
-
--- a/testing/web-platform/meta/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/creating_browsing_context_test_01.html.ini
+++ b/testing/web-platform/meta/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/creating_browsing_context_test_01.html.ini
@@ -1,4 +1,4 @@
 [creating_browsing_context_test_01.html]
   type: testharness
   disabled:
-    if os == "linux": https://bugzilla.mozilla.org/show_bug.cgi?id=1215461
+    if (os == "linux"): https://bugzilla.mozilla.org/show_bug.cgi?id=1215461
--- a/testing/web-platform/meta/html/dom/elements/elements-in-the-dom/unknown-element.html.ini
+++ b/testing/web-platform/meta/html/dom/elements/elements-in-the-dom/unknown-element.html.ini
@@ -1,4 +1,5 @@
 [unknown-element.html]
   type: testharness
   expected:
     if not debug and e10s and (os == "mac") and (version == "OS X 10.10.2") and (processor == "x86") and (bits == 32): TIMEOUT
+    if not debug and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86") and (bits == 32): TIMEOUT
--- a/testing/web-platform/meta/html/dom/interfaces.html.ini
+++ b/testing/web-platform/meta/html/dom/interfaces.html.ini
@@ -2744,83 +2744,8 @@
     expected: FAIL
 
   [WorkerLocation interface: attribute search]
     expected: FAIL
 
   [WorkerLocation interface: attribute hash]
     expected: FAIL
 
-  [DOMElementMap interface object name]
-    expected: FAIL
-
-  [AudioTrackList interface object name]
-    expected: FAIL
-
-  [AudioTrack interface object name]
-    expected: FAIL
-
-  [VideoTrackList interface object name]
-    expected: FAIL
-
-  [VideoTrack interface object name]
-    expected: FAIL
-
-  [MediaController interface object name]
-    expected: FAIL
-
-  [HTMLTableDataCellElement interface object name]
-    expected: FAIL
-
-  [HTMLTableHeaderCellElement interface object name]
-    expected: FAIL
-
-  [HTMLKeygenElement interface object name]
-    expected: FAIL
-
-  [AutocompleteErrorEvent interface object name]
-    expected: FAIL
-
-  [HTMLDetailsElement interface object name]
-    expected: FAIL
-
-  [RelatedEvent interface object name]
-    expected: FAIL
-
-  [HTMLDialogElement interface object name]
-    expected: FAIL
-
-  [CanvasProxy interface object name]
-    expected: FAIL
-
-  [DrawingStyle interface object name]
-    expected: FAIL
-
-  [DataTransferItemList interface object name]
-    expected: FAIL
-
-  [DataTransferItem interface object name]
-    expected: FAIL
-
-  [ApplicationCache interface object name]
-    expected: FAIL
-
-  [PortCollection interface object name]
-    expected: FAIL
-
-  [WorkerGlobalScope interface object name]
-    expected: FAIL
-
-  [DedicatedWorkerGlobalScope interface object name]
-    expected: FAIL
-
-  [SharedWorkerGlobalScope interface object name]
-    expected: FAIL
-
-  [WorkerNavigator interface object name]
-    expected: FAIL
-
-  [WorkerLocation interface object name]
-    expected: FAIL
-
-  [HTMLMarqueeElement interface object name]
-    expected: FAIL
-
--- a/testing/web-platform/meta/html/semantics/embedded-content/the-img-element/current-pixel-density/basic.html.ini
+++ b/testing/web-platform/meta/html/semantics/embedded-content/the-img-element/current-pixel-density/basic.html.ini
@@ -1,8 +1,26 @@
 [basic.html]
   type: testharness
-  [<img srcset="data:image/svg+xml,<svg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='-1%20-1%202%202'%20width='20'><circle%20r='1'/></svg> 2x" data-expect="10">]
+  [<img srcset="/images/green-256x256.png 1.6x" data-expect="160">]
+    expected: FAIL
+
+  [<img srcset="/images/green-256x256.png 2x" data-expect="128">]
+    expected: FAIL
+
+  [<img srcset="/images/green-256x256.png 10000x" data-expect="0">]
+    expected: FAIL
+
+  [<img srcset="/images/green-256x256.png 9e99999999999999999999999x" data-expect="0">]
     expected: FAIL
 
-  [<img srcset="data:image/svg+xml,<svg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='-1%20-1%202%202'%20height='20'><circle%20r='1'/></svg> 2x" data-expect="10">]
+  [<img srcset="/images/green-256x256.png 512w" sizes="256px" data-expect="128">]
+    expected: FAIL
+
+  [<img srcset="/images/green-256x256.png 256w" sizes="512px" data-expect="512">]
     expected: FAIL
 
+  [<img srcset="/images/green-256x256.png 256w" sizes="1px" data-expect="1">]
+    expected: FAIL
+
+  [<img srcset="/images/green-256x256.png 256w" sizes="0px" data-expect="0">]
+    expected: FAIL
+
deleted file mode 100644
--- a/testing/web-platform/meta/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-number.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[bdi-neutral-number.html]
-  type: reftest
-  expected:
-    if debug and not e10s and (os == "linux") and (version == "Ubuntu 12.04") and (processor == "x86") and (bits == 32): TIMEOUT
--- a/testing/web-platform/meta/mozilla-sync
+++ b/testing/web-platform/meta/mozilla-sync
@@ -1,1 +1,1 @@
-d5e5a44a8bbe62751a66677491623a41b766275d
\ No newline at end of file
+42122dea7c41a71c8cb06a91b91e71afa2d6664c
\ No newline at end of file
--- a/testing/web-platform/meta/selectors/attribute-selectors/attribute-case/semantics.html.ini
+++ b/testing/web-platform/meta/selectors/attribute-selectors/attribute-case/semantics.html.ini
@@ -1012,206 +1012,8 @@
     expected: FAIL
 
   [[foo='bar' i\] <div baz="BAR"> in XML]
     expected: FAIL
 
   [[foo='bar' i\] <div baz="BAR"> with querySelector in XML]
     expected: FAIL
 
-  [[class~='a' i\] <div class="X A B"> in standards mode]
-    expected: FAIL
-
-  [[class~='a' i\] <div class="X A B"> with querySelector in standards mode]
-    expected: FAIL
-
-  [[class~='A' i\] <div class="x a b"> in standards mode]
-    expected: FAIL
-
-  [[class~='A' i\] <div class="x a b"> with querySelector in standards mode]
-    expected: FAIL
-
-  [[id^='a' i\] <div id="AB"> in standards mode]
-    expected: FAIL
-
-  [[id^='a' i\] <div id="AB"> with querySelector in standards mode]
-    expected: FAIL
-
-  [[id$='A' i\] <div id="xa"> in standards mode]
-    expected: FAIL
-
-  [[id$='A' i\] <div id="xa"> with querySelector in standards mode]
-    expected: FAIL
-
-  [[lang|='a' i\] <div lang="A-B"> in standards mode]
-    expected: FAIL
-
-  [[lang|='a' i\] <div lang="A-B"> with querySelector in standards mode]
-    expected: FAIL
-
-  [[lang*='A' i\] <div lang="xab"> in standards mode]
-    expected: FAIL
-
-  [[lang*='A' i\] <div lang="xab"> with querySelector in standards mode]
-    expected: FAIL
-
-  [[foo~='ä' i\] /* COMBINING in selector */ <div foo="ä"> in standards mode]
-    expected: FAIL
-
-  [[foo~='ä' i\] /* COMBINING in selector */ <div foo="ä"> with querySelector in standards mode]
-    expected: FAIL
-
-  [[foo^='Ä' i\] /* COMBINING in selector */ <div foo="Ä"> in standards mode]
-    expected: FAIL
-
-  [[foo^='Ä' i\] /* COMBINING in selector */ <div foo="Ä"> with querySelector in standards mode]
-    expected: FAIL
-
-  [[foo$='Ä' i\] /* COMBINING in selector */ <div foo="ä"> in standards mode]
-    expected: FAIL
-
-  [[foo$='Ä' i\] /* COMBINING in selector */ <div foo="ä"> with querySelector in standards mode]
-    expected: FAIL
-
-  [[foo*='ä' i\] /* COMBINING in attribute */ <div foo="ä"> in standards mode]
-    expected: FAIL
-
-  [[foo*='ä' i\] /* COMBINING in attribute */ <div foo="ä"> with querySelector in standards mode]
-    expected: FAIL
-
-  [[foo|='ä' i\] /* COMBINING in attribute */ <div foo="Ä"> in standards mode]
-    expected: FAIL
-
-  [[foo|='ä' i\] /* COMBINING in attribute */ <div foo="Ä"> with querySelector in standards mode]
-    expected: FAIL
-
-  [[class~='a' i\] <div class="X A B"> in quirks mode]
-    expected: FAIL
-
-  [[class~='a' i\] <div class="X A B"> with querySelector in quirks mode]
-    expected: FAIL
-
-  [[class~='A' i\] <div class="x a b"> in quirks mode]
-    expected: FAIL
-
-  [[class~='A' i\] <div class="x a b"> with querySelector in quirks mode]
-    expected: FAIL
-
-  [[id^='a' i\] <div id="AB"> in quirks mode]
-    expected: FAIL
-
-  [[id^='a' i\] <div id="AB"> with querySelector in quirks mode]
-    expected: FAIL
-
-  [[id$='A' i\] <div id="xa"> in quirks mode]
-    expected: FAIL
-
-  [[id$='A' i\] <div id="xa"> with querySelector in quirks mode]
-    expected: FAIL
-
-  [[lang|='a' i\] <div lang="A-B"> in quirks mode]
-    expected: FAIL
-
-  [[lang|='a' i\] <div lang="A-B"> with querySelector in quirks mode]
-    expected: FAIL
-
-  [[lang*='A' i\] <div lang="xab"> in quirks mode]
-    expected: FAIL
-
-  [[lang*='A' i\] <div lang="xab"> with querySelector in quirks mode]
-    expected: FAIL
-
-  [[foo~='ä' i\] /* COMBINING in selector */ <div foo="ä"> in quirks mode]
-    expected: FAIL
-
-  [[foo~='ä' i\] /* COMBINING in selector */ <div foo="ä"> with querySelector in quirks mode]
-    expected: FAIL
-
-  [[foo^='Ä' i\] /* COMBINING in selector */ <div foo="Ä"> in quirks mode]
-    expected: FAIL
-
-  [[foo^='Ä' i\] /* COMBINING in selector */ <div foo="Ä"> with querySelector in quirks mode]
-    expected: FAIL
-
-  [[foo$='Ä' i\] /* COMBINING in selector */ <div foo="ä"> in quirks mode]
-    expected: FAIL
-
-  [[foo$='Ä' i\] /* COMBINING in selector */ <div foo="ä"> with querySelector in quirks mode]
-    expected: FAIL
-
-  [[foo*='ä' i\] /* COMBINING in attribute */ <div foo="ä"> in quirks mode]
-    expected: FAIL
-
-  [[foo*='ä' i\] /* COMBINING in attribute */ <div foo="ä"> with querySelector in quirks mode]
-    expected: FAIL
-
-  [[foo|='ä' i\] /* COMBINING in attribute */ <div foo="Ä"> in quirks mode]
-    expected: FAIL
-
-  [[foo|='ä' i\] /* COMBINING in attribute */ <div foo="Ä"> with querySelector in quirks mode]
-    expected: FAIL
-
-  [[class~='a' i\] <div class="X A B"> in XML]
-    expected: FAIL
-
-  [[class~='a' i\] <div class="X A B"> with querySelector in XML]
-    expected: FAIL
-
-  [[class~='A' i\] <div class="x a b"> in XML]
-    expected: FAIL
-
-  [[class~='A' i\] <div class="x a b"> with querySelector in XML]
-    expected: FAIL
-
-  [[id^='a' i\] <div id="AB"> in XML]
-    expected: FAIL
-
-  [[id^='a' i\] <div id="AB"> with querySelector in XML]
-    expected: FAIL
-
-  [[id$='A' i\] <div id="xa"> in XML]
-    expected: FAIL
-
-  [[id$='A' i\] <div id="xa"> with querySelector in XML]
-    expected: FAIL
-
-  [[lang|='a' i\] <div lang="A-B"> in XML]
-    expected: FAIL
-
-  [[lang|='a' i\] <div lang="A-B"> with querySelector in XML]
-    expected: FAIL
-
-  [[lang*='A' i\] <div lang="xab"> in XML]
-    expected: FAIL
-
-  [[lang*='A' i\] <div lang="xab"> with querySelector in XML]
-    expected: FAIL
-
-  [[foo~='ä' i\] /* COMBINING in selector */ <div foo="ä"> in XML]
-    expected: FAIL
-
-  [[foo~='ä' i\] /* COMBINING in selector */ <div foo="ä"> with querySelector in XML]
-    expected: FAIL
-
-  [[foo^='Ä' i\] /* COMBINING in selector */ <div foo="Ä"> in XML]
-    expected: FAIL
-
-  [[foo^='Ä' i\] /* COMBINING in selector */ <div foo="Ä"> with querySelector in XML]
-    expected: FAIL
-
-  [[foo$='Ä' i\] /* COMBINING in selector */ <div foo="ä"> in XML]
-    expected: FAIL
-
-  [[foo$='Ä' i\] /* COMBINING in selector */ <div foo="ä"> with querySelector in XML]
-    expected: FAIL
-
-  [[foo*='ä' i\] /* COMBINING in attribute */ <div foo="ä"> in XML]
-    expected: FAIL
-
-  [[foo*='ä' i\] /* COMBINING in attribute */ <div foo="ä"> with querySelector in XML]
-    expected: FAIL
-
-  [[foo|='ä' i\] /* COMBINING in attribute */ <div foo="Ä"> in XML]
-    expected: FAIL
-
-  [[foo|='ä' i\] /* COMBINING in attribute */ <div foo="Ä"> with querySelector in XML]
-    expected: FAIL
-
--- a/testing/web-platform/meta/selectors/attribute-selectors/attribute-case/syntax.html.ini
+++ b/testing/web-platform/meta/selectors/attribute-selectors/attribute-case/syntax.html.ini
@@ -364,44 +364,8 @@
     expected: FAIL
 
   [[*|foo='bar' i\] with querySelector in XML]
     expected: FAIL
 
   [[foo /* sanity check (invalid) */ with querySelector in XML]
     expected: FAIL
 
-  [[foo*='bar' i\] in standards mode]
-    expected: FAIL
-
-  [[foo*='bar' i\] with querySelector in standards mode]
-    expected: FAIL
-
-  [[foo|='bar' i\] in standards mode]
-    expected: FAIL
-
-  [[foo|='bar' i\] with querySelector in standards mode]
-    expected: FAIL
-
-  [[foo*='bar' i\] in quirks mode]
-    expected: FAIL
-
-  [[foo*='bar' i\] with querySelector in quirks mode]
-    expected: FAIL
-
-  [[foo|='bar' i\] in quirks mode]
-    expected: FAIL
-
-  [[foo|='bar' i\] with querySelector in quirks mode]
-    expected: FAIL
-
-  [[foo*='bar' i\] in XML]
-    expected: FAIL
-
-  [[foo*='bar' i\] with querySelector in XML]
-    expected: FAIL
-
-  [[foo|='bar' i\] in XML]
-    expected: FAIL
-
-  [[foo|='bar' i\] with querySelector in XML]
-    expected: FAIL
-
deleted file mode 100644
--- a/testing/web-platform/meta/svg/interfaces.html.ini
+++ /dev/null
@@ -1,2450 +0,0 @@
-[interfaces.html]
-  type: testharness
-  [Document interface: attribute rootElement]
-    expected: FAIL
-
-  [SVGElement interface: attribute tabIndex]
-    expected: FAIL
-
-  [SVGElement interface: operation focus()]
-    expected: FAIL
-
-  [SVGElement interface: operation blur()]
-    expected: FAIL
-
-  [SVGGeometryElement interface: existence and properties of interface object]
-    expected: FAIL
-
-  [SVGGeometryElement interface object length]
-    expected: FAIL
-
-  [SVGGeometryElement interface object name]
-    expected: FAIL
-
-  [SVGGeometryElement interface: existence and properties of interface prototype object]
-    expected: FAIL
-
-  [SVGGeometryElement interface: existence and properties of interface prototype object's "constructor" property]
-    expected: FAIL
-
-  [SVGGeometryElement interface: operation isPointInFill(DOMPoint)]
-    expected: FAIL
-
-  [SVGGeometryElement interface: operation isPointInStroke(DOMPoint)]
-    expected: FAIL
-
-  [SVGNumber interface: existence and properties of interface object]
-    expected: FAIL
-
-  [SVGSVGElement interface: operation getIntersectionList(DOMRectReadOnly,SVGElement)]
-    expected: FAIL
-
-  [SVGSVGElement interface: operation getEnclosureList(DOMRectReadOnly,SVGElement)]
-    expected: FAIL
-
-  [SVGSVGElement interface: operation checkIntersection(SVGElement,DOMRectReadOnly)]
-    expected: FAIL
-
-  [SVGSVGElement interface: operation checkEnclosure(SVGElement,DOMRectReadOnly)]
-    expected: FAIL
-
-  [SVGSVGElement interface: svg must inherit property "currentTranslate" with the proper type (5)]
-    expected: FAIL
-
-  [SVGSVGElement interface: svg must inherit property "getIntersectionList" with the proper type (6)]
-    expected: FAIL
-
-  [SVGSVGElement interface: calling getIntersectionList(DOMRectReadOnly,SVGElement) on svg with too few arguments must throw TypeError]
-    expected: FAIL
-
-  [SVGSVGElement interface: svg must inherit property "getEnclosureList" with the proper type (7)]
-    expected: FAIL
-
-  [SVGSVGElement interface: calling getEnclosureList(DOMRectReadOnly,SVGElement) on svg with too few arguments must throw TypeError]
-    expected: FAIL
-
-  [SVGSVGElement interface: svg must inherit property "checkIntersection" with the proper type (8)]
-    expected: FAIL
-
-  [SVGSVGElement interface: calling checkIntersection(SVGElement,DOMRectReadOnly) on svg with too few arguments must throw TypeError]
-    expected: FAIL
-
-  [SVGSVGElement interface: svg must inherit property "checkEnclosure" with the proper type (9)]
-    expected: FAIL
-
-  [SVGSVGElement interface: calling checkEnclosure(SVGElement,DOMRectReadOnly) on svg with too few arguments must throw TypeError]
-    expected: FAIL
-
-  [SVGSVGElement interface: svg must inherit property "onafterprint" with the proper type (29)]
-    expected: FAIL
-
-  [SVGSVGElement interface: svg must inherit property "onbeforeprint" with the proper type (30)]
-    expected: FAIL
-
-  [SVGSVGElement interface: svg must inherit property "onbeforeunload" with the proper type (31)]
-    expected: FAIL
-
-  [SVGSVGElement interface: svg must inherit property "onhashchange" with the proper type (32)]
-    expected: FAIL
-
-  [SVGSVGElement interface: svg must inherit property "onlanguagechange" with the proper type (33)]
-    expected: FAIL
-
-  [SVGSVGElement interface: svg must inherit property "onmessage" with the proper type (34)]
-    expected: FAIL
-
-  [SVGSVGElement interface: svg must inherit property "onoffline" with the proper type (35)]
-    expected: FAIL
-
-  [SVGSVGElement interface: svg must inherit property "ononline" with the proper type (36)]
-    expected: FAIL
-
-  [SVGSVGElement interface: svg must inherit property "onpagehide" with the proper type (37)]
-    expected: FAIL
-
-  [SVGSVGElement interface: svg must inherit property "onpageshow" with the proper type (38)]
-    expected: FAIL
-
-  [SVGSVGElement interface: svg must inherit property "onpopstate" with the proper type (39)]
-    expected: FAIL
-
-  [SVGSVGElement interface: svg must inherit property "onrejectionhandled" with the proper type (40)]
-    expected: FAIL
-
-  [SVGSVGElement interface: svg must inherit property "onstorage" with the proper type (41)]
-    expected: FAIL
-
-  [SVGSVGElement interface: svg must inherit property "onunhandledrejection" with the proper type (42)]
-    expected: FAIL
-
-  [SVGSVGElement interface: svg must inherit property "onunload" with the proper type (43)]
-    expected: FAIL
-
-  [SVGElement interface: svg must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: svg must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: svg must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: svg must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: svg must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: svg must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: svg must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: svg must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: svg must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: svg must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: svg must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGElement interface: g must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: g must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: g must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: g must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: g must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: g must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: g must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: g must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: g must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: g must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: g must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGUnknownElement interface: existence and properties of interface object]
-    expected: FAIL
-
-  [SVGUnknownElement interface object length]
-    expected: FAIL
-
-  [SVGUnknownElement interface object name]
-    expected: FAIL
-
-  [SVGUnknownElement interface: existence and properties of interface prototype object]
-    expected: FAIL
-
-  [SVGUnknownElement interface: existence and properties of interface prototype object's "constructor" property]
-    expected: FAIL
-
-  [SVGElement interface: defs must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: defs must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: defs must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: defs must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: defs must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: defs must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: defs must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: defs must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: defs must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: defs must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: defs must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGElement interface: Desc must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: Desc must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: Desc must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: Desc must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: Desc must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: Desc must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: Desc must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: Desc must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: Desc must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: Desc must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: Desc must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGElement interface: metadata must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: metadata must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: metadata must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: metadata must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: metadata must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: metadata must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: metadata must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: metadata must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: metadata must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: metadata must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: metadata must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGElement interface: title must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: title must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: title must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: title must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: title must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: title must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: title must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: title must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: title must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: title must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: title must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGElement interface: symbol must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: symbol must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: symbol must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: symbol must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: symbol must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: symbol must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: symbol must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: symbol must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: symbol must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: symbol must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: symbol must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGElement interface: use must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: use must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: use must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: use must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: use must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: use must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: use must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: use must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: use must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: use must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: use must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGElement interface: Switch must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: Switch must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: Switch must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: Switch must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: Switch must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: Switch must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: Switch must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: Switch must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: Switch must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: Switch must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: Switch must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGStyleElement interface: style must inherit property "sheet" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: style must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: style must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: style must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: style must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: style must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: style must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: style must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: style must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: style must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: style must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: style must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGTransform interface: svg.createSVGTransform() must inherit property "matrix" with the proper type (8)]
-    expected: FAIL
-
-  [SVGPathElement interface: existence and properties of interface object]
-    expected: FAIL
-
-  [SVGPathElement interface: existence and properties of interface prototype object]
-    expected: FAIL
-
-  [SVGGeometryElement interface: path must inherit property "isPointInFill" with the proper type (0)]
-    expected: FAIL
-
-  [SVGGeometryElement interface: calling isPointInFill(DOMPoint) on path with too few arguments must throw TypeError]
-    expected: FAIL
-
-  [SVGGeometryElement interface: path must inherit property "isPointInStroke" with the proper type (1)]
-    expected: FAIL
-
-  [SVGGeometryElement interface: calling isPointInStroke(DOMPoint) on path with too few arguments must throw TypeError]
-    expected: FAIL
-
-  [SVGElement interface: path must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: path must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: path must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: path must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: path must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: path must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: path must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: path must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: path must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: path must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: path must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGRectElement interface: existence and properties of interface object]
-    expected: FAIL
-
-  [SVGRectElement interface: existence and properties of interface prototype object]
-    expected: FAIL
-
-  [SVGGeometryElement interface: rect must inherit property "isPointInFill" with the proper type (0)]
-    expected: FAIL
-
-  [SVGGeometryElement interface: calling isPointInFill(DOMPoint) on rect with too few arguments must throw TypeError]
-    expected: FAIL
-
-  [SVGGeometryElement interface: rect must inherit property "isPointInStroke" with the proper type (1)]
-    expected: FAIL
-
-  [SVGGeometryElement interface: calling isPointInStroke(DOMPoint) on rect with too few arguments must throw TypeError]
-    expected: FAIL
-
-  [SVGElement interface: rect must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: rect must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: rect must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: rect must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: rect must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: rect must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: rect must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: rect must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: rect must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: rect must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: rect must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGCircleElement interface: existence and properties of interface object]
-    expected: FAIL
-
-  [SVGCircleElement interface: existence and properties of interface prototype object]
-    expected: FAIL
-
-  [SVGGeometryElement interface: circle must inherit property "isPointInFill" with the proper type (0)]
-    expected: FAIL
-
-  [SVGGeometryElement interface: calling isPointInFill(DOMPoint) on circle with too few arguments must throw TypeError]
-    expected: FAIL
-
-  [SVGGeometryElement interface: circle must inherit property "isPointInStroke" with the proper type (1)]
-    expected: FAIL
-
-  [SVGGeometryElement interface: calling isPointInStroke(DOMPoint) on circle with too few arguments must throw TypeError]
-    expected: FAIL
-
-  [SVGElement interface: circle must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: circle must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: circle must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: circle must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: circle must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: circle must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: circle must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: circle must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: circle must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: circle must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: circle must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGEllipseElement interface: existence and properties of interface object]
-    expected: FAIL
-
-  [SVGEllipseElement interface: existence and properties of interface prototype object]
-    expected: FAIL
-
-  [SVGGeometryElement interface: ellipse must inherit property "isPointInFill" with the proper type (0)]
-    expected: FAIL
-
-  [SVGGeometryElement interface: calling isPointInFill(DOMPoint) on ellipse with too few arguments must throw TypeError]
-    expected: FAIL
-
-  [SVGGeometryElement interface: ellipse must inherit property "isPointInStroke" with the proper type (1)]
-    expected: FAIL
-
-  [SVGGeometryElement interface: calling isPointInStroke(DOMPoint) on ellipse with too few arguments must throw TypeError]
-    expected: FAIL
-
-  [SVGElement interface: ellipse must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: ellipse must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: ellipse must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: ellipse must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: ellipse must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: ellipse must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: ellipse must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: ellipse must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: ellipse must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: ellipse must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: ellipse must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGLineElement interface: existence and properties of interface object]
-    expected: FAIL
-
-  [SVGLineElement interface: existence and properties of interface prototype object]
-    expected: FAIL
-
-  [SVGGeometryElement interface: line must inherit property "isPointInFill" with the proper type (0)]
-    expected: FAIL
-
-  [SVGGeometryElement interface: calling isPointInFill(DOMPoint) on line with too few arguments must throw TypeError]
-    expected: FAIL
-
-  [SVGGeometryElement interface: line must inherit property "isPointInStroke" with the proper type (1)]
-    expected: FAIL
-
-  [SVGGeometryElement interface: calling isPointInStroke(DOMPoint) on line with too few arguments must throw TypeError]
-    expected: FAIL
-
-  [SVGElement interface: line must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: line must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: line must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: line must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: line must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: line must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: line must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: line must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: line must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: line must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: line must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGPolylineElement interface: existence and properties of interface object]
-    expected: FAIL
-
-  [SVGPolylineElement interface: existence and properties of interface prototype object]
-    expected: FAIL
-
-  [SVGGeometryElement interface: polyline must inherit property "isPointInFill" with the proper type (0)]
-    expected: FAIL
-
-  [SVGGeometryElement interface: calling isPointInFill(DOMPoint) on polyline with too few arguments must throw TypeError]
-    expected: FAIL
-
-  [SVGGeometryElement interface: polyline must inherit property "isPointInStroke" with the proper type (1)]
-    expected: FAIL
-
-  [SVGGeometryElement interface: calling isPointInStroke(DOMPoint) on polyline with too few arguments must throw TypeError]
-    expected: FAIL
-
-  [SVGElement interface: polyline must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: polyline must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: polyline must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: polyline must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: polyline must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: polyline must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: polyline must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: polyline must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: polyline must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: polyline must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: polyline must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGPolygonElement interface: existence and properties of interface object]
-    expected: FAIL
-
-  [SVGPolygonElement interface: existence and properties of interface prototype object]
-    expected: FAIL
-
-  [SVGGeometryElement interface: polygon must inherit property "isPointInFill" with the proper type (0)]
-    expected: FAIL
-
-  [SVGGeometryElement interface: calling isPointInFill(DOMPoint) on polygon with too few arguments must throw TypeError]
-    expected: FAIL
-
-  [SVGGeometryElement interface: polygon must inherit property "isPointInStroke" with the proper type (1)]
-    expected: FAIL
-
-  [SVGGeometryElement interface: calling isPointInStroke(DOMPoint) on polygon with too few arguments must throw TypeError]
-    expected: FAIL
-
-  [SVGElement interface: polygon must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: polygon must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: polygon must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: polygon must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: polygon must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: polygon must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: polygon must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: polygon must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: polygon must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: polygon must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: polygon must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGTextContentElement must be primary interface of textContent]
-    expected: FAIL
-
-  [Stringification of textContent]
-    expected: FAIL
-
-  [SVGTextContentElement interface: textContent must inherit property "LENGTHADJUST_UNKNOWN" with the proper type (0)]
-    expected: FAIL
-
-  [SVGTextContentElement interface: textContent must inherit property "LENGTHADJUST_SPACING" with the proper type (1)]
-    expected: FAIL
-
-  [SVGTextContentElement interface: textContent must inherit property "LENGTHADJUST_SPACINGANDGLYPHS" with the proper type (2)]
-    expected: FAIL
-
-  [SVGTextContentElement interface: textContent must inherit property "textLength" with the proper type (3)]
-    expected: FAIL
-
-  [SVGTextContentElement interface: textContent must inherit property "lengthAdjust" with the proper type (4)]
-    expected: FAIL
-
-  [SVGTextContentElement interface: textContent must inherit property "getNumberOfChars" with the proper type (5)]
-    expected: FAIL
-
-  [SVGTextContentElement interface: textContent must inherit property "getComputedTextLength" with the proper type (6)]
-    expected: FAIL
-
-  [SVGTextContentElement interface: textContent must inherit property "getSubStringLength" with the proper type (7)]
-    expected: FAIL
-
-  [SVGTextContentElement interface: calling getSubStringLength(unsigned long,unsigned long) on textContent with too few arguments must throw TypeError]
-    expected: FAIL
-
-  [SVGTextContentElement interface: textContent must inherit property "getStartPositionOfChar" with the proper type (8)]
-    expected: FAIL
-
-  [SVGTextContentElement interface: calling getStartPositionOfChar(unsigned long) on textContent with too few arguments must throw TypeError]
-    expected: FAIL
-
-  [SVGTextContentElement interface: textContent must inherit property "getEndPositionOfChar" with the proper type (9)]
-    expected: FAIL
-
-  [SVGTextContentElement interface: calling getEndPositionOfChar(unsigned long) on textContent with too few arguments must throw TypeError]
-    expected: FAIL
-
-  [SVGTextContentElement interface: textContent must inherit property "getExtentOfChar" with the proper type (10)]
-    expected: FAIL
-
-  [SVGTextContentElement interface: calling getExtentOfChar(unsigned long) on textContent with too few arguments must throw TypeError]
-    expected: FAIL
-
-  [SVGTextContentElement interface: textContent must inherit property "getRotationOfChar" with the proper type (11)]
-    expected: FAIL
-
-  [SVGTextContentElement interface: calling getRotationOfChar(unsigned long) on textContent with too few arguments must throw TypeError]
-    expected: FAIL
-
-  [SVGTextContentElement interface: textContent must inherit property "getCharNumAtPosition" with the proper type (12)]
-    expected: FAIL
-
-  [SVGTextContentElement interface: calling getCharNumAtPosition(DOMPoint) on textContent with too few arguments must throw TypeError]
-    expected: FAIL
-
-  [SVGTextContentElement interface: textContent must inherit property "selectSubString" with the proper type (13)]
-    expected: FAIL
-
-  [SVGTextContentElement interface: calling selectSubString(unsigned long,unsigned long) on textContent with too few arguments must throw TypeError]
-    expected: FAIL
-
-  [SVGGraphicsElement interface: textContent must inherit property "transform" with the proper type (0)]
-    expected: FAIL
-
-  [SVGGraphicsElement interface: textContent must inherit property "getBBox" with the proper type (1)]
-    expected: FAIL
-
-  [SVGGraphicsElement interface: calling getBBox(SVGBoundingBoxOptions) on textContent with too few arguments must throw TypeError]
-    expected: FAIL
-
-  [SVGGraphicsElement interface: textContent must inherit property "getCTM" with the proper type (2)]
-    expected: FAIL
-
-  [SVGGraphicsElement interface: textContent must inherit property "getScreenCTM" with the proper type (3)]
-    expected: FAIL
-
-  [SVGGraphicsElement interface: textContent must inherit property "requiredExtensions" with the proper type (4)]
-    expected: FAIL
-
-  [SVGGraphicsElement interface: textContent must inherit property "systemLanguage" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: textContent must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: textContent must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: textContent must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: textContent must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: textContent must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: textContent must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: textContent must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: textContent must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: textContent must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: textContent must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: textContent must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGElement interface: text must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: text must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: text must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: text must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: text must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: text must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: text must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: text must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: text must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: text must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: text must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGElement interface: tspan must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: tspan must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: tspan must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: tspan must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: tspan must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: tspan must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: tspan must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: tspan must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: tspan must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: tspan must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: tspan must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGElement interface: textPath must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: textPath must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: textPath must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: textPath must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: textPath must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: textPath must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: textPath must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: textPath must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: textPath must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: textPath must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: textPath must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGImageElement interface: attribute crossOrigin]
-    expected: FAIL
-
-  [SVGImageElement interface: image must inherit property "crossOrigin" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: image must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: image must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: image must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: image must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: image must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: image must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: image must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: image must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: image must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: image must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: image must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGElement interface: foreignObject must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: foreignObject must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: foreignObject must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: foreignObject must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: foreignObject must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: foreignObject must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: foreignObject must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: foreignObject must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: foreignObject must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: foreignObject must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: foreignObject must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGMarkerElement interface: attribute orient]
-    expected: FAIL
-
-  [SVGMarkerElement interface: marker must inherit property "orient" with the proper type (13)]
-    expected: FAIL
-
-  [SVGElement interface: marker must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: marker must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: marker must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: marker must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: marker must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: marker must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: marker must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: marker must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: marker must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: marker must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: marker must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGSolidcolorElement interface: existence and properties of interface object]
-    expected: FAIL
-
-  [SVGSolidcolorElement interface object length]
-    expected: FAIL
-
-  [SVGSolidcolorElement interface object name]
-    expected: FAIL
-
-  [SVGSolidcolorElement interface: existence and properties of interface prototype object]
-    expected: FAIL
-
-  [SVGSolidcolorElement interface: existence and properties of interface prototype object's "constructor" property]
-    expected: FAIL
-
-  [SVGElement interface: linearGradient must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: linearGradient must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: linearGradient must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: linearGradient must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: linearGradient must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: linearGradient must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: linearGradient must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: linearGradient must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: linearGradient must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: linearGradient must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: linearGradient must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGRadialGradientElement interface: attribute fr]
-    expected: FAIL
-
-  [SVGRadialGradientElement interface: radialGradient must inherit property "fr" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: radialGradient must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: radialGradient must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: radialGradient must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: radialGradient must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: radialGradient must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: radialGradient must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: radialGradient must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: radialGradient must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: radialGradient must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: radialGradient must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: radialGradient must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGMeshElement interface: existence and properties of interface object]
-    expected: FAIL
-
-  [SVGMeshElement interface object length]
-    expected: FAIL
-
-  [SVGMeshElement interface object name]
-    expected: FAIL
-
-  [SVGMeshElement interface: existence and properties of interface prototype object]
-    expected: FAIL
-
-  [SVGMeshElement interface: existence and properties of interface prototype object's "constructor" property]
-    expected: FAIL
-
-  [SVGMeshrowElement interface: existence and properties of interface object]
-    expected: FAIL
-
-  [SVGMeshrowElement interface object length]
-    expected: FAIL
-
-  [SVGMeshrowElement interface object name]
-    expected: FAIL
-
-  [SVGMeshrowElement interface: existence and properties of interface prototype object]
-    expected: FAIL
-
-  [SVGMeshrowElement interface: existence and properties of interface prototype object's "constructor" property]
-    expected: FAIL
-
-  [SVGMeshpatchElement interface: existence and properties of interface object]
-    expected: FAIL
-
-  [SVGMeshpatchElement interface object length]
-    expected: FAIL
-
-  [SVGMeshpatchElement interface object name]
-    expected: FAIL
-
-  [SVGMeshpatchElement interface: existence and properties of interface prototype object]
-    expected: FAIL
-
-  [SVGMeshpatchElement interface: existence and properties of interface prototype object's "constructor" property]
-    expected: FAIL
-
-  [SVGElement interface: stop must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: stop must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: stop must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: stop must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: stop must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: stop must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: stop must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: stop must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: stop must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: stop must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: stop must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGElement interface: pattern must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: pattern must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: pattern must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: pattern must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: pattern must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: pattern must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: pattern must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: pattern must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: pattern must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: pattern must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: pattern must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGHatchElement interface: existence and properties of interface object]
-    expected: FAIL
-
-  [SVGHatchElement interface object length]
-    expected: FAIL
-
-  [SVGHatchElement interface object name]
-    expected: FAIL
-
-  [SVGHatchElement interface: existence and properties of interface prototype object]
-    expected: FAIL
-
-  [SVGHatchElement interface: existence and properties of interface prototype object's "constructor" property]
-    expected: FAIL
-
-  [SVGHatchpathElement interface: existence and properties of interface object]
-    expected: FAIL
-
-  [SVGHatchpathElement interface object length]
-    expected: FAIL
-
-  [SVGHatchpathElement interface object name]
-    expected: FAIL
-
-  [SVGHatchpathElement interface: existence and properties of interface prototype object]
-    expected: FAIL
-
-  [SVGHatchpathElement interface: existence and properties of interface prototype object's "constructor" property]
-    expected: FAIL
-
-  [SVGCursorElement interface: existence and properties of interface object]
-    expected: FAIL
-
-  [SVGCursorElement interface object length]
-    expected: FAIL
-
-  [SVGCursorElement interface object name]
-    expected: FAIL
-
-  [SVGCursorElement interface: existence and properties of interface prototype object]
-    expected: FAIL
-
-  [SVGCursorElement interface: existence and properties of interface prototype object's "constructor" property]
-    expected: FAIL
-
-  [SVGCursorElement interface: attribute x]
-    expected: FAIL
-
-  [SVGCursorElement interface: attribute y]
-    expected: FAIL
-
-  [SVGCursorElement interface: attribute href]
-    expected: FAIL
-
-  [SVGCursorElement must be primary interface of cursor]
-    expected: FAIL
-
-  [Stringification of cursor]
-    expected: FAIL
-
-  [SVGCursorElement interface: cursor must inherit property "x" with the proper type (0)]
-    expected: FAIL
-
-  [SVGCursorElement interface: cursor must inherit property "y" with the proper type (1)]
-    expected: FAIL
-
-  [SVGCursorElement interface: cursor must inherit property "href" with the proper type (2)]
-    expected: FAIL
-
-  [SVGElement interface: cursor must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: cursor must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: cursor must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: cursor must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: cursor must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: cursor must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: cursor must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: cursor must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: cursor must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: cursor must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: cursor must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGScriptElement interface: script must inherit property "crossOrigin" with the proper type (1)]
-    expected: FAIL
-
-  [SVGElement interface: script must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: script must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: script must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: script must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: script must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: script must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: script must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: script must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: script must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: script must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: script must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGZoomEvent interface: existence and properties of interface object]
-    expected: FAIL
-
-  [SVGZoomEvent interface: existence and properties of interface prototype object]
-    expected: FAIL
-
-  [SVGZoomEvent interface: attribute zoomRectScreen]
-    expected: FAIL
-
-  [SVGElement interface: a must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: a must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: a must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: a must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: a must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: a must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: a must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: a must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: a must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: a must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: a must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGElement interface: view must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: view must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: view must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: view must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: view must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: view must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: view must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: view must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: view must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: view must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: view must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGElement interface: filter must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: filter must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: filter must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: filter must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: filter must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: filter must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: filter must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: filter must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: filter must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: filter must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: filter must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGElement interface: feBlend must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: feBlend must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: feBlend must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: feBlend must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: feBlend must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: feBlend must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: feBlend must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: feBlend must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: feBlend must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: feBlend must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: feBlend must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGElement interface: feColorMatrix must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: feColorMatrix must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: feColorMatrix must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: feColorMatrix must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: feColorMatrix must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: feColorMatrix must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: feColorMatrix must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: feColorMatrix must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: feColorMatrix must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: feColorMatrix must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: feColorMatrix must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGElement interface: feComponentTransfer must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: feComponentTransfer must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: feComponentTransfer must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: feComponentTransfer must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: feComponentTransfer must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: feComponentTransfer must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: feComponentTransfer must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: feComponentTransfer must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: feComponentTransfer must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: feComponentTransfer must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: feComponentTransfer must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncR must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncR must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncR must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncR must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncR must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncR must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncR must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncR must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncR must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncR must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncR must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncG must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncG must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncG must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncG must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncG must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncG must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncG must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncG must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncG must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncG must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncG must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncB must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncB must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncB must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncB must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncB must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncB must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncB must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncB must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncB must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncB must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncB must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncA must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncA must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncA must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncA must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncA must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncA must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncA must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncA must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncA must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncA must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: feFuncA must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGElement interface: feComposite must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: feComposite must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: feComposite must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: feComposite must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: feComposite must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: feComposite must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: feComposite must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: feComposite must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: feComposite must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: feComposite must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: feComposite must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGElement interface: feConvolveMatrix must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: feConvolveMatrix must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: feConvolveMatrix must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: feConvolveMatrix must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: feConvolveMatrix must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: feConvolveMatrix must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: feConvolveMatrix must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: feConvolveMatrix must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: feConvolveMatrix must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: feConvolveMatrix must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: feConvolveMatrix must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGElement interface: feDiffuseLighting must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: feDiffuseLighting must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: feDiffuseLighting must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: feDiffuseLighting must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: feDiffuseLighting must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: feDiffuseLighting must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: feDiffuseLighting must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: feDiffuseLighting must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: feDiffuseLighting must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: feDiffuseLighting must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: feDiffuseLighting must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGElement interface: fePointLight must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: fePointLight must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: fePointLight must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: fePointLight must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: fePointLight must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: fePointLight must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: fePointLight must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: fePointLight must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: fePointLight must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: fePointLight must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: fePointLight must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGElement interface: feSpotLight must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: feSpotLight must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: feSpotLight must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: feSpotLight must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: feSpotLight must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: feSpotLight must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: feSpotLight must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: feSpotLight must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: feSpotLight must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: feSpotLight must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: feSpotLight must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGElement interface: feDisplacementMap must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: feDisplacementMap must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: feDisplacementMap must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: feDisplacementMap must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: feDisplacementMap must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: feDisplacementMap must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: feDisplacementMap must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: feDisplacementMap must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: feDisplacementMap must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: feDisplacementMap must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: feDisplacementMap must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGElement interface: feDropShadow must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: feDropShadow must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: feDropShadow must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: feDropShadow must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: feDropShadow must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: feDropShadow must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: feDropShadow must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: feDropShadow must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: feDropShadow must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: feDropShadow must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: feDropShadow must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGElement interface: feFlood must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: feFlood must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: feFlood must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: feFlood must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: feFlood must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: feFlood must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: feFlood must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: feFlood must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: feFlood must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: feFlood must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: feFlood must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGFEGaussianBlurElement interface: constant SVG_EDGEMODE_UNKNOWN on interface object]
-    expected: FAIL
-
-  [SVGFEGaussianBlurElement interface: constant SVG_EDGEMODE_UNKNOWN on interface prototype object]
-    expected: FAIL
-
-  [SVGFEGaussianBlurElement interface: constant SVG_EDGEMODE_DUPLICATE on interface object]
-    expected: FAIL
-
-  [SVGFEGaussianBlurElement interface: constant SVG_EDGEMODE_DUPLICATE on interface prototype object]
-    expected: FAIL
-
-  [SVGFEGaussianBlurElement interface: constant SVG_EDGEMODE_WRAP on interface object]
-    expected: FAIL
-
-  [SVGFEGaussianBlurElement interface: constant SVG_EDGEMODE_WRAP on interface prototype object]
-    expected: FAIL
-
-  [SVGFEGaussianBlurElement interface: constant SVG_EDGEMODE_NONE on interface object]
-    expected: FAIL
-
-  [SVGFEGaussianBlurElement interface: constant SVG_EDGEMODE_NONE on interface prototype object]
-    expected: FAIL
-
-  [SVGFEGaussianBlurElement interface: attribute edgeMode]
-    expected: FAIL
-
-  [SVGFEGaussianBlurElement must be primary interface of feGaussianBlur]
-    expected: FAIL
-
-  [Stringification of feGaussianBlur]
-    expected: FAIL
-
-  [SVGFEGaussianBlurElement interface: feGaussianBlur must inherit property "SVG_EDGEMODE_UNKNOWN" with the proper type (0)]
-    expected: FAIL
-
-  [SVGFEGaussianBlurElement interface: feGaussianBlur must inherit property "SVG_EDGEMODE_DUPLICATE" with the proper type (1)]
-    expected: FAIL
-
-  [SVGFEGaussianBlurElement interface: feGaussianBlur must inherit property "SVG_EDGEMODE_WRAP" with the proper type (2)]
-    expected: FAIL
-
-  [SVGFEGaussianBlurElement interface: feGaussianBlur must inherit property "SVG_EDGEMODE_NONE" with the proper type (3)]
-    expected: FAIL
-
-  [SVGFEGaussianBlurElement interface: feGaussianBlur must inherit property "in1" with the proper type (4)]
-    expected: FAIL
-
-  [SVGFEGaussianBlurElement interface: feGaussianBlur must inherit property "stdDeviationX" with the proper type (5)]
-    expected: FAIL
-
-  [SVGFEGaussianBlurElement interface: feGaussianBlur must inherit property "stdDeviationY" with the proper type (6)]
-    expected: FAIL
-
-  [SVGFEGaussianBlurElement interface: feGaussianBlur must inherit property "edgeMode" with the proper type (7)]
-    expected: FAIL
-
-  [SVGFEGaussianBlurElement interface: feGaussianBlur must inherit property "setStdDeviation" with the proper type (8)]
-    expected: FAIL
-
-  [SVGFEGaussianBlurElement interface: calling setStdDeviation(float,float) on feGaussianBlur with too few arguments must throw TypeError]
-    expected: FAIL
-
-  [SVGFEGaussianBlurElement interface: feGaussianBlur must inherit property "x" with the proper type (9)]
-    expected: FAIL
-
-  [SVGFEGaussianBlurElement interface: feGaussianBlur must inherit property "y" with the proper type (10)]
-    expected: FAIL
-
-  [SVGFEGaussianBlurElement interface: feGaussianBlur must inherit property "width" with the proper type (11)]
-    expected: FAIL
-
-  [SVGFEGaussianBlurElement interface: feGaussianBlur must inherit property "height" with the proper type (12)]
-    expected: FAIL
-
-  [SVGFEGaussianBlurElement interface: feGaussianBlur must inherit property "result" with the proper type (13)]
-    expected: FAIL
-
-  [SVGElement interface: feGaussianBlur must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: feGaussianBlur must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: feGaussianBlur must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: feGaussianBlur must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: feGaussianBlur must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: feGaussianBlur must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: feGaussianBlur must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: feGaussianBlur must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: feGaussianBlur must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: feGaussianBlur must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: feGaussianBlur must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGFEImageElement interface: attribute crossOrigin]
-    expected: FAIL
-
-  [SVGFEImageElement interface: feImage must inherit property "crossOrigin" with the proper type (1)]
-    expected: FAIL
-
-  [SVGElement interface: feImage must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: feImage must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: feImage must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: feImage must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: feImage must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: feImage must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: feImage must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: feImage must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: feImage must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: feImage must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: feImage must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGElement interface: feMerge must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: feMerge must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: feMerge must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: feMerge must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: feMerge must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: feMerge must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: feMerge must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: feMerge must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: feMerge must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: feMerge must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: feMerge must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGElement interface: feMergeNode must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: feMergeNode must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: feMergeNode must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: feMergeNode must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: feMergeNode must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: feMergeNode must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: feMergeNode must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: feMergeNode must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: feMergeNode must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: feMergeNode must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: feMergeNode must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGElement interface: feMorphology must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: feMorphology must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: feMorphology must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: feMorphology must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: feMorphology must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: feMorphology must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: feMorphology must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: feMorphology must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: feMorphology must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: feMorphology must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: feMorphology must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGElement interface: feSpecularLighting must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: feSpecularLighting must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: feSpecularLighting must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: feSpecularLighting must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: feSpecularLighting must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: feSpecularLighting must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: feSpecularLighting must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: feSpecularLighting must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: feSpecularLighting must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: feSpecularLighting must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: feSpecularLighting must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGElement interface: feTile must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: feTile must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: feTile must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: feTile must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: feTile must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: feTile must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: feTile must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: feTile must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: feTile must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: feTile must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: feTile must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
-  [SVGElement interface: feTurbulence must inherit property "tabIndex" with the proper type (3)]
-    expected: FAIL
-
-  [SVGElement interface: feTurbulence must inherit property "focus" with the proper type (4)]
-    expected: FAIL
-
-  [SVGElement interface: feTurbulence must inherit property "blur" with the proper type (5)]
-    expected: FAIL
-
-  [SVGElement interface: feTurbulence must inherit property "onautocomplete" with the proper type (7)]
-    expected: FAIL
-
-  [SVGElement interface: feTurbulence must inherit property "onautocompleteerror" with the proper type (8)]
-    expected: FAIL
-
-  [SVGElement interface: feTurbulence must inherit property "oncancel" with the proper type (10)]
-    expected: FAIL
-
-  [SVGElement interface: feTurbulence must inherit property "onclose" with the proper type (15)]
-    expected: FAIL
-
-  [SVGElement interface: feTurbulence must inherit property "oncuechange" with the proper type (17)]
-    expected: FAIL
-
-  [SVGElement interface: feTurbulence must inherit property "ondragexit" with the proper type (22)]
-    expected: FAIL
-
-  [SVGElement interface: feTurbulence must inherit property "onsort" with the proper type (61)]
-    expected: FAIL
-
-  [SVGElement interface: feTurbulence must inherit property "ontoggle" with the proper type (66)]
-    expected: FAIL
-
deleted file mode 100644
--- a/testing/web-platform/meta/url/a-element-xhtml.xhtml.ini
+++ /dev/null
@@ -1,488 +0,0 @@
-[a-element-xhtml.xhtml]
-  type: testharness
-  [Parsing: <a:\t foo.com> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <http://f:21/ b ? d # e > against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <http://f:b/c> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <http://f: /c> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <http://f:fifty-two/c> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <http://f: 21 / b ? d # e > against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <:foo.com\\> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <:\\> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <foo://> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <http::@c:29> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <http://&a:foo(b\]c@d:2/> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <http://::@c@d:2> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <http://foo.com:b@d/> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <http://foo.com/\\@> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <http:\\\\foo.com\\> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <http:\\\\a\\b:c\\d@foo.com\\> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <foo:/> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <foo:/bar.com/> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <foo://///////> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <foo://///////bar.com/> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <foo:////://///> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <c:/foo> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <http://[1::2\]:3:4> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <http://2001::1> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <http://2001::1\]> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <http://2001::1\]:80> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <madeupscheme:/example.com/> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <file:/example.com/> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <ftps:/example.com/> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <gopher:/example.com/> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <data:/example.com/> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <javascript:/example.com/> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <mailto:/example.com/> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <madeupscheme:example.com/> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <ftps:example.com/> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <gopher:example.com/> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <data:example.com/> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <javascript:example.com/> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <mailto:example.com/> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <#β> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <data:text/html,test#test> against <http://example.org/foo/bar>]
-    expected: FAIL
-
-  [Parsing: <file:c:\\foo\\bar.html> against <file:///tmp/mock/path>]
-    expected: FAIL
-
-  [Parsing: <  File:c|////foo\\bar.html> against <file:///tmp/mock/path>]
-    expected: FAIL
-
-  [Parsing: <C|/foo/bar> against <file:///tmp/mock/path>]
-    expected: FAIL
-
-  [Parsing: </C|\\foo\\bar> against <file:///tmp/mock/path>]
-    expected: FAIL
-
-  [Parsing: <//C|/foo/bar> against <file:///tmp/mock/path>]
-    expected: FAIL
-
-  [Parsing: <//server/file> against <file:///tmp/mock/path>]
-    expected: FAIL
-
-  [Parsing: <\\\\server\\file> against <file:///tmp/mock/path>]
-    expected: FAIL
-
-  [Parsing: </\\server/file> against <file:///tmp/mock/path>]
-    expected: FAIL
-
-  [Parsing: <file:///foo/bar.txt> against <file:///tmp/mock/path>]
-    expected: FAIL
-
-  [Parsing: <file:///home/me> against <file:///tmp/mock/path>]
-    expected: FAIL
-
-  [Parsing: <//> against <file:///tmp/mock/path>]
-    expected: FAIL
-
-  [Parsing: <///> against <file:///tmp/mock/path>]
-    expected: FAIL
-
-  [Parsing: <///test> against <file:///tmp/mock/path>]
-    expected: FAIL
-
-  [Parsing: <file://test> against <file:///tmp/mock/path>]
-    expected: FAIL
-
-  [Parsing: <file://localhost> against <file:///tmp/mock/path>]
-    expected: FAIL
-
-  [Parsing: <file://localhost/> against <file:///tmp/mock/path>]
-    expected: FAIL
-
-  [Parsing: <file://localhost/test> against <file:///tmp/mock/path>]
-    expected: FAIL
-
-  [Parsing: <test> against <file:///tmp/mock/path>]
-    expected: FAIL
-
-  [Parsing: <file:test> against <file:///tmp/mock/path>]
-    expected: FAIL
-
-  [Parsing: <http://example.com/foo/%2e> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <http://example.com\\\\foo\\\\bar> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <http://www.google.com/foo?bar=baz# »> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <data:test# »> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <http://[www.google.com\]/> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <http://192.0x00A80001> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <http://user:pass@/> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <http:\\\\www.google.com\\foo> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <httpa://foo:80/> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <http://foo:-80/> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <gopher://foo:70/> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <gopher://foo:443/> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <madeupscheme:/example.com/> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <file:/example.com/> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <ftps:/example.com/> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <gopher:/example.com/> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <data:/example.com/> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <javascript:/example.com/> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <mailto:/example.com/> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <madeupscheme:example.com/> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <ftps:example.com/> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <gopher:example.com/> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <data:example.com/> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <javascript:example.com/> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <mailto:example.com/> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <http::b@www.example.com> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <http:/:b@www.example.com> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <http://:b@www.example.com> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <http:/:@/www.example.com> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <http://user@/www.example.com> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <http:@/www.example.com> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <http:/@/www.example.com> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <http://@/www.example.com> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <https:@/www.example.com> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <http:a:b@/www.example.com> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <http:/a:b@/www.example.com> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <http://a:b@/www.example.com> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <http::@/www.example.com> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <http://www.@pple.com> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <http:@:www.example.com> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <http:/@:www.example.com> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <http://@:www.example.com> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <http://:@www.example.com> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <file:..> against <http://www.example.com/test>]
-    expected: FAIL
-
-  [Parsing: <http://example example.com> against <http://other.com/>]
-    expected: FAIL
-
-  [Parsing: <http://Goo%20 goo%7C|.com> against <http://other.com/>]
-    expected: FAIL
-
-  [Parsing: <http://[\]> against <http://other.com/>]
-    expected: FAIL
-
-  [Parsing: <http://[:\]> against <http://other.com/>]
-    expected: FAIL
-
-  [Parsing: <http://GOO  goo.com> against <http://other.com/>]
-    expected: FAIL
-
-  [Parsing: <http://﷐zyx.com> against <http://other.com/>]
-    expected: FAIL
-
-  [Parsing: <http://%ef%b7%90zyx.com> against <http://other.com/>]
-    expected: FAIL
-
-  [Parsing: <http://%41.com> against <http://other.com/>]
-    expected: FAIL
-
-  [Parsing: <http://%ef%bc%85%ef%bc%94%ef%bc%91.com> against <http://other.com/>]
-    expected: FAIL
-
-  [Parsing: <http://%00.com> against <http://other.com/>]
-    expected: FAIL
-
-  [Parsing: <http://%ef%bc%85%ef%bc%90%ef%bc%90.com> against <http://other.com/>]
-    expected: FAIL
-
-  [Parsing: <http://你好你好> against <http://other.com/>]
-    expected: FAIL
-
-  [Parsing: <http://%zz%66%a.com> against <http://other.com/>]
-    expected: FAIL
-
-  [Parsing: <http://%25> against <http://other.com/>]
-    expected: FAIL
-
-  [Parsing: <http://hello%00> against <http://other.com/>]
-    expected: FAIL
-
-  [Parsing: <http://%30%78%63%30%2e%30%32%35%30.01> against <http://other.com/>]
-    expected: FAIL
-
-  [Parsing: <http://%30%78%63%30%2e%30%32%35%30.01%2e> against <http://other.com/>]
-    expected: FAIL
-
-  [Parsing: <http://192.168.0.257> against <http://other.com/>]
-    expected: FAIL
-
-  [Parsing: <http://%3g%78%63%30%2e%30%32%35%30%2E.01> against <http://other.com/>]
-    expected: FAIL
-
-  [Parsing: <http://192.168.0.1 hello> against <http://other.com/>]
-    expected: FAIL
-
-  [Parsing: <http://0Xc0.0250.01> against <http://other.com/>]
-    expected: FAIL
-
-  [Parsing: <http://[google.com\]> against <http://other.com/>]
-    expected: FAIL
-
-  [Parsing: <#> against <test:test>]
-    expected: FAIL
-
-  [Parsing: <#x> against <mailto:x@x.com>]
-    expected: FAIL
-
-  [Parsing: <#x> against <data:,>]
-    expected: FAIL
-
-  [Parsing: <#x> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <#> against <test:test?test>]
-    expected: FAIL
-
-  [Parsing: <i> against <sc:sd>]
-    expected: FAIL
-
-  [Parsing: <i> against <sc:sd/sd>]
-    expected: FAIL
-
-  [Parsing: <i> against <sc:/pa/pa>]
-    expected: FAIL
-
-  [Parsing: <i> against <sc://ho/pa>]
-    expected: FAIL
-
-  [Parsing: <i> against <sc:///pa/pa>]
-    expected: FAIL
-
-  [Parsing: <../i> against <sc:sd>]
-    expected: FAIL
-
-  [Parsing: <../i> against <sc:sd/sd>]
-    expected: FAIL
-
-  [Parsing: <../i> against <sc:/pa/pa>]
-    expected: FAIL
-
-  [Parsing: <../i> against <sc://ho/pa>]
-    expected: FAIL
-
-  [Parsing: <../i> against <sc:///pa/pa>]
-    expected: FAIL
-
-  [Parsing: </i> against <sc:sd>]
-    expected: FAIL
-
-  [Parsing: </i> against <sc:sd/sd>]
-    expected: FAIL
-
-  [Parsing: </i> against <sc:/pa/pa>]
-    expected: FAIL
-
-  [Parsing: </i> against <sc://ho/pa>]
-    expected: FAIL
-
-  [Parsing: </i> against <sc:///pa/pa>]
-    expected: FAIL
-
-  [Parsing: <?i> against <sc:sd>]
-    expected: FAIL
-
-  [Parsing: <?i> against <sc:sd/sd>]
-    expected: FAIL
-
-  [Parsing: <?i> against <sc:/pa/pa>]
-    expected: FAIL
-
-  [Parsing: <?i> against <sc://ho/pa>]
-    expected: FAIL
-
-  [Parsing: <?i> against <sc:///pa/pa>]
-    expected: FAIL
-
-  [Parsing: <#i> against <sc:sd>]
-    expected: FAIL
-
-  [Parsing: <#i> against <sc:sd/sd>]
-    expected: FAIL
-
-  [Parsing: <#i> against <sc:/pa/pa>]
-    expected: FAIL
-
-  [Parsing: <#i> against <sc://ho/pa>]
-    expected: FAIL
-
-  [Parsing: <#i> against <sc:///pa/pa>]
-    expected: FAIL
-
-  [Parsing: <about:/../> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <data:/../> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <javascript:/../> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <mailto:/../> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <sc://ñ.test/> against <about:blank>]
-    expected: FAIL
-
-  [Parsing: <sc:\\../> against <about:blank>]
-    expected: FAIL
-
--- a/testing/web-platform/meta/url/interfaces.html.ini
+++ b/testing/web-platform/meta/url/interfaces.html.ini
@@ -1,11 +1,10 @@
 [interfaces.html]
   type: testharness
-  expected: ERROR
   [URL interface: operation domainToASCII(ScalarValueString)]
     expected: FAIL
 
   [URL interface: operation domainToUnicode(ScalarValueString)]
     expected: FAIL
 
   [URL interface: operation domainToASCII(USVString)]
     expected: FAIL
--- a/testing/web-platform/meta/webgl/compressedTexSubImage2D.html.ini
+++ b/testing/web-platform/meta/webgl/compressedTexSubImage2D.html.ini
@@ -2,14 +2,8 @@
   type: testharness
   [compressedTexSubImage2D]
     expected:
       if not debug and (os == "linux") and (version == "Ubuntu 12.04") and (processor == "x86") and (bits == 32): FAIL
       if not debug and (os == "linux") and (version == "Ubuntu 12.04") and (processor == "x86_64") and (bits == 64): FAIL
       if debug and (os == "linux") and (version == "Ubuntu 12.04") and (processor == "x86_64") and (bits == 64): FAIL
       if debug and (os == "linux") and (version == "Ubuntu 12.04") and (processor == "x86") and (bits == 32): FAIL
 
-  [Calling function () {\n    gl.compressedTexSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 10, 10, COMPRESSED_RGB_S3TC_DXT1_EXT, new Uint8Array(8));\n  } should generate a 1280 error.]
-    expected: FAIL
-
-  [Calling function () {\n    gl.compressedTexSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 10, 10, COMPRESSED_RGB_S3TC_DXT1_EXT, new Uint8Array(8), null);\n  } should generate a 1280 error.]
-    expected: FAIL
-
--- a/testing/web-platform/meta/webvtt/interfaces.html.ini
+++ b/testing/web-platform/meta/webvtt/interfaces.html.ini
@@ -73,11 +73,8 @@
     expected: FAIL
 
   [VTTRegion interface: new VTTRegion() must inherit property "viewportAnchorY" with the proper type (5)]
     expected: FAIL
 
   [VTTRegion interface: new VTTRegion() must inherit property "scroll" with the proper type (6)]
     expected: FAIL
 
-  [VTTRegion interface object name]
-    expected: FAIL
-
--- a/testing/web-platform/meta/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_timestamp_past.html.ini
+++ b/testing/web-platform/meta/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_timestamp_past.html.ini
@@ -1,3 +1,4 @@
 [underline_timestamp_past.html]
   type: reftest
-  expected: FAIL
+  expected:
+    FAIL
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/battery-status/battery-created-manual.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Battery Test: no backend implementation, charger unplugged in</title>
+<meta name="flags" content="interact">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+
+<h2>Description</h2>
+<p>
+  <strong>
+    This test is only useful on devices that expose the BatteryManager interface,
+    but lack a backend implementation.
+  </strong>
+</p>
+<p>
+  This test validates that all of the BatteryManager attributes exist and are set to their default values.
+</p>
+
+<h2>Preconditions</h2>
+<ol>
+  <li>
+    The implementation is unable to report the battery's charging state,
+    charging time, level or remaining time respectively.
+  </li>
+  <li>
+    The device is unplugged from the charger before this test case is run.
+  </li>
+</ol>
+
+<div id="log"></div>
+
+<script>
+
+async_test(function (t) {
+  navigator.getBattery().then(function (battery) {
+    t.step(function () {
+      assert_true(battery.charging, 'charging must be set to true');
+      assert_equals(battery.chargingTime, 0, 'chargingTime must be set to 0');
+      assert_equals(battery.dischargingTime, Infinity, 'dischargingTime must be set to Infinity');
+      assert_equals(battery.level, 1.0, 'level must be set to 1.0');
+    });
+    t.done();
+  }, function (error) {
+    t.step(function () {
+      assert_unreached(error.message);
+    });
+    t.done();
+  });
+}, 'When a BatteryManager object is created, charging must be set to true, ' +
+   'chargingTime to 0, level to 1.0 and dischargingTime to the value positive ' +
+   'Infinity, if the implementation is unable to report the battery\'s charging ' +
+   'state, charging time, level or remaining time respectively.');
+
+</script>
--- a/testing/web-platform/tests/conformance-checkers/messages.json
+++ b/testing/web-platform/tests/conformance-checkers/messages.json
@@ -46,483 +46,483 @@
     "html/attributes/data/no-characters-after-hyphen-novalid.html": "Attribute \u201cdata-\u201d not allowed on element \u201cp\u201d in this context.",
     "html/attributes/data/not-xml-serializable-novalid.html": "\u201cdata-*\u201d attribute names must be XML 1.0 4th ed. plus Namespaces NCNames.",
     "html/attributes/lang/deprecated-tag-haswarn.html": "Bad value \u201cmo\u201d for attribute \u201clang\u201d on element \u201cbody\u201d: Bad language tag: The language subtag \u201cmo\u201d is deprecated. Use \u201cro\u201d instead.",
     "html/attributes/lang/extlang-bad-novalid.html": "Bad value \u201cbat-smg\u201d for attribute \u201clang\u201d on element \u201cbody\u201d: Bad language tag: Bad extlang subtag \u201csmg\u201d.",
     "html/attributes/lang/xmllang-different-value-novalid.html": "When the attribute \u201cxml:lang\u201d in no namespace is specified, the element must also have the attribute \u201clang\u201d present with the same value.",
     "html/attributes/lang/xmllang-only-novalid.html": "When the attribute \u201cxml:lang\u201d in no namespace is specified, the element must also have the attribute \u201clang\u201d present with the same value.",
     "html/attributes/role/unrecognized-role-name-novalid.html": "Discarding unrecognized tokens \u201cswitch\u201d, \u201cinput\u201d from value of attribute \u201crole\u201d. Browsers ignore any token that is not a defined ARIA non-abstract role.",
     "html/attributes/spellcheck/value-bad-novalid.html": "Bad value \u201cbadvalue\u201d for attribute \u201cspellcheck\u201d on element \u201cp\u201d.",
-    "html/elements/a/href/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in fragment: \u201c\\\u201d is not allowed.",
-    "html/elements/a/href/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in fragment: \u201c#\u201d is not allowed.",
-    "html/elements/a/href/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in fragment: space is not allowed.",
+    "html/elements/a/href/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
+    "html/elements/a/href/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
+    "html/elements/a/href/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
     "html/elements/a/href/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/a/href/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
-    "html/elements/a/href/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
+    "html/elements/a/href/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
+    "html/elements/a/href/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
     "html/elements/a/href/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/a/href/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/a/href/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/a/href/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Invalid host: Illegal character.",
     "html/elements/a/href/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.",
     "html/elements/a/href/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..",
     "html/elements/a/href/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/a/href/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Invalid host: Illegal character in domain: space is not allowed.",
-    "html/elements/a/href/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
+    "html/elements/a/href/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Invalid host: Domain contains invalid character:  .",
+    "html/elements/a/href/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in port.",
     "html/elements/a/href/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/a/href/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
-    "html/elements/a/href/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
+    "html/elements/a/href/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
+    "html/elements/a/href/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
     "html/elements/a/href/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.",
-    "html/elements/a/href/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/a/href/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/a/href/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
     "html/elements/a/href/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
     "html/elements/a/href/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/a/href/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/a/href/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/a/href/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.",
-    "html/elements/a/href/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in path segment: \u201c[\u201d is not allowed.",
+    "html/elements/a/href/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/a/href/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/a/href/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/a/href/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/a/href/path-u0091-novalid.html": "Forbidden code point U+0091.",
     "html/elements/a/href/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/a/href/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
-    "html/elements/a/href/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
-    "html/elements/a/href/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in port: \u201c-\u201d is not allowed.",
-    "html/elements/a/href/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in port: \u201cf\u201d is not allowed.",
+    "html/elements/a/href/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in port.",
+    "html/elements/a/href/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in port.",
+    "html/elements/a/href/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in port.",
+    "html/elements/a/href/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in port.",
     "html/elements/a/href/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/a/href/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in port: \u201cb\u201d is not allowed.",
-    "html/elements/a/href/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in port: \u201c \u201d is not allowed.",
+    "html/elements/a/href/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in port.",
+    "html/elements/a/href/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in port.",
     "html/elements/a/href/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/a/href/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in query: space is not allowed.",
-    "html/elements/a/href/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in query: space is not allowed.",
+    "html/elements/a/href/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in query: not a URL code point.",
+    "html/elements/a/href/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in query: not a URL code point.",
     "html/elements/a/href/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.",
     "html/elements/a/href/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.",
     "html/elements/a/href/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/a/href/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.",
-    "html/elements/a/href/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.",
+    "html/elements/a/href/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
+    "html/elements/a/href/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/a/href/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/a/href/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/a/href/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/a/href/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/a/href/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/a/href/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/a/href/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/a/href/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/a/href/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/a/href/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: syntax error",
-    "html/elements/a/href/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
-    "html/elements/a/href/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
-    "html/elements/a/href/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
-    "html/elements/a/href/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in scheme data: tab is not allowed.",
+    "html/elements/a/href/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/a/href/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/a/href/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/a/href/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
     "html/elements/a/href/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/a/href/userinfo-password-bad-chars-novalid.html": "Bad value \u201chttp://&afoo((b]c@d:2/\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in user or password: \u201c]\u201d is not allowed.",
-    "html/elements/a/href/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.",
+    "html/elements/a/href/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&amp;\u201d.)",
+    "html/elements/a/href/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in user or password: not a URL code point.",
     "html/elements/a/href/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.",
-    "html/elements/a/href/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.",
+    "html/elements/a/href/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in user or password: not a URL code point.",
     "html/elements/a/media-novalid.html": "Attribute \u201cmedia\u201d not allowed on element \u201ca\u201d in this context.",
     "html/elements/a/model-novalid.html": "Element \u201cp\u201d not allowed in this context. (The parent was element \u201ca\u201d.) Suppressing further errors from this subtree.",
     "html/elements/a/name-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201cname\u201d on element \u201ca\u201d: Bad id: An ID must not be the empty string.",
     "html/elements/abbr/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.",
     "html/elements/address/model-novalid.html": "The element \u201caddress\u201d must not appear as a descendant of the \u201caddress\u201d element.",
-    "html/elements/area/href/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in fragment: \u201c\\\u201d is not allowed.",
-    "html/elements/area/href/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in fragment: \u201c#\u201d is not allowed.",
-    "html/elements/area/href/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in fragment: space is not allowed.",
+    "html/elements/area/href/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
+    "html/elements/area/href/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
+    "html/elements/area/href/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
     "html/elements/area/href/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/area/href/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
-    "html/elements/area/href/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
+    "html/elements/area/href/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
+    "html/elements/area/href/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
     "html/elements/area/href/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/area/href/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/area/href/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/area/href/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Invalid host: Illegal character.",
     "html/elements/area/href/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.",
     "html/elements/area/href/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..",
     "html/elements/area/href/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/area/href/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Invalid host: Illegal character in domain: space is not allowed.",
-    "html/elements/area/href/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
+    "html/elements/area/href/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Invalid host: Domain contains invalid character:  .",
+    "html/elements/area/href/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in port.",
     "html/elements/area/href/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/area/href/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
-    "html/elements/area/href/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
+    "html/elements/area/href/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
+    "html/elements/area/href/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
     "html/elements/area/href/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.",
-    "html/elements/area/href/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/area/href/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/area/href/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
     "html/elements/area/href/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
     "html/elements/area/href/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/area/href/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/area/href/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/area/href/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.",
-    "html/elements/area/href/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in path segment: \u201c[\u201d is not allowed.",
+    "html/elements/area/href/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/area/href/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/area/href/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/area/href/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/area/href/path-u0091-novalid.html": "Forbidden code point U+0091.",
     "html/elements/area/href/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/area/href/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
-    "html/elements/area/href/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
-    "html/elements/area/href/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in port: \u201c-\u201d is not allowed.",
-    "html/elements/area/href/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in port: \u201cf\u201d is not allowed.",
+    "html/elements/area/href/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in port.",
+    "html/elements/area/href/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in port.",
+    "html/elements/area/href/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in port.",
+    "html/elements/area/href/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in port.",
     "html/elements/area/href/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/area/href/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in port: \u201cb\u201d is not allowed.",
-    "html/elements/area/href/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in port: \u201c \u201d is not allowed.",
+    "html/elements/area/href/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in port.",
+    "html/elements/area/href/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in port.",
     "html/elements/area/href/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/area/href/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in query: space is not allowed.",
-    "html/elements/area/href/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in query: space is not allowed.",
+    "html/elements/area/href/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in query: not a URL code point.",
+    "html/elements/area/href/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in query: not a URL code point.",
     "html/elements/area/href/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.",
     "html/elements/area/href/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.",
     "html/elements/area/href/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/area/href/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.",
-    "html/elements/area/href/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.",
+    "html/elements/area/href/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
+    "html/elements/area/href/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/area/href/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/area/href/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/area/href/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/area/href/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/area/href/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/area/href/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/area/href/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/area/href/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/area/href/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/area/href/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: syntax error",
-    "html/elements/area/href/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
-    "html/elements/area/href/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
-    "html/elements/area/href/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
-    "html/elements/area/href/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in scheme data: tab is not allowed.",
+    "html/elements/area/href/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/area/href/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/area/href/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/area/href/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
     "html/elements/area/href/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/area/href/userinfo-password-bad-chars-novalid.html": "Bad value \u201chttp://&afoo((b]c@d:2/\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in user or password: \u201c]\u201d is not allowed.",
-    "html/elements/area/href/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.",
+    "html/elements/area/href/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&amp;\u201d.)",
+    "html/elements/area/href/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in user or password: not a URL code point.",
     "html/elements/area/href/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.",
-    "html/elements/area/href/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.",
+    "html/elements/area/href/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in user or password: not a URL code point.",
     "html/elements/area/media-novalid.html": "Attribute \u201cmedia\u201d not allowed on element \u201carea\u201d in this context.",
     "html/elements/area/model-novalid.html": "Attribute \u201ccoords\u201d not allowed on element \u201carea\u201d in this context.",
     "html/elements/audio/model-novalid.html": "Element \u201cp\u201d not allowed in this context. (The parent was element \u201caudio\u201d.) Suppressing further errors from this subtree.",
     "html/elements/audio/src-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Must be non-empty.",
     "html/elements/audio/src-whitespace-only-novalid.html": "Bad value \u201c\t \n\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Must be non-empty.",
-    "html/elements/audio/src/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in fragment: \u201c\\\u201d is not allowed.",
-    "html/elements/audio/src/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in fragment: \u201c#\u201d is not allowed.",
-    "html/elements/audio/src/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in fragment: space is not allowed.",
+    "html/elements/audio/src/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
+    "html/elements/audio/src/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
+    "html/elements/audio/src/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
     "html/elements/audio/src/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/audio/src/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
-    "html/elements/audio/src/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
+    "html/elements/audio/src/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
+    "html/elements/audio/src/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
     "html/elements/audio/src/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/audio/src/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/audio/src/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/audio/src/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Invalid host: Illegal character.",
     "html/elements/audio/src/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.",
     "html/elements/audio/src/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..",
     "html/elements/audio/src/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/audio/src/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Invalid host: Illegal character in domain: space is not allowed.",
-    "html/elements/audio/src/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
+    "html/elements/audio/src/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Invalid host: Domain contains invalid character:  .",
+    "html/elements/audio/src/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in port.",
     "html/elements/audio/src/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/audio/src/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
-    "html/elements/audio/src/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
+    "html/elements/audio/src/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
+    "html/elements/audio/src/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
     "html/elements/audio/src/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.",
-    "html/elements/audio/src/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/audio/src/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/audio/src/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
     "html/elements/audio/src/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
     "html/elements/audio/src/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/audio/src/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/audio/src/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/audio/src/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.",
-    "html/elements/audio/src/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in path segment: \u201c[\u201d is not allowed.",
+    "html/elements/audio/src/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/audio/src/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/audio/src/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/audio/src/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/audio/src/path-u0091-novalid.html": "Forbidden code point U+0091.",
     "html/elements/audio/src/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/audio/src/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
-    "html/elements/audio/src/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
-    "html/elements/audio/src/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in port: \u201c-\u201d is not allowed.",
-    "html/elements/audio/src/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in port: \u201cf\u201d is not allowed.",
+    "html/elements/audio/src/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in port.",
+    "html/elements/audio/src/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in port.",
+    "html/elements/audio/src/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in port.",
+    "html/elements/audio/src/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in port.",
     "html/elements/audio/src/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/audio/src/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in port: \u201cb\u201d is not allowed.",
-    "html/elements/audio/src/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in port: \u201c \u201d is not allowed.",
+    "html/elements/audio/src/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in port.",
+    "html/elements/audio/src/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in port.",
     "html/elements/audio/src/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/audio/src/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in query: space is not allowed.",
-    "html/elements/audio/src/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in query: space is not allowed.",
+    "html/elements/audio/src/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in query: not a URL code point.",
+    "html/elements/audio/src/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in query: not a URL code point.",
     "html/elements/audio/src/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.",
     "html/elements/audio/src/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.",
     "html/elements/audio/src/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/audio/src/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.",
-    "html/elements/audio/src/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.",
+    "html/elements/audio/src/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
+    "html/elements/audio/src/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/audio/src/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/audio/src/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/audio/src/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/audio/src/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/audio/src/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/audio/src/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/audio/src/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/audio/src/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/audio/src/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/audio/src/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: syntax error",
-    "html/elements/audio/src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
-    "html/elements/audio/src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
-    "html/elements/audio/src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
-    "html/elements/audio/src/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in scheme data: tab is not allowed.",
+    "html/elements/audio/src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/audio/src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/audio/src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/audio/src/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
     "html/elements/audio/src/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/audio/src/userinfo-password-bad-chars-novalid.html": "Bad value \u201chttp://&afoo((b]c@d:2/\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in user or password: \u201c]\u201d is not allowed.",
-    "html/elements/audio/src/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.",
+    "html/elements/audio/src/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&amp;\u201d.)",
+    "html/elements/audio/src/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in user or password: not a URL code point.",
     "html/elements/audio/src/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.",
-    "html/elements/audio/src/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.",
+    "html/elements/audio/src/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in user or password: not a URL code point.",
     "html/elements/base/href-and-target-missing-novalid.html": "Element \u201cbase\u201d is missing one or more of the following attributes: [href, target].",
-    "html/elements/base/href/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in fragment: \u201c\\\u201d is not allowed.",
-    "html/elements/base/href/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in fragment: \u201c#\u201d is not allowed.",
-    "html/elements/base/href/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in fragment: space is not allowed.",
+    "html/elements/base/href/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
+    "html/elements/base/href/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
+    "html/elements/base/href/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
     "html/elements/base/href/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/base/href/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
-    "html/elements/base/href/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
+    "html/elements/base/href/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
+    "html/elements/base/href/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
     "html/elements/base/href/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/base/href/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/base/href/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/base/href/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Invalid host: Illegal character.",
     "html/elements/base/href/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.",
     "html/elements/base/href/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..",
     "html/elements/base/href/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/base/href/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Invalid host: Illegal character in domain: space is not allowed.",
-    "html/elements/base/href/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
+    "html/elements/base/href/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Invalid host: Domain contains invalid character:  .",
+    "html/elements/base/href/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in port.",
     "html/elements/base/href/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/base/href/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
-    "html/elements/base/href/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
+    "html/elements/base/href/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
+    "html/elements/base/href/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
     "html/elements/base/href/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.",
-    "html/elements/base/href/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/base/href/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/base/href/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
     "html/elements/base/href/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
     "html/elements/base/href/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/base/href/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/base/href/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/base/href/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.",
-    "html/elements/base/href/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in path segment: \u201c[\u201d is not allowed.",
+    "html/elements/base/href/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/base/href/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/base/href/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/base/href/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/base/href/path-u0091-novalid.html": "Forbidden code point U+0091.",
     "html/elements/base/href/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/base/href/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
-    "html/elements/base/href/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
-    "html/elements/base/href/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in port: \u201c-\u201d is not allowed.",
-    "html/elements/base/href/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in port: \u201cf\u201d is not allowed.",
+    "html/elements/base/href/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in port.",
+    "html/elements/base/href/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in port.",
+    "html/elements/base/href/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in port.",
+    "html/elements/base/href/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in port.",
     "html/elements/base/href/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/base/href/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in port: \u201cb\u201d is not allowed.",
-    "html/elements/base/href/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in port: \u201c \u201d is not allowed.",
+    "html/elements/base/href/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in port.",
+    "html/elements/base/href/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in port.",
     "html/elements/base/href/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/base/href/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in query: space is not allowed.",
-    "html/elements/base/href/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in query: space is not allowed.",
+    "html/elements/base/href/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in query: not a URL code point.",
+    "html/elements/base/href/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in query: not a URL code point.",
     "html/elements/base/href/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.",
     "html/elements/base/href/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.",
     "html/elements/base/href/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/base/href/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.",
-    "html/elements/base/href/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.",
+    "html/elements/base/href/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
+    "html/elements/base/href/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/base/href/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/base/href/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/base/href/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/base/href/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/base/href/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/base/href/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/base/href/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/base/href/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/base/href/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/base/href/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: syntax error",
-    "html/elements/base/href/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
-    "html/elements/base/href/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
-    "html/elements/base/href/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
-    "html/elements/base/href/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in scheme data: tab is not allowed.",
+    "html/elements/base/href/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/base/href/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/base/href/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/base/href/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
     "html/elements/base/href/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/base/href/userinfo-password-bad-chars-novalid.html": "Bad value \u201chttp://&afoo((b]c@d:2/\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in user or password: \u201c]\u201d is not allowed.",
-    "html/elements/base/href/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.",
+    "html/elements/base/href/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&amp;\u201d.)",
+    "html/elements/base/href/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in user or password: not a URL code point.",
     "html/elements/base/href/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.",
-    "html/elements/base/href/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.",
+    "html/elements/base/href/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in user or password: not a URL code point.",
     "html/elements/bdo/model-novalid.html": "Element \u201cbdo\u201d must have attribute \u201cdir\u201d.",
-    "html/elements/blockquote/cite/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in fragment: \u201c\\\u201d is not allowed.",
-    "html/elements/blockquote/cite/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in fragment: \u201c#\u201d is not allowed.",
-    "html/elements/blockquote/cite/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in fragment: space is not allowed.",
+    "html/elements/blockquote/cite/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
+    "html/elements/blockquote/cite/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
+    "html/elements/blockquote/cite/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
     "html/elements/blockquote/cite/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/blockquote/cite/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
-    "html/elements/blockquote/cite/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
+    "html/elements/blockquote/cite/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
+    "html/elements/blockquote/cite/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
     "html/elements/blockquote/cite/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/blockquote/cite/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/blockquote/cite/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/blockquote/cite/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Invalid host: Illegal character.",
     "html/elements/blockquote/cite/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.",
     "html/elements/blockquote/cite/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..",
     "html/elements/blockquote/cite/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/blockquote/cite/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Invalid host: Illegal character in domain: space is not allowed.",
-    "html/elements/blockquote/cite/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
+    "html/elements/blockquote/cite/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Invalid host: Domain contains invalid character:  .",
+    "html/elements/blockquote/cite/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in port.",
     "html/elements/blockquote/cite/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/blockquote/cite/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
-    "html/elements/blockquote/cite/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
+    "html/elements/blockquote/cite/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
+    "html/elements/blockquote/cite/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
     "html/elements/blockquote/cite/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.",
-    "html/elements/blockquote/cite/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/blockquote/cite/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/blockquote/cite/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
     "html/elements/blockquote/cite/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
     "html/elements/blockquote/cite/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/blockquote/cite/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/blockquote/cite/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/blockquote/cite/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.",
-    "html/elements/blockquote/cite/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in path segment: \u201c[\u201d is not allowed.",
+    "html/elements/blockquote/cite/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/blockquote/cite/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/blockquote/cite/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/blockquote/cite/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/blockquote/cite/path-u0091-novalid.html": "Forbidden code point U+0091.",
     "html/elements/blockquote/cite/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/blockquote/cite/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
-    "html/elements/blockquote/cite/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
-    "html/elements/blockquote/cite/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in port: \u201c-\u201d is not allowed.",
-    "html/elements/blockquote/cite/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in port: \u201cf\u201d is not allowed.",
+    "html/elements/blockquote/cite/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in port.",
+    "html/elements/blockquote/cite/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in port.",
+    "html/elements/blockquote/cite/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in port.",
+    "html/elements/blockquote/cite/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in port.",
     "html/elements/blockquote/cite/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/blockquote/cite/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in port: \u201cb\u201d is not allowed.",
-    "html/elements/blockquote/cite/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in port: \u201c \u201d is not allowed.",
+    "html/elements/blockquote/cite/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in port.",
+    "html/elements/blockquote/cite/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in port.",
     "html/elements/blockquote/cite/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/blockquote/cite/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in query: space is not allowed.",
-    "html/elements/blockquote/cite/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in query: space is not allowed.",
+    "html/elements/blockquote/cite/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in query: not a URL code point.",
+    "html/elements/blockquote/cite/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in query: not a URL code point.",
     "html/elements/blockquote/cite/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.",
     "html/elements/blockquote/cite/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.",
     "html/elements/blockquote/cite/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/blockquote/cite/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.",
-    "html/elements/blockquote/cite/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.",
+    "html/elements/blockquote/cite/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
+    "html/elements/blockquote/cite/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/blockquote/cite/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/blockquote/cite/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/blockquote/cite/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/blockquote/cite/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/blockquote/cite/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/blockquote/cite/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/blockquote/cite/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/blockquote/cite/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/blockquote/cite/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/blockquote/cite/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: syntax error",
-    "html/elements/blockquote/cite/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
-    "html/elements/blockquote/cite/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
-    "html/elements/blockquote/cite/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
-    "html/elements/blockquote/cite/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in scheme data: tab is not allowed.",
+    "html/elements/blockquote/cite/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/blockquote/cite/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/blockquote/cite/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/blockquote/cite/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
     "html/elements/blockquote/cite/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/blockquote/cite/userinfo-password-bad-chars-novalid.html": "Bad value \u201chttp://&afoo((b]c@d:2/\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in user or password: \u201c]\u201d is not allowed.",
-    "html/elements/blockquote/cite/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.",
+    "html/elements/blockquote/cite/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&amp;\u201d.)",
+    "html/elements/blockquote/cite/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in user or password: not a URL code point.",
     "html/elements/blockquote/cite/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.",
-    "html/elements/blockquote/cite/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.",
+    "html/elements/blockquote/cite/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in user or password: not a URL code point.",
     "html/elements/blockquote/model-novalid.html": "No \u201cp\u201d element in scope but a \u201cp\u201d end tag seen.",
     "html/elements/br/model-novalid.html": "End tag \u201cbr\u201d.",
     "html/elements/button/formaction-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Must be non-empty.",
     "html/elements/button/formaction-whitespace-only-novalid.html": "Bad value \u201c\t \n\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Must be non-empty.",
-    "html/elements/button/formaction/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in fragment: \u201c\\\u201d is not allowed.",
-    "html/elements/button/formaction/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in fragment: \u201c#\u201d is not allowed.",
-    "html/elements/button/formaction/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in fragment: space is not allowed.",
+    "html/elements/button/formaction/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
+    "html/elements/button/formaction/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
+    "html/elements/button/formaction/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
     "html/elements/button/formaction/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/button/formaction/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
-    "html/elements/button/formaction/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
+    "html/elements/button/formaction/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
+    "html/elements/button/formaction/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
     "html/elements/button/formaction/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/button/formaction/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/button/formaction/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/button/formaction/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Invalid host: Illegal character.",
     "html/elements/button/formaction/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.",
     "html/elements/button/formaction/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..",
     "html/elements/button/formaction/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/button/formaction/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Invalid host: Illegal character in domain: space is not allowed.",
-    "html/elements/button/formaction/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
+    "html/elements/button/formaction/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Invalid host: Domain contains invalid character:  .",
+    "html/elements/button/formaction/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in port.",
     "html/elements/button/formaction/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/button/formaction/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
-    "html/elements/button/formaction/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
+    "html/elements/button/formaction/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
+    "html/elements/button/formaction/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
     "html/elements/button/formaction/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.",
-    "html/elements/button/formaction/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/button/formaction/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/button/formaction/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
     "html/elements/button/formaction/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
     "html/elements/button/formaction/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/button/formaction/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/button/formaction/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/button/formaction/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.",
-    "html/elements/button/formaction/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in path segment: \u201c[\u201d is not allowed.",
+    "html/elements/button/formaction/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/button/formaction/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/button/formaction/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/button/formaction/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/button/formaction/path-u0091-novalid.html": "Forbidden code point U+0091.",
     "html/elements/button/formaction/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/button/formaction/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
-    "html/elements/button/formaction/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
-    "html/elements/button/formaction/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in port: \u201c-\u201d is not allowed.",
-    "html/elements/button/formaction/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in port: \u201cf\u201d is not allowed.",
+    "html/elements/button/formaction/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in port.",
+    "html/elements/button/formaction/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in port.",
+    "html/elements/button/formaction/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in port.",
+    "html/elements/button/formaction/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in port.",
     "html/elements/button/formaction/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/button/formaction/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in port: \u201cb\u201d is not allowed.",
-    "html/elements/button/formaction/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in port: \u201c \u201d is not allowed.",
+    "html/elements/button/formaction/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in port.",
+    "html/elements/button/formaction/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in port.",
     "html/elements/button/formaction/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/button/formaction/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in query: space is not allowed.",
-    "html/elements/button/formaction/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in query: space is not allowed.",
+    "html/elements/button/formaction/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in query: not a URL code point.",
+    "html/elements/button/formaction/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in query: not a URL code point.",
     "html/elements/button/formaction/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.",
     "html/elements/button/formaction/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.",
     "html/elements/button/formaction/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/button/formaction/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.",
-    "html/elements/button/formaction/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.",
+    "html/elements/button/formaction/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
+    "html/elements/button/formaction/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/button/formaction/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/button/formaction/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/button/formaction/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/button/formaction/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/button/formaction/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/button/formaction/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/button/formaction/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/button/formaction/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/button/formaction/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/button/formaction/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: syntax error",
-    "html/elements/button/formaction/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
-    "html/elements/button/formaction/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
-    "html/elements/button/formaction/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
-    "html/elements/button/formaction/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in scheme data: tab is not allowed.",
+    "html/elements/button/formaction/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/button/formaction/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/button/formaction/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/button/formaction/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
     "html/elements/button/formaction/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/button/formaction/userinfo-password-bad-chars-novalid.html": "Bad value \u201chttp://&afoo((b]c@d:2/\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in user or password: \u201c]\u201d is not allowed.",
-    "html/elements/button/formaction/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.",
+    "html/elements/button/formaction/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&amp;\u201d.)",
+    "html/elements/button/formaction/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in user or password: not a URL code point.",
     "html/elements/button/formaction/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.",
-    "html/elements/button/formaction/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.",
+    "html/elements/button/formaction/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in user or password: not a URL code point.",
     "html/elements/canvas/model-novalid.html": "Element \u201cp\u201d not allowed in this context. (The parent was element \u201ccanvas\u201d.) Suppressing further errors from this subtree.",
     "html/elements/cite/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.",
     "html/elements/code/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.",
-    "html/elements/del/cite/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in fragment: \u201c\\\u201d is not allowed.",
-    "html/elements/del/cite/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in fragment: \u201c#\u201d is not allowed.",
-    "html/elements/del/cite/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in fragment: space is not allowed.",
+    "html/elements/del/cite/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
+    "html/elements/del/cite/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
+    "html/elements/del/cite/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
     "html/elements/del/cite/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/del/cite/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
-    "html/elements/del/cite/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
+    "html/elements/del/cite/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
+    "html/elements/del/cite/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
     "html/elements/del/cite/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/del/cite/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/del/cite/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/del/cite/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Invalid host: Illegal character.",
     "html/elements/del/cite/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.",
     "html/elements/del/cite/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..",
     "html/elements/del/cite/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/del/cite/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Invalid host: Illegal character in domain: space is not allowed.",
-    "html/elements/del/cite/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
+    "html/elements/del/cite/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Invalid host: Domain contains invalid character:  .",
+    "html/elements/del/cite/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in port.",
     "html/elements/del/cite/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/del/cite/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
-    "html/elements/del/cite/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
+    "html/elements/del/cite/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
+    "html/elements/del/cite/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
     "html/elements/del/cite/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.",
-    "html/elements/del/cite/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/del/cite/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/del/cite/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
     "html/elements/del/cite/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
     "html/elements/del/cite/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/del/cite/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/del/cite/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/del/cite/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.",
-    "html/elements/del/cite/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in path segment: \u201c[\u201d is not allowed.",
+    "html/elements/del/cite/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/del/cite/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/del/cite/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/del/cite/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/del/cite/path-u0091-novalid.html": "Forbidden code point U+0091.",
     "html/elements/del/cite/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/del/cite/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
-    "html/elements/del/cite/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
-    "html/elements/del/cite/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in port: \u201c-\u201d is not allowed.",
-    "html/elements/del/cite/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in port: \u201cf\u201d is not allowed.",
+    "html/elements/del/cite/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in port.",
+    "html/elements/del/cite/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in port.",
+    "html/elements/del/cite/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in port.",
+    "html/elements/del/cite/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in port.",
     "html/elements/del/cite/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/del/cite/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in port: \u201cb\u201d is not allowed.",
-    "html/elements/del/cite/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in port: \u201c \u201d is not allowed.",
+    "html/elements/del/cite/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in port.",
+    "html/elements/del/cite/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in port.",
     "html/elements/del/cite/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/del/cite/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in query: space is not allowed.",
-    "html/elements/del/cite/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in query: space is not allowed.",
+    "html/elements/del/cite/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in query: not a URL code point.",
+    "html/elements/del/cite/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in query: not a URL code point.",
     "html/elements/del/cite/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.",
     "html/elements/del/cite/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.",
     "html/elements/del/cite/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/del/cite/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.",
-    "html/elements/del/cite/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.",
+    "html/elements/del/cite/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
+    "html/elements/del/cite/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/del/cite/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/del/cite/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/del/cite/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/del/cite/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/del/cite/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/del/cite/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/del/cite/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/del/cite/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/del/cite/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/del/cite/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: syntax error",
-    "html/elements/del/cite/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
-    "html/elements/del/cite/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
-    "html/elements/del/cite/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
-    "html/elements/del/cite/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in scheme data: tab is not allowed.",
+    "html/elements/del/cite/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/del/cite/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/del/cite/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/del/cite/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
     "html/elements/del/cite/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/del/cite/userinfo-password-bad-chars-novalid.html": "Bad value \u201chttp://&afoo((b]c@d:2/\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in user or password: \u201c]\u201d is not allowed.",
-    "html/elements/del/cite/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.",
+    "html/elements/del/cite/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&amp;\u201d.)",
+    "html/elements/del/cite/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in user or password: not a URL code point.",
     "html/elements/del/cite/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.",
-    "html/elements/del/cite/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.",
+    "html/elements/del/cite/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in user or password: not a URL code point.",
     "html/elements/del/date-0004-02-29-haswarn.html": "Bad value \u201c0004-02-29\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad date: Year may be mistyped. Bad datetime with timezone: The literal did not satisfy the datetime with timezone format.",
     "html/elements/del/date-0005-02-29-novalid.html": "Bad value \u201c0005-02-29\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.",
     "html/elements/del/date-0214-09-29-haswarn.html": "Bad value \u201c0214-09-29\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad date: Year may be mistyped. Bad datetime with timezone: The literal did not satisfy the datetime with timezone format.",
     "html/elements/del/date-1900-02-29-novalid.html": "Bad value \u201c1900-02-29\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.",
     "html/elements/del/date-1969-02-29-novalid.html": "Bad value \u201c1969-02-29\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.",
     "html/elements/del/date-20014-09-29-haswarn.html": "Bad value \u201c20014-09-29\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad date: Year may be mistyped. Bad datetime with timezone: The literal did not satisfy the datetime with timezone format.",
     "html/elements/del/date-2014-02-29-novalid.html": "Bad value \u201c2014-02-29\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.",
     "html/elements/del/date-2100-02-29-novalid.html": "Bad value \u201c2100-02-29\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.",
@@ -611,701 +611,701 @@
     "html/elements/dfn/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.",
     "html/elements/dialog/model-novalid.html": "Element \u201cdt\u201d not allowed in this context. (The parent was element \u201cdialog\u201d.) Suppressing further errors from this subtree.",
     "html/elements/div/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.",
     "html/elements/dl/model-novalid.html": "Duplicate ID \u201cid\u201d.",
     "html/elements/em/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.",
     "html/elements/embed/height-novalid.html": "Bad value \u201c20%\u201d for attribute \u201cheight\u201d on element \u201cembed\u201d: Bad non-negative integer: Expected a digit but saw \u201c%\u201d instead.",
     "html/elements/embed/src-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Must be non-empty.",
     "html/elements/embed/src-whitespace-only-novalid.html": "Bad value \u201c\t \n\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Must be non-empty.",
-    "html/elements/embed/src/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in fragment: \u201c\\\u201d is not allowed.",
-    "html/elements/embed/src/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in fragment: \u201c#\u201d is not allowed.",
-    "html/elements/embed/src/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in fragment: space is not allowed.",
+    "html/elements/embed/src/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
+    "html/elements/embed/src/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
+    "html/elements/embed/src/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
     "html/elements/embed/src/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/embed/src/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
-    "html/elements/embed/src/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
+    "html/elements/embed/src/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
+    "html/elements/embed/src/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
     "html/elements/embed/src/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/embed/src/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/embed/src/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/embed/src/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Invalid host: Illegal character.",
     "html/elements/embed/src/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.",
     "html/elements/embed/src/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..",
     "html/elements/embed/src/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/embed/src/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Invalid host: Illegal character in domain: space is not allowed.",
-    "html/elements/embed/src/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
+    "html/elements/embed/src/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Invalid host: Domain contains invalid character:  .",
+    "html/elements/embed/src/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in port.",
     "html/elements/embed/src/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/embed/src/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
-    "html/elements/embed/src/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
+    "html/elements/embed/src/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
+    "html/elements/embed/src/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
     "html/elements/embed/src/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.",
-    "html/elements/embed/src/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/embed/src/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/embed/src/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
     "html/elements/embed/src/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
     "html/elements/embed/src/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/embed/src/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/embed/src/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/embed/src/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.",
-    "html/elements/embed/src/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in path segment: \u201c[\u201d is not allowed.",
+    "html/elements/embed/src/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/embed/src/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/embed/src/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/embed/src/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/embed/src/path-u0091-novalid.html": "Forbidden code point U+0091.",
     "html/elements/embed/src/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/embed/src/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
-    "html/elements/embed/src/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
-    "html/elements/embed/src/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in port: \u201c-\u201d is not allowed.",
-    "html/elements/embed/src/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in port: \u201cf\u201d is not allowed.",
+    "html/elements/embed/src/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in port.",
+    "html/elements/embed/src/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in port.",
+    "html/elements/embed/src/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in port.",
+    "html/elements/embed/src/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in port.",
     "html/elements/embed/src/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/embed/src/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in port: \u201cb\u201d is not allowed.",
-    "html/elements/embed/src/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in port: \u201c \u201d is not allowed.",
+    "html/elements/embed/src/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in port.",
+    "html/elements/embed/src/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in port.",
     "html/elements/embed/src/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/embed/src/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in query: space is not allowed.",
-    "html/elements/embed/src/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in query: space is not allowed.",
+    "html/elements/embed/src/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in query: not a URL code point.",
+    "html/elements/embed/src/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in query: not a URL code point.",
     "html/elements/embed/src/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.",
     "html/elements/embed/src/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.",
     "html/elements/embed/src/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/embed/src/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.",
-    "html/elements/embed/src/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.",
+    "html/elements/embed/src/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
+    "html/elements/embed/src/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/embed/src/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/embed/src/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/embed/src/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/embed/src/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/embed/src/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/embed/src/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/embed/src/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/embed/src/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/embed/src/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/embed/src/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: syntax error",
-    "html/elements/embed/src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
-    "html/elements/embed/src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
-    "html/elements/embed/src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
-    "html/elements/embed/src/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in scheme data: tab is not allowed.",
+    "html/elements/embed/src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/embed/src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/embed/src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/embed/src/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
     "html/elements/embed/src/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/embed/src/userinfo-password-bad-chars-novalid.html": "Bad value \u201chttp://&afoo((b]c@d:2/\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in user or password: \u201c]\u201d is not allowed.",
-    "html/elements/embed/src/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.",
+    "html/elements/embed/src/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&amp;\u201d.)",
+    "html/elements/embed/src/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in user or password: not a URL code point.",
     "html/elements/embed/src/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.",
-    "html/elements/embed/src/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.",
+    "html/elements/embed/src/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in user or password: not a URL code point.",
     "html/elements/embed/type-novalid.html": "Bad value \u201cfoo\u201d for attribute \u201ctype\u201d on element \u201cembed\u201d: Bad MIME type: Subtype missing.",
     "html/elements/embed/width-novalid.html": "Bad value \u201c20%\u201d for attribute \u201cwidth\u201d on element \u201cembed\u201d: Bad non-negative integer: Expected a digit but saw \u201c%\u201d instead.",
     "html/elements/footer/nested-footer-novalid.html": "The element \u201cfooter\u201d must not appear as a descendant of the \u201cfooter\u201d element.",
     "html/elements/footer/nested-header-novalid.html": "The element \u201cheader\u201d must not appear as a descendant of the \u201cfooter\u201d element.",
     "html/elements/form/action-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Must be non-empty.",
     "html/elements/form/action-whitespace-only-novalid.html": "Bad value \u201c\t \n\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Must be non-empty.",
-    "html/elements/form/action/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in fragment: \u201c\\\u201d is not allowed.",
-    "html/elements/form/action/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in fragment: \u201c#\u201d is not allowed.",
-    "html/elements/form/action/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in fragment: space is not allowed.",
+    "html/elements/form/action/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
+    "html/elements/form/action/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
+    "html/elements/form/action/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
     "html/elements/form/action/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/form/action/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
-    "html/elements/form/action/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
+    "html/elements/form/action/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
+    "html/elements/form/action/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
     "html/elements/form/action/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/form/action/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/form/action/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/form/action/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Invalid host: Illegal character.",
     "html/elements/form/action/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.",
     "html/elements/form/action/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..",
     "html/elements/form/action/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/form/action/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Invalid host: Illegal character in domain: space is not allowed.",
-    "html/elements/form/action/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
+    "html/elements/form/action/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Invalid host: Domain contains invalid character:  .",
+    "html/elements/form/action/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in port.",
     "html/elements/form/action/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/form/action/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
-    "html/elements/form/action/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
+    "html/elements/form/action/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
+    "html/elements/form/action/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
     "html/elements/form/action/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.",
-    "html/elements/form/action/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/form/action/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/form/action/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
     "html/elements/form/action/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
     "html/elements/form/action/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/form/action/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/form/action/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/form/action/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.",
-    "html/elements/form/action/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in path segment: \u201c[\u201d is not allowed.",
+    "html/elements/form/action/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/form/action/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/form/action/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/form/action/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/form/action/path-u0091-novalid.html": "Forbidden code point U+0091.",
     "html/elements/form/action/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/form/action/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
-    "html/elements/form/action/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
-    "html/elements/form/action/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in port: \u201c-\u201d is not allowed.",
-    "html/elements/form/action/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in port: \u201cf\u201d is not allowed.",
+    "html/elements/form/action/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in port.",
+    "html/elements/form/action/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in port.",
+    "html/elements/form/action/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in port.",
+    "html/elements/form/action/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in port.",
     "html/elements/form/action/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/form/action/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in port: \u201cb\u201d is not allowed.",
-    "html/elements/form/action/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in port: \u201c \u201d is not allowed.",
+    "html/elements/form/action/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in port.",
+    "html/elements/form/action/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in port.",
     "html/elements/form/action/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/form/action/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in query: space is not allowed.",
-    "html/elements/form/action/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in query: space is not allowed.",
+    "html/elements/form/action/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in query: not a URL code point.",
+    "html/elements/form/action/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in query: not a URL code point.",
     "html/elements/form/action/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.",
     "html/elements/form/action/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.",
     "html/elements/form/action/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/form/action/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.",
-    "html/elements/form/action/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.",
+    "html/elements/form/action/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
+    "html/elements/form/action/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/form/action/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/form/action/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/form/action/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/form/action/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/form/action/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/form/action/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/form/action/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/form/action/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/form/action/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/form/action/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: syntax error",
-    "html/elements/form/action/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
-    "html/elements/form/action/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
-    "html/elements/form/action/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
-    "html/elements/form/action/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in scheme data: tab is not allowed.",
+    "html/elements/form/action/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/form/action/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/form/action/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/form/action/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
     "html/elements/form/action/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/form/action/userinfo-password-bad-chars-novalid.html": "Bad value \u201chttp://&afoo((b]c@d:2/\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in user or password: \u201c]\u201d is not allowed.",
-    "html/elements/form/action/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.",
+    "html/elements/form/action/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&amp;\u201d.)",
+    "html/elements/form/action/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in user or password: not a URL code point.",
     "html/elements/form/action/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.",
-    "html/elements/form/action/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.",
+    "html/elements/form/action/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in user or password: not a URL code point.",
     "html/elements/h1/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.",
     "html/elements/h2/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.",
     "html/elements/h3/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.",
     "html/elements/h4/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.",
     "html/elements/h5/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.",
     "html/elements/h6/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.",
     "html/elements/header/nested-footer-novalid.html": "The element \u201cfooter\u201d must not appear as a descendant of the \u201cheader\u201d element.",
     "html/elements/header/nested-header-novalid.html": "The element \u201cheader\u201d must not appear as a descendant of the \u201cheader\u201d element.",
     "html/elements/hr/model-novalid.html": "No \u201cp\u201d element in scope but a \u201cp\u201d end tag seen.",
     "html/elements/html/manifest-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Must be non-empty.",
     "html/elements/html/manifest-whitespace-only-novalid.html": "Bad value \u201c\t \n\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Must be non-empty.",
-    "html/elements/html/manifest/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in fragment: \u201c\\\u201d is not allowed.",
-    "html/elements/html/manifest/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in fragment: \u201c#\u201d is not allowed.",
-    "html/elements/html/manifest/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in fragment: space is not allowed.",
+    "html/elements/html/manifest/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
+    "html/elements/html/manifest/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
+    "html/elements/html/manifest/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
     "html/elements/html/manifest/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/html/manifest/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
-    "html/elements/html/manifest/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
+    "html/elements/html/manifest/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
+    "html/elements/html/manifest/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
     "html/elements/html/manifest/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/html/manifest/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/html/manifest/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/html/manifest/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Invalid host: Illegal character.",
     "html/elements/html/manifest/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.",
     "html/elements/html/manifest/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..",
     "html/elements/html/manifest/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/html/manifest/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Invalid host: Illegal character in domain: space is not allowed.",
-    "html/elements/html/manifest/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
+    "html/elements/html/manifest/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Invalid host: Domain contains invalid character:  .",
+    "html/elements/html/manifest/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in port.",
     "html/elements/html/manifest/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/html/manifest/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
-    "html/elements/html/manifest/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
+    "html/elements/html/manifest/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
+    "html/elements/html/manifest/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
     "html/elements/html/manifest/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.",
-    "html/elements/html/manifest/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/html/manifest/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/html/manifest/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
     "html/elements/html/manifest/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
     "html/elements/html/manifest/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/html/manifest/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/html/manifest/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/html/manifest/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.",
-    "html/elements/html/manifest/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in path segment: \u201c[\u201d is not allowed.",
+    "html/elements/html/manifest/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/html/manifest/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/html/manifest/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/html/manifest/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/html/manifest/path-u0091-novalid.html": "Forbidden code point U+0091.",
     "html/elements/html/manifest/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/html/manifest/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
-    "html/elements/html/manifest/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
-    "html/elements/html/manifest/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in port: \u201c-\u201d is not allowed.",
-    "html/elements/html/manifest/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in port: \u201cf\u201d is not allowed.",
+    "html/elements/html/manifest/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in port.",
+    "html/elements/html/manifest/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in port.",
+    "html/elements/html/manifest/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in port.",
+    "html/elements/html/manifest/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in port.",
     "html/elements/html/manifest/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/html/manifest/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in port: \u201cb\u201d is not allowed.",
-    "html/elements/html/manifest/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in port: \u201c \u201d is not allowed.",
+    "html/elements/html/manifest/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in port.",
+    "html/elements/html/manifest/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in port.",
     "html/elements/html/manifest/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/html/manifest/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in query: space is not allowed.",
-    "html/elements/html/manifest/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in query: space is not allowed.",
+    "html/elements/html/manifest/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in query: not a URL code point.",
+    "html/elements/html/manifest/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in query: not a URL code point.",
     "html/elements/html/manifest/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.",
     "html/elements/html/manifest/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.",
     "html/elements/html/manifest/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/html/manifest/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.",
-    "html/elements/html/manifest/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.",
+    "html/elements/html/manifest/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
+    "html/elements/html/manifest/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/html/manifest/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/html/manifest/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/html/manifest/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/html/manifest/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/html/manifest/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/html/manifest/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/html/manifest/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/html/manifest/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/html/manifest/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/html/manifest/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: syntax error",
-    "html/elements/html/manifest/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
-    "html/elements/html/manifest/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
-    "html/elements/html/manifest/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
-    "html/elements/html/manifest/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in scheme data: tab is not allowed.",
+    "html/elements/html/manifest/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/html/manifest/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/html/manifest/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/html/manifest/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
     "html/elements/html/manifest/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/html/manifest/userinfo-password-bad-chars-novalid.html": "Bad value \u201chttp://&afoo((b]c@d:2/\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in user or password: \u201c]\u201d is not allowed.",
-    "html/elements/html/manifest/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.",
+    "html/elements/html/manifest/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&amp;\u201d.)",
+    "html/elements/html/manifest/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in user or password: not a URL code point.",
     "html/elements/html/manifest/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.",
-    "html/elements/html/manifest/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.",
+    "html/elements/html/manifest/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in user or password: not a URL code point.",
     "html/elements/i/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.",
     "html/elements/iframe/model-novalid.html": "The \u201cframeborder\u201d attribute on the \u201ciframe\u201d element is obsolete. Use CSS instead.",
     "html/elements/iframe/src-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Must be non-empty.",
     "html/elements/iframe/src-whitespace-only-novalid.html": "Bad value \u201c\t \n\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Must be non-empty.",
-    "html/elements/iframe/src/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in fragment: \u201c\\\u201d is not allowed.",
-    "html/elements/iframe/src/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in fragment: \u201c#\u201d is not allowed.",
-    "html/elements/iframe/src/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in fragment: space is not allowed.",
+    "html/elements/iframe/src/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
+    "html/elements/iframe/src/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
+    "html/elements/iframe/src/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
     "html/elements/iframe/src/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/iframe/src/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
-    "html/elements/iframe/src/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
+    "html/elements/iframe/src/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
+    "html/elements/iframe/src/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
     "html/elements/iframe/src/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/iframe/src/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/iframe/src/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/iframe/src/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Invalid host: Illegal character.",
     "html/elements/iframe/src/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.",
     "html/elements/iframe/src/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..",
     "html/elements/iframe/src/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/iframe/src/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Invalid host: Illegal character in domain: space is not allowed.",
-    "html/elements/iframe/src/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
+    "html/elements/iframe/src/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Invalid host: Domain contains invalid character:  .",
+    "html/elements/iframe/src/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in port.",
     "html/elements/iframe/src/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/iframe/src/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
-    "html/elements/iframe/src/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
+    "html/elements/iframe/src/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
+    "html/elements/iframe/src/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
     "html/elements/iframe/src/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.",
-    "html/elements/iframe/src/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/iframe/src/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/iframe/src/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
     "html/elements/iframe/src/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
     "html/elements/iframe/src/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/iframe/src/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/iframe/src/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/iframe/src/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.",
-    "html/elements/iframe/src/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in path segment: \u201c[\u201d is not allowed.",
+    "html/elements/iframe/src/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/iframe/src/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/iframe/src/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/iframe/src/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/iframe/src/path-u0091-novalid.html": "Forbidden code point U+0091.",
     "html/elements/iframe/src/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/iframe/src/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
-    "html/elements/iframe/src/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
-    "html/elements/iframe/src/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in port: \u201c-\u201d is not allowed.",
-    "html/elements/iframe/src/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in port: \u201cf\u201d is not allowed.",
+    "html/elements/iframe/src/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in port.",
+    "html/elements/iframe/src/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in port.",
+    "html/elements/iframe/src/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in port.",
+    "html/elements/iframe/src/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in port.",
     "html/elements/iframe/src/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/iframe/src/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in port: \u201cb\u201d is not allowed.",
-    "html/elements/iframe/src/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in port: \u201c \u201d is not allowed.",
+    "html/elements/iframe/src/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in port.",
+    "html/elements/iframe/src/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in port.",
     "html/elements/iframe/src/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/iframe/src/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in query: space is not allowed.",
-    "html/elements/iframe/src/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in query: space is not allowed.",
+    "html/elements/iframe/src/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in query: not a URL code point.",
+    "html/elements/iframe/src/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in query: not a URL code point.",
     "html/elements/iframe/src/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.",
     "html/elements/iframe/src/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.",
     "html/elements/iframe/src/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/iframe/src/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.",
-    "html/elements/iframe/src/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.",
+    "html/elements/iframe/src/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
+    "html/elements/iframe/src/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/iframe/src/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/iframe/src/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/iframe/src/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/iframe/src/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/iframe/src/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/iframe/src/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/iframe/src/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/iframe/src/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/iframe/src/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/iframe/src/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: syntax error",
-    "html/elements/iframe/src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
-    "html/elements/iframe/src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
-    "html/elements/iframe/src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
-    "html/elements/iframe/src/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in scheme data: tab is not allowed.",
+    "html/elements/iframe/src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/iframe/src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/iframe/src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/iframe/src/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
     "html/elements/iframe/src/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/iframe/src/userinfo-password-bad-chars-novalid.html": "Bad value \u201chttp://&afoo((b]c@d:2/\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in user or password: \u201c]\u201d is not allowed.",
-    "html/elements/iframe/src/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.",
+    "html/elements/iframe/src/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&amp;\u201d.)",
+    "html/elements/iframe/src/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in user or password: not a URL code point.",
     "html/elements/iframe/src/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.",
-    "html/elements/iframe/src/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.",
+    "html/elements/iframe/src/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in user or password: not a URL code point.",
     "html/elements/img/model-novalid.html": "Bad value \u201curl\u201d for attribute \u201cusemap\u201d on element \u201cimg\u201d: Bad hash-name reference: A hash-name reference must start with \u201c#\u201d.",
     "html/elements/img/src-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Must be non-empty.",
     "html/elements/img/src-whitespace-only-novalid.html": "Bad value \u201c\t \n\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Must be non-empty.",
-    "html/elements/img/src/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in fragment: \u201c\\\u201d is not allowed.",
-    "html/elements/img/src/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in fragment: \u201c#\u201d is not allowed.",
-    "html/elements/img/src/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in fragment: space is not allowed.",
+    "html/elements/img/src/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
+    "html/elements/img/src/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
+    "html/elements/img/src/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
     "html/elements/img/src/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/img/src/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
-    "html/elements/img/src/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
+    "html/elements/img/src/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
+    "html/elements/img/src/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
     "html/elements/img/src/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/img/src/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/img/src/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/img/src/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Invalid host: Illegal character.",
     "html/elements/img/src/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.",
     "html/elements/img/src/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..",
     "html/elements/img/src/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/img/src/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Invalid host: Illegal character in domain: space is not allowed.",
-    "html/elements/img/src/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
+    "html/elements/img/src/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Invalid host: Domain contains invalid character:  .",
+    "html/elements/img/src/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in port.",
     "html/elements/img/src/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/img/src/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
-    "html/elements/img/src/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
+    "html/elements/img/src/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
+    "html/elements/img/src/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
     "html/elements/img/src/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.",
-    "html/elements/img/src/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/img/src/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/img/src/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
     "html/elements/img/src/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
     "html/elements/img/src/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/img/src/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/img/src/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/img/src/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.",
-    "html/elements/img/src/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in path segment: \u201c[\u201d is not allowed.",
+    "html/elements/img/src/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/img/src/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/img/src/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/img/src/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/img/src/path-u0091-novalid.html": "Forbidden code point U+0091.",
     "html/elements/img/src/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/img/src/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
-    "html/elements/img/src/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
-    "html/elements/img/src/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in port: \u201c-\u201d is not allowed.",
-    "html/elements/img/src/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in port: \u201cf\u201d is not allowed.",
+    "html/elements/img/src/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in port.",
+    "html/elements/img/src/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in port.",
+    "html/elements/img/src/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in port.",
+    "html/elements/img/src/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in port.",
     "html/elements/img/src/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/img/src/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in port: \u201cb\u201d is not allowed.",
-    "html/elements/img/src/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in port: \u201c \u201d is not allowed.",
+    "html/elements/img/src/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in port.",
+    "html/elements/img/src/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in port.",
     "html/elements/img/src/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/img/src/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in query: space is not allowed.",
-    "html/elements/img/src/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in query: space is not allowed.",
+    "html/elements/img/src/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in query: not a URL code point.",
+    "html/elements/img/src/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in query: not a URL code point.",
     "html/elements/img/src/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.",
     "html/elements/img/src/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.",
     "html/elements/img/src/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/img/src/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.",
-    "html/elements/img/src/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.",
+    "html/elements/img/src/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
+    "html/elements/img/src/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/img/src/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/img/src/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/img/src/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/img/src/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/img/src/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/img/src/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/img/src/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/img/src/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/img/src/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Expected a slash (\"/\").",
     "html/elements/img/src/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: syntax error",
-    "html/elements/img/src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
-    "html/elements/img/src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
-    "html/elements/img/src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
-    "html/elements/img/src/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in scheme data: tab is not allowed.",
+    "html/elements/img/src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/img/src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/img/src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
+    "html/elements/img/src/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in scheme data: not a URL code point.",
     "html/elements/img/src/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/img/src/userinfo-password-bad-chars-novalid.html": "Bad value \u201chttp://&afoo((b]c@d:2/\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in user or password: \u201c]\u201d is not allowed.",
-    "html/elements/img/src/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.",
+    "html/elements/img/src/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&amp;\u201d.)",
+    "html/elements/img/src/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in user or password: not a URL code point.",
     "html/elements/img/src/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.",
-    "html/elements/img/src/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.",
+    "html/elements/img/src/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in user or password: not a URL code point.",
     "html/elements/img/usemap-bad-value-novalid.html": "Bad value \u201c#\u201d for attribute \u201cusemap\u201d on element \u201cimg\u201d: Bad hash-name reference: A hash-name reference must have at least one character after \u201c#\u201d.",
     "html/elements/img/width-height-negative-novalid.html": "Bad value \u201c-1\u201d for attribute \u201cwidth\u201d on element \u201cimg\u201d: Bad non-negative integer: Expected a digit but saw \u201c-\u201d instead.",
     "html/elements/input/list-novalid.html": "The \u201clist\u201d attribute of the \u201cinput\u201d element must refer to a \u201cdatalist\u201d element.",
     "html/elements/input/pattern-asterisk-novalid.html": "Bad value \u201c*\u201d for attribute \u201cpattern\u201d on element \u201cinput\u201d: Bad pattern: Invalid quantifier *",
     "html/elements/input/pattern-paren-novalid.html": "Bad value \u201c(\u201d for attribute \u201cpattern\u201d on element \u201cinput\u201d: Bad pattern: Unterminated parenthetical ",
     "html/elements/input/type-image-formaction-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Must be non-empty.",
     "html/elements/input/type-image-formaction-whitespace-only-novalid.html": "Bad value \u201c\t \n\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Must be non-empty.",
-    "html/elements/input/type-image-formaction/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in fragment: \u201c\\\u201d is not allowed.",
-    "html/elements/input/type-image-formaction/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in fragment: \u201c#\u201d is not allowed.",
-    "html/elements/input/type-image-formaction/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in fragment: space is not allowed.",
+    "html/elements/input/type-image-formaction/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
+    "html/elements/input/type-image-formaction/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
+    "html/elements/input/type-image-formaction/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in fragment: not a URL code point.",
     "html/elements/input/type-image-formaction/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/input/type-image-formaction/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
-    "html/elements/input/type-image-formaction/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
+    "html/elements/input/type-image-formaction/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
+    "html/elements/input/type-image-formaction/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
     "html/elements/input/type-image-formaction/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/input/type-image-formaction/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/input/type-image-formaction/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Invalid host: empty host.",
     "html/elements/input/type-image-formaction/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Invalid host: Illegal character.",
     "html/elements/input/type-image-formaction/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.",
     "html/elements/input/type-image-formaction/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..",
     "html/elements/input/type-image-formaction/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/input/type-image-formaction/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Invalid host: Illegal character in domain: space is not allowed.",
-    "html/elements/input/type-image-formaction/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
+    "html/elements/input/type-image-formaction/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Invalid host: Domain contains invalid character:  .",
+    "html/elements/input/type-image-formaction/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port.",
     "html/elements/input/type-image-formaction/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/input/type-image-formaction/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
-    "html/elements/input/type-image-formaction/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.",
+    "html/elements/input/type-image-formaction/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
+    "html/elements/input/type-image-formaction/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Invalid host: Domain contains invalid character: %.",
     "html/elements/input/type-image-formaction/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.",
-    "html/elements/input/type-image-formaction/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/input/type-image-formaction/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/input/type-image-formaction/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
     "html/elements/input/type-image-formaction/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
     "html/elements/input/type-image-formaction/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/input/type-image-formaction/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/input/type-image-formaction/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/input/type-image-formaction/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.",
-    "html/elements/input/type-image-formaction/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: \u201c[\u201d is not allowed.",
+    "html/elements/input/type-image-formaction/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/input/type-image-formaction/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/input/type-image-formaction/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: space is not allowed.",
+    "html/elements/input/type-image-formaction/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/input/type-image-formaction/path-u0091-novalid.html": "Forbidden code point U+0091.",
     "html/elements/input/type-image-formaction/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/input/type-image-formaction/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
-    "html/elements/input/type-image-formaction/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.",
-    "html/elements/input/type-image-formaction/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port: \u201c-\u201d is not allowed.",
-    "html/elements/input/type-image-formaction/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port: \u201cf\u201d is not allowed.",
+    "html/elements/input/type-image-formaction/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port.",
+    "html/elements/input/type-image-formaction/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port.",
+    "html/elements/input/type-image-formaction/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port.",
+    "html/elements/input/type-image-formaction/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port.",
     "html/elements/input/type-image-formaction/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/input/type-image-formaction/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port: \u201cb\u201d is not allowed.",
-    "html/elements/input/type-image-formaction/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port: \u201c \u201d is not allowed.",
+    "html/elements/input/type-image-formaction/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port.",
+    "html/elements/input/type-image-formaction/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port.",
     "html/elements/input/type-image-formaction/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Tab, new line or carriage return found.",
-    "html/elements/input/type-image-formaction/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in query: space is not allowed.",
-    "html/elements/input/type-image-formaction/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in query: space is not allowed.",
+    "html/elements/input/type-image-formaction/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in query: not a URL code point.",
+    "html/elements/input/type-image-formaction/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in query: not a URL code point.",
     "html/elements/input/type-image-formaction/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.",
     "html/elements/input/type-image-formaction/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.",
     "html/elements/input/type-image-formaction/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.",
-    "html/elements/input/type-image-formaction/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.",
-    "html/elements/input/type-image-formaction/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.",
+    "html/elements/input/type-image-formaction/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
+    "html/elements/input/type-image-formaction/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: not a URL code point.",
     "html/elements/input/type-image-formaction/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201cformaction\u201d on e