From 41c582e943b05324519f42e464273fffb5e19db7 Mon Sep 17 00:00:00 2001 From: Jon Coppeard Date: Fri, 18 Dec 2015 12:10:42 +0000 Subject: [PATCH 001/101] Bug 1233121 - Refactor ObjectBox tracing r=terrence --- js/src/frontend/ParseNode.cpp | 40 ++++++++++++++++++++------------- js/src/frontend/ParseNode.h | 4 +++- js/src/frontend/Parser.cpp | 2 +- js/src/frontend/SharedContext.h | 4 ++++ 4 files changed, 33 insertions(+), 17 deletions(-) diff --git a/js/src/frontend/ParseNode.cpp b/js/src/frontend/ParseNode.cpp index 245831c077f1..3a87e2db7fd9 100644 --- a/js/src/frontend/ParseNode.cpp +++ b/js/src/frontend/ParseNode.cpp @@ -1162,22 +1162,32 @@ ObjectBox::asModuleBox() return static_cast(this); } +/* static */ void +ObjectBox::TraceList(JSTracer* trc, ObjectBox* listHead) +{ + for (ObjectBox* box = listHead; box; box = box->traceLink) + box->trace(trc); +} + void ObjectBox::trace(JSTracer* trc) { - ObjectBox* box = this; - while (box) { - TraceRoot(trc, &box->object, "parser.object"); - if (box->isFunctionBox()) { - FunctionBox* funbox = box->asFunctionBox(); - funbox->bindings.trace(trc); - if (funbox->enclosingStaticScope_) - TraceRoot(trc, &funbox->enclosingStaticScope_, "funbox-enclosingStaticScope"); - } else if (box->isModuleBox()) { - ModuleBox* modulebox = box->asModuleBox(); - modulebox->bindings.trace(trc); - modulebox->exportNames.trace(trc); - } - box = box->traceLink; - } + TraceRoot(trc, &object, "parser.object"); +} + +void +FunctionBox::trace(JSTracer* trc) +{ + ObjectBox::trace(trc); + bindings.trace(trc); + if (enclosingStaticScope_) + TraceRoot(trc, &enclosingStaticScope_, "funbox-enclosingStaticScope"); +} + +void +ModuleBox::trace(JSTracer* trc) +{ + ObjectBox::trace(trc); + bindings.trace(trc); + exportNames.trace(trc); } diff --git a/js/src/frontend/ParseNode.h b/js/src/frontend/ParseNode.h index d70a0689295c..471af411a8fc 100644 --- a/js/src/frontend/ParseNode.h +++ b/js/src/frontend/ParseNode.h @@ -1713,7 +1713,9 @@ class ObjectBox FunctionBox* asFunctionBox(); bool isModuleBox() { return object->is(); } ModuleBox* asModuleBox(); - void trace(JSTracer* trc); + virtual void trace(JSTracer* trc); + + static void TraceList(JSTracer* trc, ObjectBox* listHead); protected: friend struct CGObjectList; diff --git a/js/src/frontend/Parser.cpp b/js/src/frontend/Parser.cpp index 248218ca861e..e1db8d057143 100644 --- a/js/src/frontend/Parser.cpp +++ b/js/src/frontend/Parser.cpp @@ -852,7 +852,7 @@ template void Parser::trace(JSTracer* trc) { - traceListHead->trace(trc); + ObjectBox::TraceList(trc, traceListHead); } void diff --git a/js/src/frontend/SharedContext.h b/js/src/frontend/SharedContext.h index 1cf641180678..177e7edb4b9e 100644 --- a/js/src/frontend/SharedContext.h +++ b/js/src/frontend/SharedContext.h @@ -411,6 +411,8 @@ class FunctionBox : public ObjectBox, public SharedContext isDerivedClassConstructor() || isGenerator(); } + + void trace(JSTracer* trc) override; }; class ModuleBox : public ObjectBox, public SharedContext @@ -426,6 +428,8 @@ class ModuleBox : public ObjectBox, public SharedContext ObjectBox* toObjectBox() override { return this; } ModuleObject* module() const { return &object->as(); } JSObject* staticScope() const override { return module(); } + + void trace(JSTracer* trc) override; }; inline FunctionBox* From f0cf897a7be9e1e8f7460153c748068db3d73eaa Mon Sep 17 00:00:00 2001 From: Jon Coppeard Date: Fri, 18 Dec 2015 12:11:20 +0000 Subject: [PATCH 002/101] Bug 1233124 - Remove mis-named duplicate typedefs for rooted import and export entries r=terrence --- js/src/builtin/ModuleObject.cpp | 15 ++++++--------- js/src/builtin/ModuleObject.h | 3 +++ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/js/src/builtin/ModuleObject.cpp b/js/src/builtin/ModuleObject.cpp index 33d4e344d580..1d2085bf77f6 100644 --- a/js/src/builtin/ModuleObject.cpp +++ b/js/src/builtin/ModuleObject.cpp @@ -16,9 +16,6 @@ using namespace js; using namespace js::frontend; -typedef JS::Rooted RootedImportEntry; -typedef JS::Rooted RootedExportEntry; - template static bool ModuleValueGetterImpl(JSContext* cx, const CallArgs& args) @@ -121,7 +118,7 @@ ImportEntryObject::create(JSContext* cx, if (!obj) return nullptr; - RootedImportEntry self(cx, &obj->as()); + RootedImportEntryObject self(cx, &obj->as()); self->initReservedSlot(ModuleRequestSlot, StringValue(moduleRequest)); self->initReservedSlot(ImportNameSlot, StringValue(importName)); self->initReservedSlot(LocalNameSlot, StringValue(localName)); @@ -194,7 +191,7 @@ ExportEntryObject::create(JSContext* cx, if (!obj) return nullptr; - RootedExportEntry self(cx, &obj->as()); + RootedExportEntryObject self(cx, &obj->as()); self->initReservedSlot(ExportNameSlot, StringOrNullValue(maybeExportName)); self->initReservedSlot(ModuleRequestSlot, StringOrNullValue(maybeModuleRequest)); self->initReservedSlot(ImportNameSlot, StringOrNullValue(maybeImportName)); @@ -941,9 +938,9 @@ ModuleBuilder::buildAndInit(frontend::ParseNode* moduleNode) } for (const auto& e : exportEntries_) { - RootedExportEntry exp(cx_, e); + RootedExportEntryObject exp(cx_, e); if (!exp->moduleRequest()) { - RootedImportEntry importEntry(cx_, importEntryFor(exp->localName())); + RootedImportEntryObject importEntry(cx_, importEntryFor(exp->localName())); if (!importEntry) { if (!appendLocalExportEntry(exp)) return false; @@ -955,7 +952,7 @@ ModuleBuilder::buildAndInit(frontend::ParseNode* moduleNode) RootedAtom exportName(cx_, exp->exportName()); RootedAtom moduleRequest(cx_, importEntry->moduleRequest()); RootedAtom importName(cx_, importEntry->importName()); - RootedExportEntry exportEntry(cx_); + RootedExportEntryObject exportEntry(cx_); exportEntry = ExportEntryObject::create(cx_, exportName, moduleRequest, @@ -1039,7 +1036,7 @@ ModuleBuilder::processImport(frontend::ParseNode* pn) if (!importedBoundNames_.append(localName)) return false; - RootedImportEntry importEntry(cx_); + RootedImportEntryObject importEntry(cx_); importEntry = ImportEntryObject::create(cx_, module, importName, localName); if (!importEntry || !importEntries_.append(importEntry)) return false; diff --git a/js/src/builtin/ModuleObject.h b/js/src/builtin/ModuleObject.h index cdcf4e5a2a15..bd6a61dc1896 100644 --- a/js/src/builtin/ModuleObject.h +++ b/js/src/builtin/ModuleObject.h @@ -54,6 +54,9 @@ class ImportEntryObject : public NativeObject JSAtom* localName(); }; +typedef Rooted RootedImportEntryObject; +typedef Handle HandleImportEntryObject; + class ExportEntryObject : public NativeObject { public: From e0a0fc4ef4bde4bb6aebaf75e74ca8f2e3d52acd Mon Sep 17 00:00:00 2001 From: Jon Coppeard Date: Fri, 18 Dec 2015 12:12:02 +0000 Subject: [PATCH 003/101] Bug 1225203 - Make backtracking register allocator spew / dump output threadsafe r=bhackett --- js/src/jit/BacktrackingAllocator.cpp | 107 +++++++++------------ js/src/jit/BacktrackingAllocator.h | 16 ++-- js/src/jit/C1Spewer.cpp | 2 +- js/src/jit/JSONSpewer.cpp | 2 +- js/src/jit/LIR.cpp | 136 +++++++++++++-------------- js/src/jit/LIR.h | 4 +- js/src/jit/RegisterAllocator.cpp | 44 ++++----- 7 files changed, 142 insertions(+), 169 deletions(-) diff --git a/js/src/jit/BacktrackingAllocator.cpp b/js/src/jit/BacktrackingAllocator.cpp index 0ab3682bc852..8d1ec94aae98 100644 --- a/js/src/jit/BacktrackingAllocator.cpp +++ b/js/src/jit/BacktrackingAllocator.cpp @@ -1229,7 +1229,7 @@ BacktrackingAllocator::processBundle(LiveBundle* bundle) { if (JitSpewEnabled(JitSpew_RegAlloc)) { JitSpew(JitSpew_RegAlloc, "Allocating %s [priority %lu] [weight %lu]", - bundle->toString(), computePriority(bundle), computeSpillWeight(bundle)); + bundle->toString().get(), computePriority(bundle), computeSpillWeight(bundle)); } // A bundle can be processed by doing any of the following: @@ -1322,7 +1322,7 @@ BacktrackingAllocator::computeRequirement(LiveBundle* bundle, if (policy == LDefinition::FIXED) { // Fixed policies get a FIXED requirement. JitSpew(JitSpew_RegAlloc, " Requirement %s, fixed by definition", - reg.def()->output()->toString()); + reg.def()->output()->toString().get()); if (!requirement->merge(Requirement(*reg.def()->output()))) return false; } else if (reg.ins()->isPhi()) { @@ -1398,7 +1398,7 @@ BacktrackingAllocator::tryAllocateRegister(PhysicalRegister& r, LiveBundle* bund return false; } else { JitSpew(JitSpew_RegAlloc, " %s collides with fixed use %s", - rAlias.reg.name(), existing->toString()); + rAlias.reg.name(), existing->toString().get()); *pfixed = true; return true; } @@ -1417,13 +1417,13 @@ BacktrackingAllocator::tryAllocateRegister(PhysicalRegister& r, LiveBundle* bund if (aliasedConflicting.length() == 1) { LiveBundle* existing = aliasedConflicting[0]; JitSpew(JitSpew_RegAlloc, " %s collides with %s [weight %lu]", - r.reg.name(), existing->toString(), computeSpillWeight(existing)); + r.reg.name(), existing->toString().get(), computeSpillWeight(existing)); } else { JitSpew(JitSpew_RegAlloc, " %s collides with the following", r.reg.name()); for (size_t i = 0; i < aliasedConflicting.length(); i++) { LiveBundle* existing = aliasedConflicting[i]; JitSpew(JitSpew_RegAlloc, " %s [weight %lu]", - existing->toString(), computeSpillWeight(existing)); + existing->toString().get(), computeSpillWeight(existing)); } } } @@ -1460,7 +1460,7 @@ BacktrackingAllocator::evictBundle(LiveBundle* bundle) { if (JitSpewEnabled(JitSpew_RegAlloc)) { JitSpew(JitSpew_RegAlloc, " Evicting %s [priority %lu] [weight %lu]", - bundle->toString(), computePriority(bundle), computeSpillWeight(bundle)); + bundle->toString().get(), computePriority(bundle), computeSpillWeight(bundle)); } AnyRegister reg(bundle->allocation().toRegister()); @@ -1483,9 +1483,9 @@ BacktrackingAllocator::splitAndRequeueBundles(LiveBundle* bundle, const LiveBundleVector& newBundles) { if (JitSpewEnabled(JitSpew_RegAlloc)) { - JitSpew(JitSpew_RegAlloc, " splitting bundle %s into:", bundle->toString()); + JitSpew(JitSpew_RegAlloc, " splitting bundle %s into:", bundle->toString().get()); for (size_t i = 0; i < newBundles.length(); i++) - JitSpew(JitSpew_RegAlloc, " %s", newBundles[i]->toString()); + JitSpew(JitSpew_RegAlloc, " %s", newBundles[i]->toString().get()); } // Remove all ranges in the old bundle from their register's list. @@ -2220,74 +2220,55 @@ BacktrackingAllocator::annotateMoveGroups() // Debugging methods ///////////////////////////////////////////////////////////////////// -#ifdef DEBUG +#ifdef JS_JITSPEW -const char* +UniqueChars LiveRange::toString() const { - // Not reentrant! - static char buf[10000]; + AutoEnterOOMUnsafeRegion oomUnsafe; - char* cursor = buf; - char* end = cursor + sizeof(buf); + char* buf = JS_smprintf("v%u [%u,%u)", hasVreg() ? vreg() : 0, from().bits(), to().bits()); - uint32_t n = JS_snprintf(cursor, end - cursor, "v%u [%u,%u)", - hasVreg() ? vreg() : 0, from().bits(), to().bits()); - if (n >= uint32_t(end - cursor)) - return "(truncated)"; - cursor += n; + if (buf && bundle() && !bundle()->allocation().isBogus()) + buf = JS_sprintf_append(buf, " %s", bundle()->allocation().toString().get()); - if (bundle() && !bundle()->allocation().isBogus()) { - n = JS_snprintf(cursor, end - cursor, " %s", bundle()->allocation().toString()); - if (n >= uint32_t(end - cursor)) - return " (truncated)"; - cursor += n; - } + if (buf && hasDefinition()) + buf = JS_sprintf_append(buf, " (def)"); - if (hasDefinition()) { - n = JS_snprintf(cursor, end - cursor, " (def)"); - if (n >= uint32_t(end - cursor)) - return " (truncated)"; - cursor += n; - } + for (UsePositionIterator iter = usesBegin(); buf && iter; iter++) + buf = JS_sprintf_append(buf, " %s@%u", iter->use()->toString().get(), iter->pos.bits()); - for (UsePositionIterator iter = usesBegin(); iter; iter++) { - n = JS_snprintf(cursor, end - cursor, " %s@%u", iter->use()->toString(), iter->pos.bits()); - if (n >= uint32_t(end - cursor)) - return " (truncated)"; - cursor += n; - } + if (!buf) + oomUnsafe.crash("LiveRange::toString()"); - return buf; + return UniqueChars(buf); } -const char* +UniqueChars LiveBundle::toString() const { - // Not reentrant! - static char buf[10000]; + AutoEnterOOMUnsafeRegion oomUnsafe; - char* cursor = buf; - char* end = cursor + sizeof(buf); + char *buf = JS_smprintf(""); - for (LiveRange::BundleLinkIterator iter = rangesBegin(); iter; iter++) { - uint32_t n = JS_snprintf(cursor, end - cursor, "%s %s", - (iter == rangesBegin()) ? "" : " ##", - LiveRange::get(*iter)->toString()); - if (n >= uint32_t(end - cursor)) - return "(truncated)"; - cursor += n; + for (LiveRange::BundleLinkIterator iter = rangesBegin(); buf && iter; iter++) { + buf = JS_smprintf(buf, "%s %s", + (iter == rangesBegin()) ? "" : " ##", + LiveRange::get(*iter)->toString().get()); } - return buf; + if (!buf) + oomUnsafe.crash("LiveBundle::toString()"); + + return UniqueChars(buf); } -#endif // DEBUG +#endif // JS_JITSPEW void BacktrackingAllocator::dumpVregs() { -#ifdef DEBUG +#ifdef JS_JITSPEW MOZ_ASSERT(!vregs[0u].hasRanges()); fprintf(stderr, "Live ranges by virtual register:\n"); @@ -2298,7 +2279,7 @@ BacktrackingAllocator::dumpVregs() for (LiveRange::RegisterLinkIterator iter = reg.rangesBegin(); iter; iter++) { if (iter != reg.rangesBegin()) fprintf(stderr, " ## "); - fprintf(stderr, "%s", LiveRange::get(*iter)->toString()); + fprintf(stderr, "%s", LiveRange::get(*iter)->toString().get()); } fprintf(stderr, "\n"); } @@ -2315,7 +2296,7 @@ BacktrackingAllocator::dumpVregs() for (LiveRange::BundleLinkIterator iter = bundle->rangesBegin(); iter; iter++) { if (iter != bundle->rangesBegin()) fprintf(stderr, " ## "); - fprintf(stderr, "%s", LiveRange::get(*iter)->toString()); + fprintf(stderr, "%s", LiveRange::get(*iter)->toString().get()); } fprintf(stderr, "\n"); } @@ -2327,12 +2308,12 @@ BacktrackingAllocator::dumpVregs() void BacktrackingAllocator::dumpFixedRanges() { -#ifdef DEBUG - fprintf(stderr, "Live ranges by physical register: %s\n", callRanges->toString()); -#endif // DEBUG +#ifdef JS_JITSPEW + fprintf(stderr, "Live ranges by physical register: %s\n", callRanges->toString().get()); +#endif // JS_JITSPEW } -#ifdef DEBUG +#ifdef JS_JITSPEW struct BacktrackingAllocator::PrintLiveRange { bool& first_; @@ -2345,7 +2326,7 @@ struct BacktrackingAllocator::PrintLiveRange first_ = false; else fprintf(stderr, " /"); - fprintf(stderr, " %s", range->toString()); + fprintf(stderr, " %s", range->toString().get()); } }; #endif @@ -2353,7 +2334,7 @@ struct BacktrackingAllocator::PrintLiveRange void BacktrackingAllocator::dumpAllocations() { -#ifdef DEBUG +#ifdef JS_JITSPEW fprintf(stderr, "Allocations:\n"); dumpVregs(); @@ -2370,7 +2351,7 @@ BacktrackingAllocator::dumpAllocations() } fprintf(stderr, "\n"); -#endif // DEBUG +#endif // JS_JITSPEW } /////////////////////////////////////////////////////////////////////////////// @@ -2569,7 +2550,7 @@ BacktrackingAllocator::trySplitAcrossHotcode(LiveBundle* bundle, bool* success) return true; } - JitSpew(JitSpew_RegAlloc, " split across hot range %s", hotRange->toString()); + JitSpew(JitSpew_RegAlloc, " split across hot range %s", hotRange->toString().get()); // Tweak the splitting method when compiling asm.js code to look at actual // uses within the hot/cold code. This heuristic is in place as the below diff --git a/js/src/jit/BacktrackingAllocator.h b/js/src/jit/BacktrackingAllocator.h index 9103f2a4531b..0a3af0f33382 100644 --- a/js/src/jit/BacktrackingAllocator.h +++ b/js/src/jit/BacktrackingAllocator.h @@ -344,11 +344,9 @@ class LiveRange : public TempObject hasDefinition_ = true; } - // Return a string describing this range. This is not re-entrant! -#ifdef DEBUG - const char* toString() const; -#else - const char* toString() const { return "???"; } +#ifdef JS_JITSPEW + // Return a string describing this range. + UniqueChars toString() const; #endif // Comparator for use in range splay trees. @@ -467,11 +465,9 @@ class LiveBundle : public TempObject return spillParent_; } - // Return a string describing this bundle. This is not re-entrant! -#ifdef DEBUG - const char* toString() const; -#else - const char* toString() const { return "???"; } +#ifdef JS_JITSPEW + // Return a string describing this bundle. + UniqueChars toString() const; #endif }; diff --git a/js/src/jit/C1Spewer.cpp b/js/src/jit/C1Spewer.cpp index f1df190ca224..4ab3913d8fdf 100644 --- a/js/src/jit/C1Spewer.cpp +++ b/js/src/jit/C1Spewer.cpp @@ -97,7 +97,7 @@ C1Spewer::spewRanges(GenericPrinter& out, BacktrackingAllocator* regalloc, LNode for (LiveRange::RegisterLinkIterator iter = vreg->rangesBegin(); iter; iter++) { LiveRange* range = LiveRange::get(*iter); out.printf("%d object \"", id); - out.printf("%s", range->bundle()->allocation().toString()); + out.printf("%s", range->bundle()->allocation().toString().get()); out.printf("\" %d -1", id); out.printf(" [%u, %u[", range->from().bits(), range->to().bits()); for (UsePositionIterator usePos(range->usesBegin()); usePos; usePos++) diff --git a/js/src/jit/JSONSpewer.cpp b/js/src/jit/JSONSpewer.cpp index a3d6046453a8..39dc0a50fd81 100644 --- a/js/src/jit/JSONSpewer.cpp +++ b/js/src/jit/JSONSpewer.cpp @@ -371,7 +371,7 @@ JSONSpewer::spewRanges(BacktrackingAllocator* regalloc) beginObject(); property("allocation"); - out_.printf("\"%s\"", range->bundle()->allocation().toString()); + out_.printf("\"%s\"", range->bundle()->allocation().toString().get()); integerProperty("start", range->from().bits()); integerProperty("end", range->to().bits()); endObject(); diff --git a/js/src/jit/LIR.cpp b/js/src/jit/LIR.cpp index 6d72352abf36..a4ac19ec65f9 100644 --- a/js/src/jit/LIR.cpp +++ b/js/src/jit/LIR.cpp @@ -358,109 +358,107 @@ static const char * const TypeChars[] = #endif }; -static void -PrintDefinition(char* buf, size_t size, const LDefinition& def) -{ - char* cursor = buf; - char* end = buf + size; - - cursor += JS_snprintf(cursor, end - cursor, "v%u", def.virtualRegister()); - cursor += JS_snprintf(cursor, end - cursor, "<%s>", TypeChars[def.type()]); - - if (def.policy() == LDefinition::FIXED) - cursor += JS_snprintf(cursor, end - cursor, ":%s", def.output()->toString()); - else if (def.policy() == LDefinition::MUST_REUSE_INPUT) - cursor += JS_snprintf(cursor, end - cursor, ":tied(%u)", def.getReusedInput()); -} - -const char* +UniqueChars LDefinition::toString() const { - // Not reentrant! - static char buf[40]; + AutoEnterOOMUnsafeRegion oomUnsafe; - if (isBogusTemp()) - return "bogus"; + char* buf; + if (isBogusTemp()) { + buf = JS_smprintf("bogus"); + } else { + buf = JS_smprintf("v%u<%s>", virtualRegister(), TypeChars[type()]); + if (buf) { + if (policy() == LDefinition::FIXED) + buf = JS_sprintf_append(buf, ":%s", output()->toString().get()); + else if (policy() == LDefinition::MUST_REUSE_INPUT) + buf = JS_sprintf_append(buf, ":tied(%u)", getReusedInput()); + } + } - PrintDefinition(buf, sizeof(buf), *this); - return buf; + if (!buf) + oomUnsafe.crash("LDefinition::toString()"); + + return UniqueChars(buf); } -static void -PrintUse(char* buf, size_t size, const LUse* use) +static char* +PrintUse(const LUse* use) { switch (use->policy()) { case LUse::REGISTER: - JS_snprintf(buf, size, "v%d:r", use->virtualRegister()); - break; + return JS_smprintf("v%d:r", use->virtualRegister()); case LUse::FIXED: - JS_snprintf(buf, size, "v%d:%s", use->virtualRegister(), - AnyRegister::FromCode(use->registerCode()).name()); - break; + return JS_smprintf("v%d:%s", use->virtualRegister(), + AnyRegister::FromCode(use->registerCode()).name()); case LUse::ANY: - JS_snprintf(buf, size, "v%d:r?", use->virtualRegister()); - break; + return JS_smprintf("v%d:r?", use->virtualRegister()); case LUse::KEEPALIVE: - JS_snprintf(buf, size, "v%d:*", use->virtualRegister()); - break; + return JS_smprintf("v%d:*", use->virtualRegister()); case LUse::RECOVERED_INPUT: - JS_snprintf(buf, size, "v%d:**", use->virtualRegister()); - break; + return JS_smprintf("v%d:**", use->virtualRegister()); default: MOZ_CRASH("invalid use policy"); } } -const char* +UniqueChars LAllocation::toString() const { - // Not reentrant! - static char buf[40]; + AutoEnterOOMUnsafeRegion oomUnsafe; - if (isBogus()) - return "bogus"; - - switch (kind()) { - case LAllocation::CONSTANT_VALUE: - case LAllocation::CONSTANT_INDEX: - return "c"; - case LAllocation::GPR: - JS_snprintf(buf, sizeof(buf), "%s", toGeneralReg()->reg().name()); - return buf; - case LAllocation::FPU: - JS_snprintf(buf, sizeof(buf), "%s", toFloatReg()->reg().name()); - return buf; - case LAllocation::STACK_SLOT: - JS_snprintf(buf, sizeof(buf), "stack:%d", toStackSlot()->slot()); - return buf; - case LAllocation::ARGUMENT_SLOT: - JS_snprintf(buf, sizeof(buf), "arg:%d", toArgument()->index()); - return buf; - case LAllocation::USE: - PrintUse(buf, sizeof(buf), toUse()); - return buf; - default: - MOZ_CRASH("what?"); + char* buf; + if (isBogus()) { + buf = JS_smprintf("bogus"); + } else { + switch (kind()) { + case LAllocation::CONSTANT_VALUE: + case LAllocation::CONSTANT_INDEX: + buf = JS_smprintf("c"); + break; + case LAllocation::GPR: + buf = JS_smprintf("%s", toGeneralReg()->reg().name()); + break; + case LAllocation::FPU: + buf = JS_smprintf("%s", toFloatReg()->reg().name()); + break; + case LAllocation::STACK_SLOT: + buf = JS_smprintf("stack:%d", toStackSlot()->slot()); + break; + case LAllocation::ARGUMENT_SLOT: + buf = JS_smprintf("arg:%d", toArgument()->index()); + break; + case LAllocation::USE: + buf = PrintUse(toUse()); + break; + default: + MOZ_CRASH("what?"); + } } + + if (!buf) + oomUnsafe.crash("LAllocation::toString()"); + + return UniqueChars(buf); } void LAllocation::dump() const { - fprintf(stderr, "%s\n", toString()); + fprintf(stderr, "%s\n", toString().get()); } void LDefinition::dump() const { - fprintf(stderr, "%s\n", toString()); + fprintf(stderr, "%s\n", toString().get()); } void LNode::printOperands(GenericPrinter& out) { for (size_t i = 0, e = numOperands(); i < e; i++) { - out.printf(" (%s)", getOperand(i)->toString()); + out.printf(" (%s)", getOperand(i)->toString().get()); if (i != numOperands() - 1) out.printf(","); } @@ -490,7 +488,7 @@ LNode::dump(GenericPrinter& out) if (numDefs() != 0) { out.printf("{"); for (size_t i = 0; i < numDefs(); i++) { - out.printf("%s", getDef(i)->toString()); + out.printf("%s", getDef(i)->toString().get()); if (i != numDefs() - 1) out.printf(", "); } @@ -503,7 +501,7 @@ LNode::dump(GenericPrinter& out) if (numTemps()) { out.printf(" t=("); for (size_t i = 0; i < numTemps(); i++) { - out.printf("%s", getTemp(i)->toString()); + out.printf("%s", getTemp(i)->toString().get()); if (i != numTemps() - 1) out.printf(", "); } @@ -599,9 +597,7 @@ LMoveGroup::printOperands(GenericPrinter& out) { for (size_t i = 0; i < numMoves(); i++) { const LMove& move = getMove(i); - // Use two printfs, as LAllocation::toString is not reentrant. - out.printf(" [%s", move.from().toString()); - out.printf(" -> %s", move.to().toString()); + out.printf(" [%s -> %s", move.from().toString().get(), move.to().toString().get()); #ifdef DEBUG out.printf(", %s", TypeChars[move.type()]); #endif diff --git a/js/src/jit/LIR.h b/js/src/jit/LIR.h index b4ff10a4c629..102d7300aabd 100644 --- a/js/src/jit/LIR.h +++ b/js/src/jit/LIR.h @@ -183,7 +183,7 @@ class LAllocation : public TempObject return bits_; } - const char* toString() const; + UniqueChars toString() const; bool aliases(const LAllocation& other) const; void dump() const; @@ -577,7 +577,7 @@ class LDefinition } } - const char* toString() const; + UniqueChars toString() const; void dump() const; }; diff --git a/js/src/jit/RegisterAllocator.cpp b/js/src/jit/RegisterAllocator.cpp index 1fb9370a55ca..1dc315f0f278 100644 --- a/js/src/jit/RegisterAllocator.cpp +++ b/js/src/jit/RegisterAllocator.cpp @@ -291,7 +291,7 @@ AllocationIntegrityState::checkSafepointAllocation(LInstruction* ins, case LDefinition::OBJECT: if (populateSafepoints) { JitSpew(JitSpew_RegAlloc, "Safepoint object v%u i%u %s", - vreg, ins->id(), alloc.toString()); + vreg, ins->id(), alloc.toString().get()); if (!safepoint->addGcPointer(alloc)) return false; } @@ -300,7 +300,7 @@ AllocationIntegrityState::checkSafepointAllocation(LInstruction* ins, case LDefinition::SLOTS: if (populateSafepoints) { JitSpew(JitSpew_RegAlloc, "Safepoint slots v%u i%u %s", - vreg, ins->id(), alloc.toString()); + vreg, ins->id(), alloc.toString().get()); if (!safepoint->addSlotsOrElementsPointer(alloc)) return false; } @@ -314,7 +314,7 @@ AllocationIntegrityState::checkSafepointAllocation(LInstruction* ins, case LDefinition::TYPE: if (populateSafepoints) { JitSpew(JitSpew_RegAlloc, "Safepoint type v%u i%u %s", - vreg, ins->id(), alloc.toString()); + vreg, ins->id(), alloc.toString().get()); if (!safepoint->addNunboxType(vreg, alloc)) return false; } @@ -322,7 +322,7 @@ AllocationIntegrityState::checkSafepointAllocation(LInstruction* ins, case LDefinition::PAYLOAD: if (populateSafepoints) { JitSpew(JitSpew_RegAlloc, "Safepoint payload v%u i%u %s", - vreg, ins->id(), alloc.toString()); + vreg, ins->id(), alloc.toString().get()); if (!safepoint->addNunboxPayload(vreg, alloc)) return false; } @@ -332,7 +332,7 @@ AllocationIntegrityState::checkSafepointAllocation(LInstruction* ins, case LDefinition::BOX: if (populateSafepoints) { JitSpew(JitSpew_RegAlloc, "Safepoint boxed value v%u i%u %s", - vreg, ins->id(), alloc.toString()); + vreg, ins->id(), alloc.toString().get()); if (!safepoint->addBoxedValue(alloc)) return false; } @@ -391,9 +391,9 @@ AllocationIntegrityState::dump() fprintf(stderr, "[%u,%u Phi] [def %s] ", input.bits(), output.bits(), - phi->getDef(0)->toString()); + phi->getDef(0)->toString().get()); for (size_t j = 0; j < phi->numOperands(); j++) - fprintf(stderr, " [use %s]", info.inputs[j].toString()); + fprintf(stderr, " [use %s]", info.inputs[j].toString().get()); fprintf(stderr, "\n"); } @@ -412,29 +412,29 @@ AllocationIntegrityState::dump() if (ins->isMoveGroup()) { LMoveGroup* group = ins->toMoveGroup(); for (int i = group->numMoves() - 1; i >= 0; i--) { - // Use two printfs, as LAllocation::toString is not reentrant. - fprintf(stderr, " [%s", group->getMove(i).from().toString()); - fprintf(stderr, " -> %s]", group->getMove(i).to().toString()); + fprintf(stderr, " [%s -> %s]", + group->getMove(i).from().toString().get(), + group->getMove(i).to().toString().get()); } fprintf(stderr, "\n"); continue; } for (size_t i = 0; i < ins->numDefs(); i++) - fprintf(stderr, " [def %s]", ins->getDef(i)->toString()); + fprintf(stderr, " [def %s]", ins->getDef(i)->toString().get()); for (size_t i = 0; i < ins->numTemps(); i++) { LDefinition* temp = ins->getTemp(i); if (!temp->isBogusTemp()) fprintf(stderr, " [temp v%u %s]", info.temps[i].virtualRegister(), - temp->toString()); + temp->toString().get()); } size_t index = 0; for (LInstruction::InputIterator alloc(*ins); alloc.more(); alloc.next()) { - fprintf(stderr, " [use %s", info.inputs[index++].toString()); + fprintf(stderr, " [use %s", info.inputs[index++].toString().get()); if (!alloc->isConstant()) - fprintf(stderr, " %s", alloc->toString()); + fprintf(stderr, " %s", alloc->toString().get()); fprintf(stderr, "]"); } @@ -459,7 +459,7 @@ AllocationIntegrityState::dump() for (size_t i = 0; i < seenOrdered.length(); i++) { IntegrityItem item = seenOrdered[i]; fprintf(stderr, " block %u reg v%u alloc %s\n", - item.block->mir()->id(), item.vreg, item.alloc.toString()); + item.block->mir()->id(), item.vreg, item.alloc.toString().get()); } } @@ -535,9 +535,9 @@ RegisterAllocator::dumpInstructions() fprintf(stderr, "[%u,%u Phi] [def %s]", inputOf(phi).bits(), outputOf(phi).bits(), - phi->getDef(0)->toString()); + phi->getDef(0)->toString().get()); for (size_t j = 0; j < phi->numOperands(); j++) - fprintf(stderr, " [use %s]", phi->getOperand(j)->toString()); + fprintf(stderr, " [use %s]", phi->getOperand(j)->toString().get()); fprintf(stderr, "\n"); } @@ -553,25 +553,25 @@ RegisterAllocator::dumpInstructions() LMoveGroup* group = ins->toMoveGroup(); for (int i = group->numMoves() - 1; i >= 0; i--) { // Use two printfs, as LAllocation::toString is not reentant. - fprintf(stderr, " [%s", group->getMove(i).from().toString()); - fprintf(stderr, " -> %s]", group->getMove(i).to().toString()); + fprintf(stderr, " [%s", group->getMove(i).from().toString().get()); + fprintf(stderr, " -> %s]", group->getMove(i).to().toString().get()); } fprintf(stderr, "\n"); continue; } for (size_t i = 0; i < ins->numDefs(); i++) - fprintf(stderr, " [def %s]", ins->getDef(i)->toString()); + fprintf(stderr, " [def %s]", ins->getDef(i)->toString().get()); for (size_t i = 0; i < ins->numTemps(); i++) { LDefinition* temp = ins->getTemp(i); if (!temp->isBogusTemp()) - fprintf(stderr, " [temp %s]", temp->toString()); + fprintf(stderr, " [temp %s]", temp->toString().get()); } for (LInstruction::InputIterator alloc(*ins); alloc.more(); alloc.next()) { if (!alloc->isBogus()) - fprintf(stderr, " [use %s]", alloc->toString()); + fprintf(stderr, " [use %s]", alloc->toString().get()); } fprintf(stderr, "\n"); From 1cc56207d58e510216d2a495635fdd06ae041582 Mon Sep 17 00:00:00 2001 From: Birunthan Mohanathas Date: Fri, 18 Dec 2015 15:02:50 +0200 Subject: [PATCH 004/101] Bug 1227569 - Remove unsupported OpenVMS code. r=mccr8 --- config/system-headers | 5 ---- modules/libpref/Preferences.cpp | 4 +-- toolkit/profile/nsProfileLock.cpp | 25 ------------------- .../exthandler/nsExternalHelperAppService.cpp | 4 +-- xpcom/components/nsNativeModuleLoader.cpp | 5 ---- xpcom/io/SpecialSystemDirectory.cpp | 18 +------------ xpcom/io/nsLocalFileUnix.cpp | 19 -------------- 7 files changed, 3 insertions(+), 77 deletions(-) diff --git a/config/system-headers b/config/system-headers index 403fa8d95142..cde1cad17b8f 100644 --- a/config/system-headers +++ b/config/system-headers @@ -418,7 +418,6 @@ ExDisp.h exe386.h execinfo.h extras.h -fabdef.h fcntl.h features.h fibdef.h @@ -628,7 +627,6 @@ libgnome/libgnome.h libgnomeui/gnome-icon-lookup.h libgnomeui/gnome-icon-theme.h libgnomeui/gnome-ui-init.h -lib$routines.h limits limits.h link.h @@ -889,7 +887,6 @@ resolv.h Resources.h Retrace.h rld_interface.h -rmsdef.h Roster.h rpc.h rpcproxy.h @@ -927,7 +924,6 @@ someincludefile.h Sound.h soundcard.h sqlite3.h -ssdef.h sstream stack #ifdef ANDROID @@ -1154,7 +1150,6 @@ unikbd.h unistd.h unix.h unixio.h -unixlib.h unknwn.h UPrinting.h UQuickTime.h diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp index 159b96ad05c0..8df6564dc37c 100644 --- a/modules/libpref/Preferences.cpp +++ b/modules/libpref/Preferences.cpp @@ -1270,9 +1270,7 @@ static nsresult pref_InitInitialObjects() "winpref.js" #elif defined(XP_UNIX) "unix.js" -#if defined(VMS) - , "openvms.js" -#elif defined(_AIX) +#if defined(_AIX) , "aix.js" #endif #elif defined(XP_BEOS) diff --git a/toolkit/profile/nsProfileLock.cpp b/toolkit/profile/nsProfileLock.cpp index 9b26087cba33..0b4cdba6d663 100644 --- a/toolkit/profile/nsProfileLock.cpp +++ b/toolkit/profile/nsProfileLock.cpp @@ -30,10 +30,6 @@ #include "prenv.h" #endif -#ifdef VMS -#include -#endif - #if defined(MOZ_WIDGET_GONK) && !defined(MOZ_CRASHREPORTER) #include #endif @@ -617,27 +613,6 @@ nsresult nsProfileLock::Lock(nsIFile* aProfileDir, } return NS_ERROR_FILE_ACCESS_DENIED; } -#elif defined(VMS) - nsAutoCString filePath; - rv = lockFile->GetNativePath(filePath); - if (NS_FAILED(rv)) - return rv; - - lockFile->GetLastModifiedTime(&mReplacedLockTime); - - mLockFileDesc = open_noshr(filePath.get(), O_CREAT, 0666); - if (mLockFileDesc == -1) - { - if ((errno == EVMSERR) && (vaxc$errno == RMS$_FLK)) - { - return NS_ERROR_FILE_ACCESS_DENIED; - } - else - { - NS_ERROR("Failed to open lock file."); - return NS_ERROR_FAILURE; - } - } #endif mHaveLock = true; diff --git a/uriloader/exthandler/nsExternalHelperAppService.cpp b/uriloader/exthandler/nsExternalHelperAppService.cpp index 384406690051..e44c6552ac50 100644 --- a/uriloader/exthandler/nsExternalHelperAppService.cpp +++ b/uriloader/exthandler/nsExternalHelperAppService.cpp @@ -552,9 +552,7 @@ struct nsExtraMimeTypeEntry { */ static nsExtraMimeTypeEntry extraMimeEntries [] = { -#if defined(VMS) - { APPLICATION_OCTET_STREAM, "exe,com,bin,sav,bck,pcsi,dcx_axpexe,dcx_vaxexe,sfx_axpexe,sfx_vaxexe", "Binary File" }, -#elif defined(XP_MACOSX) // don't define .bin on the mac...use internet config to look that up... +#if defined(XP_MACOSX) // don't define .bin on the mac...use internet config to look that up... { APPLICATION_OCTET_STREAM, "exe,com", "Binary File" }, #else { APPLICATION_OCTET_STREAM, "exe,com,bin", "Binary File" }, diff --git a/xpcom/components/nsNativeModuleLoader.cpp b/xpcom/components/nsNativeModuleLoader.cpp index c632675a63b4..7c9e331e9168 100644 --- a/xpcom/components/nsNativeModuleLoader.cpp +++ b/xpcom/components/nsNativeModuleLoader.cpp @@ -38,11 +38,6 @@ #include #endif -#ifdef VMS -#include -#include -#endif - #ifdef DEBUG #define IMPLEMENT_BREAK_AFTER_LOAD #endif diff --git a/xpcom/io/SpecialSystemDirectory.cpp b/xpcom/io/SpecialSystemDirectory.cpp index e26544e69f4f..b9731a5b9ecf 100644 --- a/xpcom/io/SpecialSystemDirectory.cpp +++ b/xpcom/io/SpecialSystemDirectory.cpp @@ -34,10 +34,6 @@ using mozilla::IsWin7OrLater; #endif -#if defined(VMS) -#include -#endif - #ifndef MAXPATHLEN #ifdef PATH_MAX #define MAXPATHLEN PATH_MAX @@ -221,19 +217,7 @@ GetRegWindowsAppDataFolder(bool aLocal, nsIFile** aFile) static nsresult GetUnixHomeDir(nsIFile** aFile) { -#ifdef VMS - char* pHome; - pHome = getenv("HOME"); - if (*pHome == '/') { - return NS_NewNativeLocalFile(nsDependentCString(pHome), - true, - aFile); - } else { - return NS_NewNativeLocalFile(nsDependentCString(decc$translate_vms(pHome)), - true, - aFile); - } -#elif defined(ANDROID) +#if defined(ANDROID) // XXX no home dir on android; maybe we should return the sdcard if present? return NS_ERROR_FAILURE; #else diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp index 3f6eb176aa7c..ce53ce389ab5 100644 --- a/xpcom/io/nsLocalFileUnix.cpp +++ b/xpcom/io/nsLocalFileUnix.cpp @@ -20,9 +20,6 @@ #include #include #include -#if defined(VMS) -#include -#endif #if defined(HAVE_SYS_QUOTA_H) && defined(HAVE_LINUX_QUOTA_H) #define USE_LINUX_QUOTACTL @@ -1007,11 +1004,7 @@ nsLocalFile::MoveToNative(nsIFile* aNewParent, const nsACString& aNewName) // try for atomic rename, falling back to copy/delete if (rename(mPath.get(), newPathName.get()) < 0) { -#ifdef VMS - if (errno == EXDEV || errno == ENXIO) { -#else if (errno == EXDEV) { -#endif rv = CopyToNative(aNewParent, aNewName); if (NS_SUCCEEDED(rv)) { rv = Remove(true); @@ -1231,14 +1224,6 @@ nsLocalFile::GetFileSize(int64_t* aFileSize) *aFileSize = 0; ENSURE_STAT_CACHE(); -#if defined(VMS) - /* Only two record formats can report correct file content size */ - if ((mCachedStat.st_fab_rfm != FAB$C_STMLF) && - (mCachedStat.st_fab_rfm != FAB$C_STMCR)) { - return NS_ERROR_FAILURE; - } -#endif - if (!S_ISDIR(mCachedStat.st_mode)) { *aFileSize = (int64_t)mCachedStat.st_size; } @@ -2177,11 +2162,7 @@ nsLocalFile::RenameToNative(nsIFile* aNewParentDir, const nsACString& aNewName) // try for atomic rename if (rename(mPath.get(), newPathName.get()) < 0) { -#ifdef VMS - if (errno == EXDEV || errno == ENXIO) { -#else if (errno == EXDEV) { -#endif rv = NS_ERROR_FILE_ACCESS_DENIED; } else { rv = NSRESULT_FOR_ERRNO(); From 67d3279e836447e64f97e99f564cf4a743d36998 Mon Sep 17 00:00:00 2001 From: Birunthan Mohanathas Date: Fri, 18 Dec 2015 15:02:50 +0200 Subject: [PATCH 005/101] Bug 1221104 - Revoke 'midi' permission queries with TypeError. r=baku According to the spec, we should reject unsupported permissions with a TypeError. This removes the 'midi' entry entirely so that we get the expected behaviour. --- dom/permission/PermissionUtils.cpp | 3 +-- dom/permission/Permissions.cpp | 2 +- dom/permission/tests/test_permissions_api.html | 8 ++++++-- dom/webidl/Permissions.webidl | 4 ++-- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/dom/permission/PermissionUtils.cpp b/dom/permission/PermissionUtils.cpp index 47853a1c8a41..1bb1c1c0d173 100644 --- a/dom/permission/PermissionUtils.cpp +++ b/dom/permission/PermissionUtils.cpp @@ -13,8 +13,7 @@ const char* kPermissionTypes[] = { "geo", "desktop-notification", // Alias `push` to `desktop-notification`. - "desktop-notification", - "midi" + "desktop-notification" }; // `-1` for the last null entry. diff --git a/dom/permission/Permissions.cpp b/dom/permission/Permissions.cpp index 816bbd2c2fd5..3b2ac32f1b50 100644 --- a/dom/permission/Permissions.cpp +++ b/dom/permission/Permissions.cpp @@ -84,8 +84,8 @@ CreatePermissionStatus(JSContext* aCx, case PermissionName::Push: return CreatePushPermissionStatus(aCx, aPermission, aWindow, aRv); - case PermissionName::Midi: default: + MOZ_ASSERT_UNREACHABLE("Unhandled type"); aRv.Throw(NS_ERROR_NOT_IMPLEMENTED); return nullptr; } diff --git a/dom/permission/tests/test_permissions_api.html b/dom/permission/tests/test_permissions_api.html index bec08592d112..c936b46e91a2 100644 --- a/dom/permission/tests/test_permissions_api.html +++ b/dom/permission/tests/test_permissions_api.html @@ -27,7 +27,8 @@ const PERMISSIONS = [ ]; const UNSUPPORTED_PERMISSIONS = [ - 'midi', + 'foobarbaz', // Not in spec, for testing only. + 'midi' ]; function setup() { @@ -61,7 +62,10 @@ function checkUnsupportedPermissions() { return Promise.all(UNSUPPORTED_PERMISSIONS.map(name => { return navigator.permissions.query({ name }).then( result => ok(false, `query should not have resolved for '${name}'`), - error => ok(true, `query should have rejected for '${name}'`)); + error => { + is(error.name, 'TypeError', + `query should have thrown TypeError for '${name}'`); + }); })); } diff --git a/dom/webidl/Permissions.webidl b/dom/webidl/Permissions.webidl index fa1f6d874a3f..776a22ff8437 100644 --- a/dom/webidl/Permissions.webidl +++ b/dom/webidl/Permissions.webidl @@ -10,8 +10,8 @@ enum PermissionName { "geolocation", "notifications", - "push", - "midi" + "push" + // Unsupported: "midi" }; dictionary PermissionDescriptor { From e84dd12876004fa952533a18c17e6ff91d8e8a2d Mon Sep 17 00:00:00 2001 From: Birunthan Mohanathas Date: Fri, 18 Dec 2015 15:02:50 +0200 Subject: [PATCH 006/101] Bug 1221104 - Throw NS_ERROR_NOT_IMPLEMENTED instead of NS_ERROR_UNEXPECTED for PushPermissionDescriptor.userVisible. r=baku This is merely for clarity. The spec does not require a TypeError to be thrown here. --- dom/permission/Permissions.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dom/permission/Permissions.cpp b/dom/permission/Permissions.cpp index 3b2ac32f1b50..03512a22ecfc 100644 --- a/dom/permission/Permissions.cpp +++ b/dom/permission/Permissions.cpp @@ -56,7 +56,7 @@ CreatePushPermissionStatus(JSContext* aCx, } if (permission.mUserVisible) { - aRv.Throw(NS_ERROR_UNEXPECTED); + aRv.Throw(NS_ERROR_NOT_IMPLEMENTED); return nullptr; } From 6dced946b9413637a0e59807214c0d30621db6f0 Mon Sep 17 00:00:00 2001 From: Birunthan Mohanathas Date: Fri, 18 Dec 2015 15:02:50 +0200 Subject: [PATCH 007/101] Bug 1221106 - Let Permissions API ride the trains. r=baku --- modules/libpref/init/all.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js index 291084294bdc..510d1e6833c3 100644 --- a/modules/libpref/init/all.js +++ b/modules/libpref/init/all.js @@ -128,11 +128,7 @@ pref("dom.indexedDB.logging.profiler-marks", false); pref("dom.fileHandle.enabled", true); // Whether or not the Permissions API is enabled. -#ifdef NIGHTLY_BUILD pref("dom.permissions.enabled", true); -#else -pref("dom.permissions.enabled", false); -#endif // Whether or not selection events are enabled #ifdef NIGHTLY_BUILD From ae19b61b33f5bb3539bed8460fa14cfbfce0d981 Mon Sep 17 00:00:00 2001 From: Patrick McManus Date: Thu, 17 Dec 2015 17:37:53 -0500 Subject: [PATCH 008/101] Bug 513129 - Dont reuse connections after security prefs change r=hurley --- netwerk/protocol/http/nsHttpHandler.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/netwerk/protocol/http/nsHttpHandler.cpp b/netwerk/protocol/http/nsHttpHandler.cpp index 46a6b5e1ae29..55425cc023c7 100644 --- a/netwerk/protocol/http/nsHttpHandler.cpp +++ b/netwerk/protocol/http/nsHttpHandler.cpp @@ -88,6 +88,7 @@ #define TELEMETRY_ENABLED "toolkit.telemetry.enabled" #define ALLOW_EXPERIMENTS "network.allow-experiments" #define SAFE_HINT_HEADER_VALUE "safeHint.enabled" +#define SECURITY_PREFIX "security." #define UA_PREF(_pref) UA_PREF_PREFIX _pref #define HTTP_PREF(_pref) HTTP_PREF_PREFIX _pref @@ -281,6 +282,7 @@ nsHttpHandler::Init() prefBranch->AddObserver(HTTP_PREF("tcp_keepalive.short_lived_connections"), this, true); prefBranch->AddObserver(HTTP_PREF("tcp_keepalive.long_lived_connections"), this, true); prefBranch->AddObserver(SAFE_HINT_HEADER_VALUE, this, true); + prefBranch->AddObserver(SECURITY_PREFIX, this, true); PrefsChanged(prefBranch, nullptr); } @@ -920,6 +922,15 @@ nsHttpHandler::PrefsChanged(nsIPrefBranch *prefs, const char *pref) #define MULTI_PREF_CHANGED(p) \ ((pref == nullptr) || !PL_strncmp(pref, p, sizeof(p) - 1)) + // If a security pref changed, lets clear our connection pool reuse + if (MULTI_PREF_CHANGED(SECURITY_PREFIX)) { + LOG(("nsHttpHandler::PrefsChanged Security Pref Changed %s\n", pref)); + if (mConnMgr) { + mConnMgr->DoShiftReloadConnectionCleanup(nullptr); + mConnMgr->PruneDeadConnections(); + } + } + // // UA components // From 7e9f2cf66ca39007960ab8e733df580718f607ee Mon Sep 17 00:00:00 2001 From: Masatoshi Kimura Date: Fri, 18 Dec 2015 23:00:51 +0900 Subject: [PATCH 009/101] Bug 1197191 - Add .pdf and media file types to OpenWithProgids. r=rstrong --- browser/installer/windows/nsis/shared.nsh | 1 + toolkit/mozapps/installer/windows/nsis/common.nsh | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/browser/installer/windows/nsis/shared.nsh b/browser/installer/windows/nsis/shared.nsh index 9b5341a4a76c..187eb57553d0 100755 --- a/browser/installer/windows/nsis/shared.nsh +++ b/browser/installer/windows/nsis/shared.nsh @@ -352,6 +352,7 @@ ${EndIf} ${If} ${Errors} WriteRegStr SHCTX "SOFTWARE\Classes\${FILE_TYPE}" "" "FirefoxHTML" ${EndIf} + WriteRegStr SHCTX "SOFTWARE\Classes\${FILE_TYPE}\OpenWithProgids" "FirefoxHTML" "" !macroend !define AddAssociationIfNoneExist "!insertmacro AddAssociationIfNoneExist" diff --git a/toolkit/mozapps/installer/windows/nsis/common.nsh b/toolkit/mozapps/installer/windows/nsis/common.nsh index efc2ae0aa05d..f5b11c6d9601 100755 --- a/toolkit/mozapps/installer/windows/nsis/common.nsh +++ b/toolkit/mozapps/installer/windows/nsis/common.nsh @@ -2985,10 +2985,18 @@ Exch $R8 Push $R7 + DeleteRegValue HKCU "Software\Classes\$R9\OpenWithProgids" $R8 + EnumRegValue $R7 HKCU "Software\Classes\$R9\OpenWithProgids" 0 + StrCmp "$R7" "" +1 +2 + DeleteRegKey HKCU "Software\Classes\$R9\OpenWithProgids" ReadRegStr $R7 HKCU "Software\Classes\$R9" "" StrCmp "$R7" "$R8" +1 +2 DeleteRegKey HKCU "Software\Classes\$R9" + DeleteRegValue HKLM "Software\Classes\$R9\OpenWithProgids" $R8 + EnumRegValue $R7 HKLM "Software\Classes\$R9\OpenWithProgids" 0 + StrCmp "$R7" "" +1 +2 + DeleteRegKey HKLM "Software\Classes\$R9\OpenWithProgids" ReadRegStr $R7 HKLM "Software\Classes\$R9" "" StrCmp "$R7" "$R8" +1 +2 DeleteRegValue HKLM "Software\Classes\$R9" "" From e68333bfabb83d283baa989809960b7797a7d6f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Pag=C3=A8s?= Date: Thu, 17 Dec 2015 12:11:28 +0100 Subject: [PATCH 010/101] Bug 1229379 - use mozlog in talos. r=jmaher --HG-- extra : commitid : CYOw9aTaJj3 extra : rebase_source : 2911bc37e4ddcd95f1c5e76af4a9cfb5a8bcf94f --- .../mozharness/mozilla/testing/talos.py | 13 ++++++- testing/talos/requirements.txt | 1 + testing/talos/talos/cmdline.py | 6 ++-- testing/talos/talos/config.py | 6 ++-- testing/talos/talos/ffsetup.py | 28 +++++++++------ testing/talos/talos/output.py | 31 +++++++++-------- testing/talos/talos/run_tests.py | 23 +++++++------ testing/talos/talos/sps_profile.py | 34 +++++++++++-------- .../talos/startup_test/media/media_manager.py | 11 +++--- testing/talos/talos/talos_process.py | 16 ++++++--- testing/talos/talos/ttest.py | 17 ++++++---- testing/talos/talos/utils.py | 12 ++----- 12 files changed, 117 insertions(+), 81 deletions(-) diff --git a/testing/mozharness/mozharness/mozilla/testing/talos.py b/testing/mozharness/mozharness/mozilla/testing/talos.py index 77c6b117fc56..86dae3107c17 100755 --- a/testing/mozharness/mozharness/mozilla/testing/talos.py +++ b/testing/mozharness/mozharness/mozilla/testing/talos.py @@ -382,7 +382,18 @@ class Talos(TestingMixin, MercurialScript, BlobUploadMixin): output_timeout = self.config.get('talos_output_timeout', 3600) # run talos tests run_tests = os.path.join(self.talos_path, 'talos', 'run_tests.py') - command = [python, run_tests, '--debug'] + options + + mozlog_opts = ['--log-tbpl-level=debug'] + if not self.run_local and 'suite' in self.config: + fname_pattern = '%s_%%s.log' % self.config['suite'] + mozlog_opts.append('--log-errorsummary=%s' + % os.path.join(env['MOZ_UPLOAD_DIR'], + fname_pattern % 'errorsummary')) + mozlog_opts.append('--log-raw=%s' + % os.path.join(env['MOZ_UPLOAD_DIR'], + fname_pattern % 'raw')) + + command = [python, run_tests] + options + mozlog_opts self.return_code = self.run_command(command, cwd=self.workdir, output_timeout=output_timeout, output_parser=parser, diff --git a/testing/talos/requirements.txt b/testing/talos/requirements.txt index c19cb0bb9040..f378ace783dd 100644 --- a/testing/talos/requirements.txt +++ b/testing/talos/requirements.txt @@ -1,3 +1,4 @@ +mozlog>=3.1 mozcrash>=0.15 mozfile>=1.2 mozhttpd>=0.7 diff --git a/testing/talos/talos/cmdline.py b/testing/talos/talos/cmdline.py index 1c00fd8aba43..1ef22222bc31 100644 --- a/testing/talos/talos/cmdline.py +++ b/testing/talos/talos/cmdline.py @@ -5,6 +5,8 @@ import argparse import os +from mozlog.commandline import add_logging_group + class _StopAction(argparse.Action): def __init__(self, option_strings, dest=argparse.SUPPRESS, @@ -137,8 +139,8 @@ def create_parser(mach_interface=False): help="print available tests") add_arg('--print-suites', action=_ListSuite, help="list available suites") - add_arg('--debug', action='store_true', - help='show debug information') + + add_logging_group(parser) return parser diff --git a/testing/talos/talos/config.py b/testing/talos/talos/config.py index 27ce7d8dc2e2..84773a471126 100644 --- a/testing/talos/talos/config.py +++ b/testing/talos/talos/config.py @@ -6,6 +6,8 @@ import sys import os import copy +from mozlog.commandline import setup_logging + from talos import utils, test from talos.cmdline import parse_args @@ -448,12 +450,12 @@ def get_config(argv=None): raise ConfigurationError('No such suite: %r' % cli_opts.suite) argv += ['-a', ':'.join(suite_conf['tests'])] argv += suite_conf.get('talos_options', []) - # and reparse the args - cli_opts = parse_args(argv=argv) + # args needs to be reparsed now elif not cli_opts.activeTests: raise ConfigurationError('--activeTests or --suite required!') cli_opts = parse_args(argv=argv) + setup_logging("talos", cli_opts, {"tbpl": sys.stdout}) config = copy.deepcopy(DEFAULTS) config.update(cli_opts.__dict__) for validate in CONF_VALIDATORS: diff --git a/testing/talos/talos/ffsetup.py b/testing/talos/talos/ffsetup.py index 81f34755276f..b206cfd5ff3f 100644 --- a/testing/talos/talos/ffsetup.py +++ b/testing/talos/talos/ffsetup.py @@ -9,16 +9,20 @@ Set up a browser environment before running a test. import os import re import tempfile -import logging import mozfile from mozprocess import ProcessHandler from mozprofile.profile import Profile +from mozlog import get_proxy_logger + from talos import utils from talos.utils import TalosError from talos.sps_profile import SpsProfile +LOG = get_proxy_logger() + + class FFSetup(object): """ Initialize the browser environment before running a test. @@ -111,30 +115,32 @@ class FFSetup(object): ) def browser_log(line): - logging.debug('BROWSER_OUTPUT: %s', line) + LOG.process_output(browser.pid, line) browser = ProcessHandler(command_args, env=self.env, processOutputLine=browser_log) browser.run() + LOG.process_start(browser.pid, ' '.join(command_args)) try: - browser.wait() + exit_code = browser.wait() except KeyboardInterrupt: browser.kill() raise + LOG.process_exit(browser.pid, exit_code) results_raw = '\n'.join(browser.output) if not self.PROFILE_REGEX.search(results_raw): - logging.info("Could not find %s in browser output", - self.PROFILE_REGEX.pattern) - logging.info("Raw results:%s", results_raw) + LOG.info("Could not find %s in browser output" + % self.PROFILE_REGEX.pattern) + LOG.info("Raw results:%s" % results_raw) raise TalosError("browser failed to close after being initialized") def _init_sps_profile(self): upload_dir = os.getenv('MOZ_UPLOAD_DIR') if self.test_config.get('sps_profile') and not upload_dir: - logging.critical("Profiling ignored because MOZ_UPLOAD_DIR was not" - " set") + LOG.critical("Profiling ignored because MOZ_UPLOAD_DIR was not" + " set") if upload_dir and self.test_config.get('sps_profile'): self.sps_profile = SpsProfile(upload_dir, self.browser_config, @@ -147,8 +153,8 @@ class FFSetup(object): self.sps_profile.clean() def __enter__(self): - logging.info('Initialising browser for %s test...', - self.test_config['name']) + LOG.info('Initialising browser for %s test...' + % self.test_config['name']) self._init_env() self._init_profile() try: @@ -157,7 +163,7 @@ class FFSetup(object): self.clean() raise self._init_sps_profile() - logging.info('Browser initialized.') + LOG.info('Browser initialized.') return self def __exit__(self, type, value, tb): diff --git a/testing/talos/talos/output.py b/testing/talos/talos/output.py index 04fbc4cacf3e..57a15801231b 100755 --- a/testing/talos/talos/output.py +++ b/testing/talos/talos/output.py @@ -7,15 +7,17 @@ import filter import json -import logging import post_file import time import utils +from StringIO import StringIO +from mozlog import get_proxy_logger + # NOTE: we have a circular dependecy with output.py when we import results import results as TalosResults -from StringIO import StringIO +LOG = get_proxy_logger() def filesizeformat(bytes): @@ -108,14 +110,14 @@ class Output(object): def JS_Metric(cls, val_list): """v8 benchmark score""" results = [i for i, j in val_list] - logging.info("javascript benchmark") + LOG.info("javascript benchmark") return sum(results) @classmethod def CanvasMark_Metric(cls, val_list): """CanvasMark benchmark score (NOTE: this is identical to JS_Metric)""" results = [i for i, j in val_list] - logging.info("CanvasMark benchmark") + LOG.info("CanvasMark benchmark") return sum(results) @@ -150,7 +152,7 @@ class GraphserverOutput(Output): ) for test in self.results.results: - logging.debug("Working with test: %s", test.name()) + LOG.debug("Working with test: %s" % test.name()) # get full name of test testname = test.name() @@ -161,7 +163,7 @@ class GraphserverOutput(Output): # /run_tests.py#l176 testname += test.extension() - logging.debug("Generating results file: %s" % test.name()) + LOG.debug("Generating results file: %s" % test.name()) # HACK: when running xperf, we upload xperf counters to the graph # server but we do not want to @@ -184,7 +186,7 @@ class GraphserverOutput(Output): self.shortName(counter_type)) if not values: # failed to collect any data for this counter - logging.error( + LOG.error( "No results collected for: " + counterName ) # NOTE: we are not going to enforce this warning for now as this happens too @@ -218,7 +220,7 @@ class GraphserverOutput(Output): info['testname'] = counterName # append the counter string - logging.info( + LOG.info( "Generating results file: %s" % counterName) result_strings.append(self.construct_results(vals, **info)) @@ -276,7 +278,7 @@ class GraphserverOutput(Output): try: buffer.write("%d,%.2f,%s\n" % (i, float(val), page)) except ValueError: - logging.info( + LOG.info( "We expected a numeric value and recieved '%s' instead" % val ) @@ -292,7 +294,7 @@ class GraphserverOutput(Output): if line.find("RETURN\t") > -1: line = line.replace("RETURN\t", "") links += line + '\n' - logging.debug("process_Request line: %s", line) + LOG.debug("process_Request line: %s" % line) if not links: raise utils.TalosError("send failed, graph server says:\n%s" % post) @@ -308,9 +310,10 @@ class GraphserverOutput(Output): times = 0 msg = "" while times < self.retries: - logging.info( - "Posting result %d of %d to %s://%s%s, attempt %d", - index, len(results), scheme, server, path, times) + LOG.info( + "Posting result %d of %d to %s://%s%s, attempt %d" % ( + index, len(results), scheme, server, path, times) + ) try: links.append(self.process_Request( post_file.post_multipart(server, path, @@ -404,7 +407,7 @@ class PerfherderOutput(Output): # This is the output that treeherder expects to find when parsing the # log file - logging.info("PERFHERDER_DATA: %s" % json.dumps(results)) + LOG.info("PERFHERDER_DATA: %s" % json.dumps(results)) if results_scheme in ('file'): json.dump(results, file(results_path, 'w'), indent=2, sort_keys=True) diff --git a/testing/talos/talos/run_tests.py b/testing/talos/talos/run_tests.py index e6e5ec326b63..cc88037271fe 100755 --- a/testing/talos/talos/run_tests.py +++ b/testing/talos/talos/run_tests.py @@ -5,7 +5,6 @@ # file, You can obtain one at http://mozilla.org/MPL/2.0/. import mozversion -import logging import os import sys import time @@ -14,6 +13,8 @@ import urllib import utils import mozhttpd +from mozlog import get_proxy_logger + from talos.results import TalosResults from talos.ttest import TTest from talos.utils import TalosError, TalosCrash, TalosRegression @@ -21,6 +22,7 @@ from talos.config import get_configs, ConfigurationError # directory of this file here = os.path.dirname(os.path.realpath(__file__)) +LOG = get_proxy_logger() def useBaseTestDefaults(base, tests): @@ -67,7 +69,7 @@ def buildCommandLine(test): def setup_webserver(webserver): """use mozhttpd to setup a webserver""" - logging.info("starting webserver on %r" % webserver) + LOG.info("starting webserver on %r" % webserver) host, port = webserver.split(':') return mozhttpd.MozHttpd(host=host, port=int(port), docroot=here) @@ -153,8 +155,8 @@ def run_tests(config, browser_config): '%a, %d %b %Y %H:%M:%S GMT'))) else: date = int(time.time()) - logging.debug("using testdate: %d", date) - logging.debug("actual date: %d", int(time.time())) + LOG.debug("using testdate: %d" % date) + LOG.debug("actual date: %d" % int(time.time())) # results container talos_results = TalosResults(title=title, @@ -185,20 +187,20 @@ def run_tests(config, browser_config): try: # run the tests timer = utils.Timer() - logging.info("Starting test suite %s", title) + LOG.info("Starting test suite %s" % title) for test in tests: testname = test['name'] testtimer = utils.Timer() - logging.info("Starting test %s", testname) + LOG.info("Starting test %s" % testname) mytest = TTest() talos_results.add(mytest.runTest(browser_config, test)) - logging.info("Completed test %s (%s)", testname, - testtimer.elapsed()) + LOG.info("Completed test %s (%s)" + % (testname, testtimer.elapsed())) except TalosRegression: - logging.error("Detected a regression for %s", testname) + LOG.error("Detected a regression for %s" % testname) # by returning 1, we report an orange to buildbot # http://docs.buildbot.net/latest/developer/results.html return 1 @@ -212,7 +214,7 @@ def run_tests(config, browser_config): finally: httpd.stop() - logging.info("Completed test suite (%s)", timer.elapsed()) + LOG.info("Completed test suite (%s)" % timer.elapsed()) # output results if results_urls: @@ -233,7 +235,6 @@ def main(args=sys.argv[1:]): config, browser_config = get_configs() except ConfigurationError, exc: sys.exit("ERROR: %s" % exc) - utils.startLogger('debug' if config['debug'] else 'info') sys.exit(run_tests(config, browser_config)) diff --git a/testing/talos/talos/sps_profile.py b/testing/talos/talos/sps_profile.py index c48c8ea007fa..9c778007a08f 100644 --- a/testing/talos/talos/sps_profile.py +++ b/testing/talos/talos/sps_profile.py @@ -8,14 +8,16 @@ module to handle sps profilling. import os import tempfile -import logging import zipfile import json - import mozfile +from mozlog import get_proxy_logger + from talos.profiler import symbolication, sps +LOG = get_proxy_logger() + class SpsProfile(object): """ @@ -42,7 +44,7 @@ class SpsProfile(object): self.upload_dir, "profile_{0}.sps.zip".format(test_config['name']) ) - logging.info("Clearing archive {0}".format(self.profile_arcname)) + LOG.info("Clearing archive {0}".format(self.profile_arcname)) mozfile.remove(self.profile_arcname) self.symbol_paths = { @@ -51,11 +53,11 @@ class SpsProfile(object): 'WINDOWS': tempfile.mkdtemp() } - logging.info("Activating Gecko Profiling. Temp. profile dir:" - " {0}, interval: {1}, entries: {2}" - .format(sps_profile_dir, - sps_profile_interval, - sps_profile_entries)) + LOG.info("Activating Gecko Profiling. Temp. profile dir:" + " {0}, interval: {1}, entries: {2}" + .format(sps_profile_dir, + sps_profile_interval, + sps_profile_entries)) self.profiling_info = { "sps_profile_interval": sps_profile_interval, @@ -94,15 +96,17 @@ class SpsProfile(object): symbolicator.symbolicate_profile(profile) sps.save_profile(profile, profile_path) except MemoryError: - logging.exception( + LOG.critical( "Ran out of memory while trying" " to symbolicate profile {0} (cycle {1})" - .format(profile_path, cycle) + .format(profile_path, cycle), + exc_info=True ) except Exception: - logging.exception("Encountered an exception during profile" - " symbolication {0} (cycle {1})" - .format(profile_path, cycle)) + LOG.critical("Encountered an exception during profile" + " symbolication {0} (cycle {1})" + .format(profile_path, cycle), + exc_info=True) def symbolicate(self, cycle): """ @@ -182,14 +186,14 @@ class SpsProfile(object): testname, cycle_name ) - logging.info( + LOG.info( "Adding profile {0} to archive {1}" .format(path_in_zip, self.profile_arcname) ) try: arc.write(profile_path, path_in_zip) except Exception: - logging.exception( + LOG.exception( "Failed to copy profile {0} as {1} to" " archive {2}".format(profile_path, path_in_zip, diff --git a/testing/talos/talos/startup_test/media/media_manager.py b/testing/talos/talos/startup_test/media/media_manager.py index da83120f7392..a27bca29a932 100755 --- a/testing/talos/talos/startup_test/media/media_manager.py +++ b/testing/talos/talos/startup_test/media/media_manager.py @@ -6,11 +6,14 @@ import sys import platform import optparse -import logging import mozhttpd # media test utilities import media_utils +from mozlog import get_proxy_logger + +LOG = get_proxy_logger() + """ MediaManager serves as entry point for running media performance tests. It is responsible for the following @@ -134,9 +137,9 @@ def run_server(doc_root): ] ) - logging.info("Server %s at %s:%s", - httpd_server.docroot, httpd_server.host, - httpd_server.port) + LOG.info("Server %s at %s:%s" % (httpd_server.docroot, + httpd_server.host, + httpd_server.port)) ObjectDb.httpd_server = httpd_server httpd_server.start() return httpd_server diff --git a/testing/talos/talos/talos_process.py b/testing/talos/talos/talos_process.py index d70d837900af..f688bb934452 100644 --- a/testing/talos/talos/talos_process.py +++ b/testing/talos/talos/talos_process.py @@ -3,14 +3,17 @@ # You can obtain one at http://mozilla.org/MPL/2.0/. import time -import logging import psutil import mozcrash from mozprocess import ProcessHandler from threading import Event +from mozlog import get_proxy_logger + from utils import TalosError +LOG = get_proxy_logger() + class ProcessContext(object): """ @@ -26,7 +29,7 @@ class ProcessContext(object): def kill_process(self): if self.process and self.process.is_running(): - logging.debug("Terminating %s", self.process) + LOG.debug("Terminating %s" % self.process) self.process.terminate() try: self.process.wait(3) @@ -43,6 +46,7 @@ class Reader(object): self.got_timeout = False self.timeout_message = '' self.event = event + self.proc = None def __call__(self, line): if line.find('__endTimestamp') != -1: @@ -55,7 +59,7 @@ class Reader(object): if not (line.startswith('JavaScript error:') or line.startswith('JavaScript warning:')): - logging.debug('BROWSER_OUTPUT: %s', line) + LOG.process_output(self.proc.pid, line) self.output.append(line) @@ -94,7 +98,9 @@ def run_browser(command, minidump_dir, timeout=None, on_started=None, kwargs['processOutputLine'] = reader kwargs['onFinish'] = event.set proc = ProcessHandler(command, **kwargs) + reader.proc = proc proc.run() + LOG.process_start(proc.pid, ' '.join(command)) try: context.process = psutil.Process(proc.pid) if on_started: @@ -110,7 +116,7 @@ def run_browser(command, minidump_dir, timeout=None, on_started=None, if proc.wait(1) is not None: break if proc.poll() is None: - logging.info( + LOG.info( "Browser shutdown timed out after {0} seconds, terminating" " process.".format(wait_for_quit_timeout) ) @@ -129,6 +135,6 @@ def run_browser(command, minidump_dir, timeout=None, on_started=None, "__startAfterTerminationTimestamp%d__endAfterTerminationTimestamp" % (int(time.time()) * 1000)) - logging.info("Browser exited with error code: {0}".format(return_code)) + LOG.process_exit(proc.pid, return_code) context.output = reader.output return context diff --git a/testing/talos/talos/ttest.py b/testing/talos/talos/ttest.py index 40ab51f33633..272c94a38547 100644 --- a/testing/talos/talos/ttest.py +++ b/testing/talos/talos/ttest.py @@ -22,13 +22,16 @@ import mozcrash import talosconfig import shutil import mozfile -import logging + +from mozlog import get_proxy_logger from talos.utils import TalosCrash, TalosRegression from talos.talos_process import run_browser from talos.ffsetup import FFSetup from talos.cmanager import CounterManagement +LOG = get_proxy_logger() + class TTest(object): platform_type = utils.PLATFORM_TYPE @@ -56,7 +59,7 @@ class TTest(object): """ - logging.debug("operating with platform_type : %s", self.platform_type) + LOG.debug("operating with platform_type : %s" % self.platform_type) with FFSetup(browser_config, test_config) as setup: return self._runTest(browser_config, test_config, setup) @@ -103,8 +106,8 @@ class TTest(object): ) for i in range(test_config['cycles']): - logging.info("Running cycle %d/%d for %s test...", - i+1, test_config['cycles'], test_config['name']) + LOG.info("Running cycle %d/%d for %s test..." + % (i+1, test_config['cycles'], test_config['name'])) # remove the browser error file mozfile.remove(browser_config['error_filename']) @@ -116,8 +119,8 @@ class TTest(object): origin = os.path.join(test_config['profile_path'], keep) dest = os.path.join(setup.profile_dir, keep) - logging.debug("Reinstalling %s on top of %s", origin, - dest) + LOG.debug("Reinstalling %s on top of %s" + % (origin, dest)) shutil.copy(origin, dest) # Run the test @@ -245,7 +248,7 @@ class TTest(object): ) for c in test_results.all_counter_results: for key, value in c.items(): - logging.debug("COUNTER %r: %s", key, value) + LOG.debug("COUNTER %r: %s" % (key, value)) # return results return test_results diff --git a/testing/talos/talos/utils.py b/testing/talos/talos/utils.py index 56f5aed15570..e07807c75c7a 100755 --- a/testing/talos/talos/utils.py +++ b/testing/talos/talos/utils.py @@ -9,13 +9,15 @@ import time import urlparse import string import urllib -import logging import json import re import platform +from mozlog import get_proxy_logger + # directory of this file for use with interpolatePath() here = os.path.dirname(os.path.realpath(__file__)) +LOG = get_proxy_logger() def _get_platform(): @@ -53,13 +55,6 @@ class Timer(object): return time.strftime("%H:%M:%S", time.gmtime(seconds)) -def startLogger(levelChoice): - # declare and define global logger object to send logging messages to - log_levels = {'debug': logging.DEBUG, 'info': logging.INFO} - logging.basicConfig(format='%(asctime)-15s %(levelname)s : %(message)s', - level=log_levels[levelChoice]) - - class TalosError(Exception): "Errors found while running the talos harness." @@ -179,7 +174,6 @@ def GenerateBrowserCommandLine(browser_path, extra_args, profile_dir, if url.find('media_manager.py') != -1: command_args = url.split(' ') - logging.debug("command line: %s", ' '.join(command_args)) return command_args From b2f9b8b3afb448ee81f66c124eb3184d5e4f319e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Pag=C3=A8s?= Date: Mon, 14 Dec 2015 15:15:42 +0100 Subject: [PATCH 011/101] Bug 1229379 - use mozlog test report protocol in talos. r=jmaher --HG-- extra : commitid : 89i3Uz8AKrd extra : rebase_source : 23ff3e021dcb2bbf4eea52110e219eaabb8952a9 --- testing/talos/talos/run_tests.py | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/testing/talos/talos/run_tests.py b/testing/talos/talos/run_tests.py index cc88037271fe..878dc24790ab 100755 --- a/testing/talos/talos/run_tests.py +++ b/testing/talos/talos/run_tests.py @@ -17,7 +17,7 @@ from mozlog import get_proxy_logger from talos.results import TalosResults from talos.ttest import TTest -from talos.utils import TalosError, TalosCrash, TalosRegression +from talos.utils import TalosError, TalosRegression from talos.config import get_configs, ConfigurationError # directory of this file @@ -184,34 +184,36 @@ def run_tests(config, browser_config): httpd.start() testname = None + # run the tests + timer = utils.Timer() + LOG.suite_start(tests=[test['name'] for test in tests]) try: - # run the tests - timer = utils.Timer() - LOG.info("Starting test suite %s" % title) for test in tests: testname = test['name'] - testtimer = utils.Timer() - LOG.info("Starting test %s" % testname) + LOG.test_start(testname) mytest = TTest() talos_results.add(mytest.runTest(browser_config, test)) - LOG.info("Completed test %s (%s)" - % (testname, testtimer.elapsed())) + LOG.test_end(testname, status='OK') - except TalosRegression: + except TalosRegression as exc: LOG.error("Detected a regression for %s" % testname) # by returning 1, we report an orange to buildbot # http://docs.buildbot.net/latest/developer/results.html + LOG.test_end(testname, status='FAIL', message=unicode(exc), + stack=traceback.format_exc()) return 1 - except (TalosCrash, TalosError): + except Exception as exc: # NOTE: if we get into this condition, talos has an internal # problem and cannot continue # this will prevent future tests from running - traceback.print_exception(*sys.exc_info()) + LOG.test_end(testname, status='ERROR', message=unicode(exc), + stack=traceback.format_exc()) # indicate a failure to buildbot, turn the job red return 2 finally: + LOG.suite_end() httpd.stop() LOG.info("Completed test suite (%s)" % timer.elapsed()) From eda3570f56181b30d1ec1ef72cab903b29ffb4d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Pag=C3=A8s?= Date: Fri, 18 Dec 2015 12:22:55 +0100 Subject: [PATCH 012/101] Bug 1233664 - talos failure when firefox exit code is not detected. r=jmaher --HG-- extra : commitid : 4fg5pDclZb3 extra : rebase_source : ea88c9a9613c37274a29662a300788e256cee1fa --- testing/talos/talos/talos_process.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/testing/talos/talos/talos_process.py b/testing/talos/talos/talos_process.py index f688bb934452..b601240f33a3 100644 --- a/testing/talos/talos/talos_process.py +++ b/testing/talos/talos/talos_process.py @@ -28,15 +28,19 @@ class ProcessContext(object): return self.process and self.process.pid def kill_process(self): + """ + Kill the process, returning the exit code or None if the process + is already finished. + """ if self.process and self.process.is_running(): LOG.debug("Terminating %s" % self.process) self.process.terminate() try: - self.process.wait(3) + return self.process.wait(3) except psutil.TimeoutExpired: self.process.kill() # will raise TimeoutExpired if unable to kill - self.process.wait(3) + return self.process.wait(3) class Reader(object): @@ -125,8 +129,9 @@ def run_browser(command, minidump_dir, timeout=None, on_started=None, finally: # this also handle KeyboardInterrupt # ensure early the process is really terminated - context.kill_process() - return_code = proc.wait(1) + return_code = context.kill_process() + if return_code is None: + return_code = proc.wait(1) reader.output.append( "__startBeforeLaunchTimestamp%d__endBeforeLaunchTimestamp" @@ -135,6 +140,9 @@ def run_browser(command, minidump_dir, timeout=None, on_started=None, "__startAfterTerminationTimestamp%d__endAfterTerminationTimestamp" % (int(time.time()) * 1000)) - LOG.process_exit(proc.pid, return_code) + if return_code is not None: + LOG.process_exit(proc.pid, return_code) + else: + LOG.debug("Unable to detect exit code of the process %s." % proc.pid) context.output = reader.output return context From 591c11db903e24dbb67dfb421db296e043cf8523 Mon Sep 17 00:00:00 2001 From: Nathan Froyd Date: Sun, 6 Dec 2015 07:54:29 -0500 Subject: [PATCH 013/101] Bug 1232458 - use UniquePtr instead of nsAutoArrayPtr in WindowsDllBlocklist.cpp; r=aklotz --- mozglue/build/WindowsDllBlocklist.cpp | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/mozglue/build/WindowsDllBlocklist.cpp b/mozglue/build/WindowsDllBlocklist.cpp index de47976cc9fc..90e962502ff9 100644 --- a/mozglue/build/WindowsDllBlocklist.cpp +++ b/mozglue/build/WindowsDllBlocklist.cpp @@ -16,6 +16,7 @@ #include "nsAutoPtr.h" #include "nsWindowsDllInterceptor.h" +#include "mozilla/UniquePtrExtensions.h" #include "mozilla/WindowsVersion.h" #include "nsWindowsHelpers.h" @@ -478,8 +479,8 @@ DllBlockSet::Write(HANDLE file) ::LeaveCriticalSection(&sLock); } -static -wchar_t* getFullPath (PWCHAR filePath, wchar_t* fname) +static UniquePtr +getFullPath (PWCHAR filePath, wchar_t* fname) { // In Windows 8, the first parameter seems to be used for more than just the // path name. For example, its numerical value can be 1. Passing a non-valid @@ -494,7 +495,7 @@ wchar_t* getFullPath (PWCHAR filePath, wchar_t* fname) return nullptr; } - wchar_t* full_fname = new wchar_t[pathlen+1]; + auto full_fname = MakeUniqueFallible(pathlen+1); if (!full_fname) { // couldn't allocate memory? return nullptr; @@ -529,7 +530,7 @@ patched_LdrLoadDll (PWCHAR filePath, PULONG flags, PUNICODE_STRING moduleFileNam int len = moduleFileName->Length / 2; wchar_t *fname = moduleFileName->Buffer; - nsAutoArrayPtr full_fname; + UniquePtr full_fname; // The filename isn't guaranteed to be null terminated, but in practice // it always will be; ensure that this is so, and bail if not. @@ -652,22 +653,22 @@ patched_LdrLoadDll (PWCHAR filePath, PULONG flags, PUNICODE_STRING moduleFileNam } if (info->flags & DllBlockInfo::USE_TIMESTAMP) { - fVersion = GetTimestamp(full_fname); + fVersion = GetTimestamp(full_fname.get()); if (fVersion > info->maxVersion) { load_ok = true; } } else { DWORD zero; - DWORD infoSize = GetFileVersionInfoSizeW(full_fname, &zero); + DWORD infoSize = GetFileVersionInfoSizeW(full_fname.get(), &zero); // If we failed to get the version information, we block. if (infoSize != 0) { - nsAutoArrayPtr infoData(new unsigned char[infoSize]); + auto infoData = MakeUnique(infoSize); VS_FIXEDFILEINFO *vInfo; UINT vInfoLen; - if (GetFileVersionInfoW(full_fname, 0, infoSize, infoData) && + if (GetFileVersionInfoW(full_fname.get(), 0, infoSize, infoData.get()) && VerQueryValueW(infoData, L"\\", (LPVOID*) &vInfo, &vInfoLen)) { fVersion = @@ -704,7 +705,7 @@ continue_loading: return STATUS_DLL_NOT_FOUND; } - if (IsVistaOrLater() && !CheckASLR(full_fname)) { + if (IsVistaOrLater() && !CheckASLR(full_fname.get())) { printf_stderr("LdrLoadDll: Blocking load of '%s'. XPCOM components must support ASLR.\n", dllName); return STATUS_DLL_NOT_FOUND; } From 1df1729578060cec6c9aa36e9b51973f59c90250 Mon Sep 17 00:00:00 2001 From: Armen Zambrano Gasparnian Date: Fri, 18 Dec 2015 10:02:01 -0500 Subject: [PATCH 014/101] Bug 1228632 - Fix Linux 64 mochitest-other definition for TC jobs. DONTBUILD. r=jmaher --HG-- extra : commitid : 88aG50jCW0u --- testing/taskcluster/tasks/tests/fx_linux64_mochitest_other.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testing/taskcluster/tasks/tests/fx_linux64_mochitest_other.yml b/testing/taskcluster/tasks/tests/fx_linux64_mochitest_other.yml index 884f5a870491..411df6d82453 100644 --- a/testing/taskcluster/tasks/tests/fx_linux64_mochitest_other.yml +++ b/testing/taskcluster/tasks/tests/fx_linux64_mochitest_other.yml @@ -15,7 +15,7 @@ task: extra: suite: name: mochitest - flavor: mochitest-other + flavor: chrome,a11y treeherder: groupName: Desktop mochitests groupSymbol: tc-M From b5c707b43388da41928124f6d24b0ff960ada52f Mon Sep 17 00:00:00 2001 From: Paul Adenot Date: Tue, 1 Dec 2015 11:36:28 +0100 Subject: [PATCH 015/101] Bug 1203585 - Add a comment block on how MediaStreamGraph switch GraphDrivers. r=jesup --HG-- extra : commitid : CVaELpK3iU1 --- dom/media/GraphDriver.h | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/dom/media/GraphDriver.h b/dom/media/GraphDriver.h index 59732766355f..23ec2205c000 100644 --- a/dom/media/GraphDriver.h +++ b/dom/media/GraphDriver.h @@ -61,6 +61,46 @@ class OfflineClockDriver; * OfflineClockDriver, if the graph is offline, or a SystemClockDriver, if the * graph is real time. * A MediaStreamGraph holds an owning reference to its driver. + * + * The lifetime of drivers is a complicated affair. Here are the different + * scenarii that can happen: + * + * Starting a MediaStreamGraph with an AudioCallbackDriver + * - A new thread T is created, from the main thread. + * - On this thread T, cubeb is initialized if needed, and a cubeb_stream is + * created and started + * - The thread T posts a message to the main thread to terminate itself. + * - The graph runs off the audio thread + * + * Starting a MediaStreamGraph with a SystemClockDriver: + * - A new thread T is created from the main thread. + * - The graph runs off this thread. + * + * Switching from a SystemClockDriver to an AudioCallbackDriver: + * - A new AudioCallabackDriver is created and initialized on the graph thread + * - At the end of the MSG iteration, the SystemClockDriver transfers its timing + * info and a reference to itself to the AudioCallbackDriver. It then starts + * the AudioCallbackDriver. + * - When the AudioCallbackDriver starts, it checks if it has been switched from + * a SystemClockDriver, and if that is the case, sends a message to the main + * thread to shut the SystemClockDriver thread down. + * - The graph now runs off an audio callback + * + * Switching from an AudioCallbackDriver to a SystemClockDriver: + * - A new SystemClockDriver is created, and set as mNextDriver. + * - At the end of the MSG iteration, the AudioCallbackDriver transfers its + * timing info and a reference to itself to the SystemClockDriver. A new + * SystemClockDriver is started from the current audio thread. + * - When starting, the SystemClockDriver checks if it has been switched from an + * AudioCallbackDriver. If yes, it creates a new temporary thread to release + * the cubeb_streams. This temporary thread closes the cubeb_stream, and + * then dispatches a message to the main thread to be terminated. + * - The graph now runs off a normal thread. + * + * Two drivers cannot run at the same time for the same graph. The thread safety + * of the different attributes of drivers, and they access pattern is documented + * next to the members themselves. + * */ class GraphDriver { From 50fb8956370f620e6aa132b966332395eee7ca26 Mon Sep 17 00:00:00 2001 From: Paul Adenot Date: Tue, 1 Dec 2015 11:47:31 +0100 Subject: [PATCH 016/101] Bug 1203585 - Add new methods to GraphDriver to assert that locks are held. r=jesup --HG-- extra : commitid : E8XmcSExg9V --- dom/media/GraphDriver.cpp | 150 ++++++++++++++++++++++++-------------- dom/media/GraphDriver.h | 14 ++-- 2 files changed, 102 insertions(+), 62 deletions(-) diff --git a/dom/media/GraphDriver.cpp b/dom/media/GraphDriver.cpp index bb3e5ae09b16..ad56bb2ca846 100644 --- a/dom/media/GraphDriver.cpp +++ b/dom/media/GraphDriver.cpp @@ -64,9 +64,9 @@ void GraphDriver::SetGraphTime(GraphDriver* aPreviousDriver, mIterationStart = aLastSwitchNextIterationStart; mIterationEnd = aLastSwitchNextIterationEnd; - STREAM_LOG(LogLevel::Debug, ("Setting previous driver: %p (%s)", aPreviousDriver, aPreviousDriver->AsAudioCallbackDriver() ? "AudioCallbackDriver" : "SystemClockDriver")); - MOZ_ASSERT(!mPreviousDriver); - mPreviousDriver = aPreviousDriver; + STREAM_LOG(LogLevel::Debug, ("Setting previous driver: %p (%s)", PreviousDriver(), PreviousDriver()->AsAudioCallbackDriver() ? "AudioCallbackDriver" : "SystemClockDriver")); + MOZ_ASSERT(!PreviousDriver()); + SetPreviousDriver(aPreviousDriver); } void GraphDriver::SwitchAtNextIteration(GraphDriver* aNextDriver) @@ -78,23 +78,15 @@ void GraphDriver::SwitchAtNextIteration(GraphDriver* aNextDriver) // request to switch, since we know we will switch back to the old // AudioCallbackDriver when it has recovered from the device switching. if (aNextDriver->AsAudioCallbackDriver() && - mPreviousDriver && - mPreviousDriver->AsAudioCallbackDriver()->IsSwitchingDevice() && - mPreviousDriver != aNextDriver) { + PreviousDriver() && + PreviousDriver()->AsAudioCallbackDriver()->IsSwitchingDevice() && + PreviousDriver() != aNextDriver) { return; } LIFECYCLE_LOG("Switching to new driver: %p (%s)", aNextDriver, aNextDriver->AsAudioCallbackDriver() ? "AudioCallbackDriver" : "SystemClockDriver"); - mNextDriver = aNextDriver; -} - -void GraphDriver::EnsureImmediateWakeUpLocked() -{ - mGraphImpl->GetMonitor().AssertCurrentThreadOwns(); - mWaitState = WAITSTATE_WAKING_UP; - mGraphImpl->mGraphDriverAsleep = false; // atomic - mGraphImpl->GetMonitor().Notify(); + SetNextDriver(aNextDriver); } GraphTime @@ -151,6 +143,36 @@ void GraphDriver::Shutdown() } } +bool GraphDriver::Switching() +{ + GraphImpl()->GetMonitor().AssertCurrentThreadOwns(); + return mNextDriver || mPreviousDriver; +} + +GraphDriver* GraphDriver::NextDriver() +{ + GraphImpl()->GetMonitor().AssertCurrentThreadOwns(); + return mNextDriver; +} + +GraphDriver* GraphDriver::PreviousDriver() +{ + GraphImpl()->GetMonitor().AssertCurrentThreadOwns(); + return mPreviousDriver; +} + +void GraphDriver::SetNextDriver(GraphDriver* aNextDriver) +{ + GraphImpl()->GetMonitor().AssertCurrentThreadOwns(); + mNextDriver = aNextDriver; +} + +void GraphDriver::SetPreviousDriver(GraphDriver* aPreviousDriver) +{ + GraphImpl()->GetMonitor().AssertCurrentThreadOwns(); + mPreviousDriver = aPreviousDriver; +} + ThreadedDriver::ThreadedDriver(MediaStreamGraphImpl* aGraphImpl) : GraphDriver(aGraphImpl) { } @@ -174,20 +196,28 @@ public: profiler_register_thread("MediaStreamGraph", &aLocal); LIFECYCLE_LOG("Starting a new system driver for graph %p\n", mDriver->mGraphImpl); - if (mDriver->mPreviousDriver) { + + GraphDriver* previousDriver = nullptr; + { + MonitorAutoLock mon(mDriver->mGraphImpl->GetMonitor()); + previousDriver = mDriver->PreviousDriver(); + } + if (previousDriver) { LIFECYCLE_LOG("%p releasing an AudioCallbackDriver(%p), for graph %p\n", mDriver, - mDriver->mPreviousDriver.get(), + previousDriver, mDriver->GraphImpl()); MOZ_ASSERT(!mDriver->AsAudioCallbackDriver()); // Stop and release the previous driver off-main-thread, but only if we're // not in the situation where we've fallen back to a system clock driver // because the osx audio stack is currently switching output device. - if (!mDriver->mPreviousDriver->AsAudioCallbackDriver()->IsSwitchingDevice()) { + if (!previousDriver->AsAudioCallbackDriver()->IsSwitchingDevice()) { RefPtr releaseEvent = - new AsyncCubebTask(mDriver->mPreviousDriver->AsAudioCallbackDriver(), AsyncCubebOperation::SHUTDOWN); - mDriver->mPreviousDriver = nullptr; + new AsyncCubebTask(previousDriver->AsAudioCallbackDriver(), AsyncCubebOperation::SHUTDOWN); releaseEvent->Dispatch(); + + MonitorAutoLock mon(mDriver->mGraphImpl->GetMonitor()); + mDriver->SetPreviousDriver(nullptr); } } else { MonitorAutoLock mon(mDriver->mGraphImpl->GetMonitor()); @@ -228,10 +258,10 @@ ThreadedDriver::Revive() // If we were switching, switch now. Otherwise, tell thread to run the main // loop again. MonitorAutoLock mon(mGraphImpl->GetMonitor()); - if (mNextDriver) { - mNextDriver->SetGraphTime(this, mIterationStart, mIterationEnd); - mGraphImpl->SetCurrentDriver(mNextDriver); - mNextDriver->Start(); + if (NextDriver()) { + NextDriver()->SetGraphTime(this, mIterationStart, mIterationEnd); + mGraphImpl->SetCurrentDriver(NextDriver()); + NextDriver()->Start(); } else { nsCOMPtr event = new MediaStreamGraphInitThreadRunnable(this); mThread->Dispatch(event, NS_DISPATCH_NORMAL); @@ -302,11 +332,12 @@ ThreadedDriver::RunThread() stillProcessing = mGraphImpl->OneIteration(nextStateComputedTime); - if (mNextDriver && stillProcessing) { + MonitorAutoLock lock(GraphImpl()->GetMonitor()); + if (NextDriver() && stillProcessing) { STREAM_LOG(LogLevel::Debug, ("Switching to AudioCallbackDriver")); - mNextDriver->SetGraphTime(this, mIterationStart, mIterationEnd); - mGraphImpl->SetCurrentDriver(mNextDriver); - mNextDriver->Start(); + NextDriver()->SetGraphTime(this, mIterationStart, mIterationEnd); + mGraphImpl->SetCurrentDriver(NextDriver()); + NextDriver()->Start(); return; } } @@ -373,8 +404,7 @@ SystemClockDriver::WaitForNextIteration() mGraphImpl->mNeedAnotherIteration = false; } -void -SystemClockDriver::WakeUp() +void SystemClockDriver::WakeUp() { mGraphImpl->GetMonitor().AssertCurrentThreadOwns(); mWaitState = WAITSTATE_WAKING_UP; @@ -568,12 +598,13 @@ AudioCallbackDriver::Init() } else { NS_WARNING("Could not create a cubeb stream for MediaStreamGraph, falling back to a SystemClockDriver"); // Fall back to a driver using a normal thread. - mNextDriver = new SystemClockDriver(GraphImpl()); - mNextDriver->SetGraphTime(this, mIterationStart, mIterationEnd); - mGraphImpl->SetCurrentDriver(mNextDriver); + MonitorAutoLock lock(GraphImpl()->GetMonitor()); + SetNextDriver(new SystemClockDriver(GraphImpl())); + NextDriver()->SetGraphTime(this, mIterationStart, mIterationEnd); + mGraphImpl->SetCurrentDriver(NextDriver()); DebugOnly found = mGraphImpl->RemoveMixerCallback(this); NS_WARN_IF_FALSE(!found, "Mixer callback not added when switching?"); - mNextDriver->Start(); + NextDriver()->Start(); return; } @@ -614,18 +645,23 @@ AudioCallbackDriver::Start() initEvent->Dispatch(); } else { STREAM_LOG(LogLevel::Debug, ("Starting audio threads for MediaStreamGraph %p from the previous driver's thread", mGraphImpl)); - Init(); + { + MonitorAutoUnlock mon(GraphImpl()->GetMonitor()); + Init(); + } // Check if we need to resolve promises because the driver just got switched // because of a resuming AudioContext if (!mPromisesForOperation.IsEmpty()) { + // CompleteAudioContextOperations takes the lock as needed + MonitorAutoUnlock mon(GraphImpl()->GetMonitor()); CompleteAudioContextOperations(AsyncCubebOperation::INIT); } - if (mPreviousDriver) { + if (PreviousDriver()) { nsCOMPtr event = - new MediaStreamGraphShutdownThreadRunnable(mPreviousDriver); - mPreviousDriver = nullptr; + new MediaStreamGraphShutdownThreadRunnable(PreviousDriver()); + SetPreviousDriver(nullptr); NS_DispatchToMainThread(event); } } @@ -661,10 +697,10 @@ AudioCallbackDriver::Revive() STREAM_LOG(LogLevel::Debug, ("AudioCallbackDriver reviving.")); // If we were switching, switch now. Otherwise, start the audio thread again. MonitorAutoLock mon(mGraphImpl->GetMonitor()); - if (mNextDriver) { - mNextDriver->SetGraphTime(this, mIterationStart, mIterationEnd); - mGraphImpl->SetCurrentDriver(mNextDriver); - mNextDriver->Start(); + if (NextDriver()) { + NextDriver()->SetGraphTime(this, mIterationStart, mIterationEnd); + mGraphImpl->SetCurrentDriver(NextDriver()); + NextDriver()->Start(); } else { STREAM_LOG(LogLevel::Debug, ("Starting audio threads for MediaStreamGraph %p from a new thread.", mGraphImpl)); RefPtr initEvent = @@ -743,7 +779,7 @@ AudioCallbackDriver::OSXDeviceSwitchingWorkaround() // the self reference and unref the SystemClockDriver we fallen back on. if (GraphImpl()->CurrentDriver() == this) { mSelfReference.Drop(this); - mNextDriver = nullptr; + SetNextDriver(nullptr); } else { GraphImpl()->CurrentDriver()->SwitchAtNextIteration(this); } @@ -853,19 +889,23 @@ AudioCallbackDriver::DataCallback(AudioDataValue* aBuffer, long aFrames) mBuffer.BufferFilled(); - if (mNextDriver && stillProcessing) { - { - // If the audio stream has not been started by the previous driver or - // the graph itself, keep it alive. - MonitorAutoLock mon(mGraphImpl->GetMonitor()); - if (!IsStarted()) { - return aFrames; - } + bool switching = false; + { + MonitorAutoLock mon(mGraphImpl->GetMonitor()); + switching = !!NextDriver(); + } + + if (switching && stillProcessing) { + // If the audio stream has not been started by the previous driver or + // the graph itself, keep it alive. + MonitorAutoLock mon(mGraphImpl->GetMonitor()); + if (!IsStarted()) { + return aFrames; } STREAM_LOG(LogLevel::Debug, ("Switching to system driver.")); - mNextDriver->SetGraphTime(this, mIterationStart, mIterationEnd); - mGraphImpl->SetCurrentDriver(mNextDriver); - mNextDriver->Start(); + NextDriver()->SetGraphTime(this, mIterationStart, mIterationEnd); + mGraphImpl->SetCurrentDriver(NextDriver()); + NextDriver()->Start(); // Returning less than aFrames starts the draining and eventually stops the // audio thread. This function will never get called again. return aFrames - 1; @@ -968,7 +1008,7 @@ AudioCallbackDriver::DeviceChangedCallback() { STREAM_LOG(LogLevel::Error, ("Switching to SystemClockDriver during output switch")); mSelfReference.Take(this); mCallbackReceivedWhileSwitching = 0; - mNextDriver = new SystemClockDriver(GraphImpl()); + SetNextDriver(new SystemClockDriver(GraphImpl())); mNextDriver->SetGraphTime(this, mIterationStart, mIterationEnd); mGraphImpl->SetCurrentDriver(mNextDriver); mNextDriver->Start(); diff --git a/dom/media/GraphDriver.h b/dom/media/GraphDriver.h index 23ec2205c000..96e81ca5cf50 100644 --- a/dom/media/GraphDriver.h +++ b/dom/media/GraphDriver.h @@ -132,14 +132,14 @@ public: virtual uint32_t IterationDuration() = 0; /* Return whether we are switching or not. */ - bool Switching() { - return mNextDriver || mPreviousDriver; - } + bool Switching(); - GraphDriver* NextDriver() - { - return mNextDriver; - } + // Those are simply or setting the associated pointer, but assert that the + // lock is held. + GraphDriver* NextDriver(); + GraphDriver* PreviousDriver(); + void SetNextDriver(GraphDriver* aNextDriver); + void SetPreviousDriver(GraphDriver* aPreviousDriver); /** * If we are running a real time graph, get the current time stamp to schedule From 2a78933e7922781c411145b1af5b2c7d9b70e7c3 Mon Sep 17 00:00:00 2001 From: Paul Adenot Date: Tue, 1 Dec 2015 11:47:59 +0100 Subject: [PATCH 017/101] Bug 1203585 - Add threading assertions to GraphDriver switching methods. r=jesup --HG-- extra : commitid : 6stjXK4ET1x --- dom/media/GraphDriver.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dom/media/GraphDriver.cpp b/dom/media/GraphDriver.cpp index ad56bb2ca846..663a7020db92 100644 --- a/dom/media/GraphDriver.cpp +++ b/dom/media/GraphDriver.cpp @@ -57,6 +57,7 @@ void GraphDriver::SetGraphTime(GraphDriver* aPreviousDriver, GraphTime aLastSwitchNextIterationStart, GraphTime aLastSwitchNextIterationEnd) { + GraphImpl()->GetMonitor().AssertCurrentThreadOwns(); // We set mIterationEnd here, because the first thing a driver do when it // does an iteration is to update graph times, so we are in fact setting // mIterationStart of the next iteration by setting the end of the previous @@ -71,6 +72,7 @@ void GraphDriver::SetGraphTime(GraphDriver* aPreviousDriver, void GraphDriver::SwitchAtNextIteration(GraphDriver* aNextDriver) { + GraphImpl()->GetMonitor().AssertCurrentThreadOwns(); // This is the situation where `mPreviousDriver` is an AudioCallbackDriver // that is switching device, and the graph has found the current driver is not // an AudioCallbackDriver, but tries to switch to a _new_ AudioCallbackDriver From 507c38edb6feebec6b978cf22050eb3a6e8fbfcd Mon Sep 17 00:00:00 2001 From: Paul Adenot Date: Tue, 1 Dec 2015 11:48:02 +0100 Subject: [PATCH 018/101] Bug 1203585 - Update the MediaStreamGraph code to lock properly. r=jesup --HG-- extra : commitid : 1Z2bwSfIbnB --- dom/media/MediaStreamGraph.cpp | 52 +++++++++++++++++++++++++++------- 1 file changed, 41 insertions(+), 11 deletions(-) diff --git a/dom/media/MediaStreamGraph.cpp b/dom/media/MediaStreamGraph.cpp index 868b97b0de7a..24185d544923 100644 --- a/dom/media/MediaStreamGraph.cpp +++ b/dom/media/MediaStreamGraph.cpp @@ -361,9 +361,15 @@ MediaStreamGraphImpl::UpdateStreamOrder() } } + bool switching = false; + { + MonitorAutoLock mon(mMonitor); + switching = CurrentDriver()->Switching(); + } + if (audioTrackPresent && mRealtime && !CurrentDriver()->AsAudioCallbackDriver() && - !CurrentDriver()->Switching()) { + !switching) { MonitorAutoLock mon(mMonitor); if (mLifecycleState == LIFECYCLE_RUNNING) { AudioCallbackDriver* driver = new AudioCallbackDriver(this); @@ -621,8 +627,15 @@ MediaStreamGraphImpl::CreateOrDestroyAudioStreams(MediaStream* aStream) audioOutputStream->mLastTickWritten = 0; audioOutputStream->mTrackID = tracks->GetID(); + bool switching = false; + + { + MonitorAutoLock lock(mMonitor); + switching = CurrentDriver()->Switching(); + } + if (!CurrentDriver()->AsAudioCallbackDriver() && - !CurrentDriver()->Switching()) { + !switching) { MonitorAutoLock mon(mMonitor); if (mLifecycleState == LIFECYCLE_RUNNING) { AudioCallbackDriver* driver = new AudioCallbackDriver(this); @@ -1164,8 +1177,13 @@ MediaStreamGraphImpl::Process() // If we are switching away from an AudioCallbackDriver, we don't need the // mixer anymore. + bool switching = false; + { + MonitorAutoLock lock(mMonitor); + switching = CurrentDriver()->Switching(); + } if (CurrentDriver()->AsAudioCallbackDriver() && - CurrentDriver()->Switching()) { + switching) { bool isStarted; { MonitorAutoLock mon(mMonitor); @@ -3023,6 +3041,16 @@ MediaStreamGraphImpl::ApplyAudioContextOperationImpl( SuspendOrResumeStreams(aOperation, aStreams); + bool switching = false; + GraphDriver* nextDriver = nullptr; + { + MonitorAutoLock lock(mMonitor); + switching = CurrentDriver()->Switching(); + if (switching) { + nextDriver = CurrentDriver()->NextDriver(); + } + } + // If we have suspended the last AudioContext, and we don't have other // streams that have audio, this graph will automatically switch to a // SystemCallbackDriver, because it can't find a MediaStream that has an audio @@ -3032,12 +3060,13 @@ MediaStreamGraphImpl::ApplyAudioContextOperationImpl( if (aOperation == AudioContextOperation::Resume) { if (!CurrentDriver()->AsAudioCallbackDriver()) { AudioCallbackDriver* driver; - if (CurrentDriver()->Switching()) { - MOZ_ASSERT(CurrentDriver()->NextDriver()->AsAudioCallbackDriver()); - driver = CurrentDriver()->NextDriver()->AsAudioCallbackDriver(); + if (switching) { + MOZ_ASSERT(nextDriver->AsAudioCallbackDriver()); + driver = nextDriver->AsAudioCallbackDriver(); } else { driver = new AudioCallbackDriver(this); mMixer.AddCallback(driver); + MonitorAutoLock lock(mMonitor); CurrentDriver()->SwitchAtNextIteration(driver); } driver->EnqueueStreamAndPromiseForOperation(aDestinationStream, @@ -3071,19 +3100,20 @@ MediaStreamGraphImpl::ApplyAudioContextOperationImpl( aOperation); SystemClockDriver* driver; - if (CurrentDriver()->NextDriver()) { - MOZ_ASSERT(!CurrentDriver()->NextDriver()->AsAudioCallbackDriver()); + if (nextDriver) { + MOZ_ASSERT(!nextDriver->AsAudioCallbackDriver()); } else { driver = new SystemClockDriver(this); mMixer.RemoveCallback(CurrentDriver()->AsAudioCallbackDriver()); + MonitorAutoLock lock(mMonitor); CurrentDriver()->SwitchAtNextIteration(driver); } // We are closing or suspending an AudioContext, but we just got resumed. // Queue the operation on the next driver so that the ordering is // preserved. - } else if (!audioTrackPresent && CurrentDriver()->Switching()) { - MOZ_ASSERT(CurrentDriver()->NextDriver()->AsAudioCallbackDriver()); - CurrentDriver()->NextDriver()->AsAudioCallbackDriver()-> + } else if (!audioTrackPresent && switching) { + MOZ_ASSERT(nextDriver->AsAudioCallbackDriver()); + nextDriver->AsAudioCallbackDriver()-> EnqueueStreamAndPromiseForOperation(aDestinationStream, aPromise, aOperation); } else { From fa96e4558d45b3cbf140fb614a2ac332f79bbd24 Mon Sep 17 00:00:00 2001 From: Paul Adenot Date: Tue, 1 Dec 2015 11:48:06 +0100 Subject: [PATCH 019/101] Bug 1203585 - Add comments about threading and locking on GraphDriver's members. r=jesup --HG-- extra : commitid : DLgo3xduShJ --- dom/media/GraphDriver.h | 40 ++++++++++++++++++++++++++++++++-------- 1 file changed, 32 insertions(+), 8 deletions(-) diff --git a/dom/media/GraphDriver.h b/dom/media/GraphDriver.h index 96e81ca5cf50..3ae3fb9cf336 100644 --- a/dom/media/GraphDriver.h +++ b/dom/media/GraphDriver.h @@ -219,12 +219,15 @@ public: protected: GraphTime StateComputedTime() const; - // Time of the start of this graph iteration. + // Time of the start of this graph iteration. This must be accessed while + // having the monitor. GraphTime mIterationStart; - // Time of the end of this graph iteration. + // Time of the end of this graph iteration. This must be accessed while having + // the monitor. GraphTime mIterationEnd; // The MediaStreamGraphImpl that owns this driver. This has a lifetime longer - // than the driver, and will never be null. + // than the driver, and will never be null. Hence, it can be accesed without + // monitor. MediaStreamGraphImpl* mGraphImpl; // This enum specifies the wait state of the driver. @@ -240,15 +243,26 @@ protected: // but it hasn't done so yet WAITSTATE_WAKING_UP }; + // This must be access with the monitor. WaitState mWaitState; + // This is used on the main thread (during initialization), and the graph + // thread. No monitor needed because we know the graph thread does not run + // during the initialization. TimeStamp mCurrentTimeStamp; // This is non-null only when this driver has recently switched from an other // driver, and has not cleaned it up yet (for example because the audio stream // is currently calling the callback during initialization). + // + // This is written to when changing driver, from the previous driver's thread, + // or a thread created for the occasion. This is read each time we need to + // check whether we're changing driver (in Switching()), from the graph + // thread. + // This must be accessed using the {Set,Get}PreviousDriver methods. RefPtr mPreviousDriver; // This is non-null only when this driver is going to switch to an other // driver at the end of this iteration. + // This must be accessed using the {Set,Get}NextDriver methods. RefPtr mNextDriver; virtual ~GraphDriver() { } @@ -304,6 +318,8 @@ public: private: + // Those are only modified (after initialization) on the graph thread. The + // graph thread does not run during the initialization. TimeStamp mInitialTimeStamp; TimeStamp mLastTimeStamp; }; @@ -460,18 +476,22 @@ private: /* The size of this buffer comes from the fact that some audio backends can * call back with a number of frames lower than one block (128 frames), so we * need to keep at most two block in the SpillBuffer, because we always round - * up to block boundaries during an iteration. */ + * up to block boundaries during an iteration. + * This is only ever accessed on the audio callback thread. */ SpillBuffer mScratchBuffer; /* Wrapper to ensure we write exactly the number of frames we need in the - * audio buffer cubeb passes us. */ + * audio buffer cubeb passes us. This is only ever accessed on the audio + * callback thread. */ AudioCallbackBufferWrapper mBuffer; /* cubeb stream for this graph. This is guaranteed to be non-null after Init() - * has been called. */ + * has been called, and is synchronized internaly. */ nsAutoRef mAudioStream; - /* The sample rate for the aforementionned cubeb stream. */ + /* The sample rate for the aforementionned cubeb stream. This is set on + * initialization and can be read safely afterwards. */ uint32_t mSampleRate; /* Approximation of the time between two callbacks. This is used to schedule - * video frames. This is in milliseconds. */ + * video frames. This is in milliseconds. Only even used (after + * inizatialization) on the audio callback thread. */ uint32_t mIterationDurationMS; /* cubeb_stream_init calls the audio callback to prefill the buffers. The * previous driver has to be kept alive until the audio stream has been @@ -499,8 +519,12 @@ private: /* Thread for off-main-thread initialization and * shutdown of the audio stream. */ nsCOMPtr mInitShutdownThread; + /* This must be accessed with the graph monitor held. */ nsAutoTArray mPromisesForOperation; + /* This is set during initialization, and ca be read safely afterwards. */ dom::AudioChannel mAudioChannel; + /* This is atomic and is set by the audio callback thread. It can be read by + * any thread safely. */ Atomic mInCallback; /* A thread has been created to be able to pause and restart the audio thread, * but has not done so yet. This indicates that the callback should return From 8ea628a72b7235991f4a998165deb1abce421866 Mon Sep 17 00:00:00 2001 From: Paul Adenot Date: Tue, 1 Dec 2015 11:48:08 +0100 Subject: [PATCH 020/101] Bug 1203585 - Remove some dead code in GraphDriver.cpp. r=jesup --HG-- extra : commitid : LDSLPjpJdAz --- dom/media/GraphDriver.cpp | 6 ------ dom/media/GraphDriver.h | 24 ------------------------ 2 files changed, 30 deletions(-) diff --git a/dom/media/GraphDriver.cpp b/dom/media/GraphDriver.cpp index 663a7020db92..fafb393ddd31 100644 --- a/dom/media/GraphDriver.cpp +++ b/dom/media/GraphDriver.cpp @@ -541,7 +541,6 @@ AudioCallbackDriver::AudioCallbackDriver(MediaStreamGraphImpl* aGraphImpl) , mStarted(false) , mAudioChannel(aGraphImpl->AudioChannel()) , mInCallback(false) - , mPauseRequested(false) , mMicrophoneActive(false) #ifdef XP_MACOSX , mCallbackReceivedWhileSwitching(0) @@ -799,11 +798,6 @@ AudioCallbackDriver::DataCallback(AudioDataValue* aBuffer, long aFrames) { bool stillProcessing; - if (mPauseRequested) { - PodZero(aBuffer, aFrames * mGraphImpl->AudioChannelCount()); - return aFrames; - } - #ifdef XP_MACOSX if (OSXDeviceSwitchingWorkaround()) { PodZero(aBuffer, aFrames * mGraphImpl->AudioChannelCount()); diff --git a/dom/media/GraphDriver.h b/dom/media/GraphDriver.h index 3ae3fb9cf336..9604064f995d 100644 --- a/dom/media/GraphDriver.h +++ b/dom/media/GraphDriver.h @@ -149,19 +149,6 @@ public: return mCurrentTimeStamp; } - bool IsWaiting() { - return mWaitState == WAITSTATE_WAITING_INDEFINITELY || - mWaitState == WAITSTATE_WAITING_FOR_NEXT_ITERATION; - } - - bool IsWaitingIndefinitly() { - return mWaitState == WAITSTATE_WAITING_INDEFINITELY; - } - - GraphTime IterationStart() { - return mIterationStart; - } - GraphTime IterationEnd() { return mIterationEnd; } @@ -191,13 +178,6 @@ public: void SetGraphTime(GraphDriver* aPreviousDriver, GraphTime aLastSwitchNextIterationStart, GraphTime aLastSwitchNextIterationEnd); - - /** - * Call this to indicate that another iteration of the control loop is - * required immediately. The monitor must already be held. - */ - void EnsureImmediateWakeUpLocked(); - /** * Call this to indicate that another iteration of the control loop is * required on its regular schedule. The monitor must not be held. @@ -526,10 +506,6 @@ private: /* This is atomic and is set by the audio callback thread. It can be read by * any thread safely. */ Atomic mInCallback; - /* A thread has been created to be able to pause and restart the audio thread, - * but has not done so yet. This indicates that the callback should return - * early */ - bool mPauseRequested; /** * True if microphone is being used by this process. This is synchronized by * the graph's monitor. */ From 84e7525fab4fa73b6ab57902d2280b7346563154 Mon Sep 17 00:00:00 2001 From: James Graham Date: Thu, 17 Dec 2015 09:46:17 +0000 Subject: [PATCH 021/101] Bug 1233726 - Update web-platform-tests to revision 624dc5e68d545fe2212a5a0af2565237bb9db81e, a=testonly --HG-- rename : testing/web-platform/tests/dom/nodes/Document-createProcessingInstruction.xhtml => testing/web-platform/tests/dom/nodes/Document-createProcessingInstruction-xhtml.xhtml rename : testing/web-platform/tests/dom/nodes/Document-getElementsByTagName.xhtml => testing/web-platform/tests/dom/nodes/Document-getElementsByTagName-xhtml.xhtml rename : testing/web-platform/tests/dom/nodes/DocumentType-literal.xhtml => testing/web-platform/tests/dom/nodes/DocumentType-literal-xhtml.xhtml rename : testing/web-platform/tests/dom/nodes/Element-childElement-null.svg => testing/web-platform/tests/dom/nodes/Element-childElement-null-svg.svg rename : testing/web-platform/tests/dom/nodes/Element-childElement-null.xhtml => testing/web-platform/tests/dom/nodes/Element-childElement-null-xhtml.xhtml rename : testing/web-platform/tests/dom/nodes/Element-childElementCount-dynamic-add.svg => testing/web-platform/tests/dom/nodes/Element-childElementCount-dynamic-add-svg.svg rename : testing/web-platform/tests/dom/nodes/Element-childElementCount-dynamic-add.xhtml => testing/web-platform/tests/dom/nodes/Element-childElementCount-dynamic-add-xhtml.xhtml rename : testing/web-platform/tests/dom/nodes/Element-childElementCount-dynamic-remove.svg => testing/web-platform/tests/dom/nodes/Element-childElementCount-dynamic-remove-svg.svg rename : testing/web-platform/tests/dom/nodes/Element-childElementCount-dynamic-remove.xhtml => testing/web-platform/tests/dom/nodes/Element-childElementCount-dynamic-remove-xhtml.xhtml rename : testing/web-platform/tests/dom/nodes/Element-childElementCount-nochild.svg => testing/web-platform/tests/dom/nodes/Element-childElementCount-nochild-svg.svg rename : testing/web-platform/tests/dom/nodes/Element-childElementCount-nochild.xhtml => testing/web-platform/tests/dom/nodes/Element-childElementCount-nochild-xhtml.xhtml rename : testing/web-platform/tests/dom/nodes/Element-childElementCount.svg => testing/web-platform/tests/dom/nodes/Element-childElementCount-svg.svg rename : testing/web-platform/tests/dom/nodes/Element-childElementCount.xhtml => testing/web-platform/tests/dom/nodes/Element-childElementCount-xhtml.xhtml rename : testing/web-platform/tests/dom/nodes/Element-firstElementChild-entity.xhtml => testing/web-platform/tests/dom/nodes/Element-firstElementChild-entity-xhtml.xhtml rename : testing/web-platform/tests/dom/nodes/Element-firstElementChild-namespace.svg => testing/web-platform/tests/dom/nodes/Element-firstElementChild-namespace-svg.svg rename : testing/web-platform/tests/dom/nodes/Element-firstElementChild-namespace.xhtml => testing/web-platform/tests/dom/nodes/Element-firstElementChild-namespace-xhtml.xhtml rename : testing/web-platform/tests/dom/nodes/Element-firstElementChild.svg => testing/web-platform/tests/dom/nodes/Element-firstElementChild-svg.svg rename : testing/web-platform/tests/dom/nodes/Element-firstElementChild.xhtml => testing/web-platform/tests/dom/nodes/Element-firstElementChild-xhtml.xhtml rename : testing/web-platform/tests/dom/nodes/Element-lastElementChild.svg => testing/web-platform/tests/dom/nodes/Element-lastElementChild-svg.svg rename : testing/web-platform/tests/dom/nodes/Element-lastElementChild.xhtml => testing/web-platform/tests/dom/nodes/Element-lastElementChild-xhtml.xhtml rename : testing/web-platform/tests/dom/nodes/Element-nextElementSibling.svg => testing/web-platform/tests/dom/nodes/Element-nextElementSibling-svg.svg rename : testing/web-platform/tests/dom/nodes/Element-nextElementSibling.xhtml => testing/web-platform/tests/dom/nodes/Element-nextElementSibling-xhtml.xhtml rename : testing/web-platform/tests/dom/nodes/Element-previousElementSibling.svg => testing/web-platform/tests/dom/nodes/Element-previousElementSibling-svg.svg rename : testing/web-platform/tests/dom/nodes/Element-previousElementSibling.xhtml => testing/web-platform/tests/dom/nodes/Element-previousElementSibling-xhtml.xhtml rename : testing/web-platform/tests/dom/nodes/Element-siblingElement-null.svg => testing/web-platform/tests/dom/nodes/Element-siblingElement-null-svg.svg rename : testing/web-platform/tests/dom/nodes/Element-siblingElement-null.xhtml => testing/web-platform/tests/dom/nodes/Element-siblingElement-null-xhtml.xhtml rename : testing/web-platform/tests/dom/nodes/Node-nodeName.xhtml => testing/web-platform/tests/dom/nodes/Node-nodeName-xhtml.xhtml rename : testing/web-platform/tests/dom/nodes/ParentNode-querySelector-All.xht => testing/web-platform/tests/dom/nodes/ParentNode-querySelector-All-xht.xht rename : 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-case-xhtml.xhtml rename : 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-id-xhtml.xhtml rename : 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-namespace-xhtml.xhtml rename : 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-newelements-xhtml.xhtml rename : 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-null-undef-xhtml.xhtml rename : testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param.xhtml => testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-param-xhtml.xhtml rename : 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-for-event-xhtml.xhtml rename : testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-text.xhtml => testing/web-platform/tests/html/semantics/scripting-1/the-script-element/script-text-xhtml.xhtml rename : testing/web-platform/tests/url/a-element.xhtml => testing/web-platform/tests/url/a-element-xhtml.xhtml --- testing/web-platform/meta/MANIFEST.json | 277 +-- testing/web-platform/meta/mozilla-sync | 2 +- .../battery-created-manual.html | 54 - .../tests/conformance-checkers/messages.json | 1582 ++++++++--------- .../media-src/media-src-redir-bug.sub.html | 66 + .../media-src-redir-bug.sub.html.sub.headers | 6 + ...t-createProcessingInstruction-xhtml.xhtml} | 0 ...Document-getElementsByTagName-xhtml.xhtml} | 0 ...xhtml => DocumentType-literal-xhtml.xhtml} | 0 ....svg => Element-childElement-null-svg.svg} | 0 ... => Element-childElement-null-xhtml.xhtml} | 0 ...ent-childElementCount-dynamic-add-svg.svg} | 0 ...childElementCount-dynamic-add-xhtml.xhtml} | 0 ...-childElementCount-dynamic-remove-svg.svg} | 0 ...ldElementCount-dynamic-remove-xhtml.xhtml} | 0 ...Element-childElementCount-nochild-svg.svg} | 0 ...ent-childElementCount-nochild-xhtml.xhtml} | 0 ....svg => Element-childElementCount-svg.svg} | 0 ... => Element-childElementCount-xhtml.xhtml} | 0 ...ment-firstElementChild-entity-xhtml.xhtml} | 0 ...ement-firstElementChild-namespace-svg.svg} | 0 ...t-firstElementChild-namespace-xhtml.xhtml} | 0 ....svg => Element-firstElementChild-svg.svg} | 0 ... => Element-firstElementChild-xhtml.xhtml} | 0 ...d.svg => Element-lastElementChild-svg.svg} | 0 ...l => Element-lastElementChild-xhtml.xhtml} | 0 ...svg => Element-nextElementSibling-svg.svg} | 0 ...=> Element-nextElementSibling-xhtml.xhtml} | 0 ...=> Element-previousElementSibling-svg.svg} | 0 ...lement-previousElementSibling-xhtml.xhtml} | 0 ...vg => Element-siblingElement-null-svg.svg} | 0 ...> Element-siblingElement-null-xhtml.xhtml} | 0 ...deName.xhtml => Node-nodeName-xhtml.xhtml} | 0 ...t => ParentNode-querySelector-All-xht.xht} | 0 ...cument.getElementsByName-case-xhtml.xhtml} | 0 ...document.getElementsByName-id-xhtml.xhtml} | 0 ...t.getElementsByName-namespace-xhtml.xhtml} | 0 ...getElementsByName-newelements-xhtml.xhtml} | 0 ....getElementsByName-null-undef-xhtml.xhtml} | 0 ...ument.getElementsByName-param-xhtml.xhtml} | 0 .../document-color-02.html | 6 + .../document-color-03.html | 6 + .../current-pixel-density/basic.html | 8 +- .../the-input-element/maxlength-manual.html | 37 + .../forms/the-input-element/maxlength.html | 55 + ...ent.xhtml => script-for-event-xhtml.xhtml} | 0 ...ipt-text.xhtml => script-text-xhtml.xhtml} | 0 .../tests/html/syntax/parsing/README | 2 +- .../tests/html/syntax/parsing/test.js | 17 +- .../web-platform/tests/resources/docs/api.md | 2 +- .../tests/resources/idlharness.js | 24 + .../tests/resources/webidl2/README.md | 39 +- .../tests/resources/webidl2/lib/webidl2.js | 76 +- .../tests/resources/webidl2/package.json | 10 +- .../test/invalid/idl/maplike-1type.widl | 3 - .../test/invalid/idl/readonly-iterable.widl | 3 - .../test/invalid/idl/setlike-2types.widl | 3 - .../test/invalid/idl/typedef-nested.widl | 22 - .../test/invalid/json/maplike-1type.json | 4 - .../test/invalid/json/readonly-iterable.json | 4 - .../test/invalid/json/setlike-2types.json | 4 - .../test/invalid/json/typedef-nested.json | 4 - .../tests/resources/webidl2/test/syntax.js | 7 +- .../webidl2/test/syntax/idl/callback.widl | 4 +- .../webidl2/test/syntax/idl/enum.widl | 4 +- .../test/syntax/idl/extended-attributes.widl | 6 - .../webidl2/test/syntax/idl/iterable.widl | 7 - .../test/syntax/idl/legacyiterable.widl | 3 - .../webidl2/test/syntax/idl/maplike.widl | 7 - .../webidl2/test/syntax/idl/setlike.widl | 7 - .../test/syntax/idl/typedef-nested.widl | 22 - .../webidl2/test/syntax/json/callback.json | 43 - .../webidl2/test/syntax/json/enum.json | 10 - .../test/syntax/json/extended-attributes.json | 30 - .../webidl2/test/syntax/json/iterable.json | 55 - .../test/syntax/json/legacyiterable.json | 24 - .../webidl2/test/syntax/json/maplike.json | 67 - .../webidl2/test/syntax/json/setlike.json | 47 - .../test/syntax/json/typedef-nested.json | 226 --- .../test/syntax/opt/typedef-nested.json | 3 - .../attribute-case/semantics.html | 22 +- .../attribute-case/syntax.html | 2 + .../web-platform/tests/svg/interfaces.html | 1568 ++++++++++++++++ .../web-platform/tests/tools/manifest/item.py | 10 +- .../tests/tools/manifest/manifest.py | 14 +- .../tests/tools/manifest/utils.py | 6 + ...{a-element.xhtml => a-element-xhtml.xhtml} | 0 .../tests/webgl/compressedTexSubImage2D.html | 2 - 88 files changed, 2769 insertions(+), 1743 deletions(-) delete mode 100644 testing/web-platform/tests/battery-status/battery-created-manual.html create mode 100644 testing/web-platform/tests/content-security-policy/media-src/media-src-redir-bug.sub.html create mode 100644 testing/web-platform/tests/content-security-policy/media-src/media-src-redir-bug.sub.html.sub.headers rename testing/web-platform/tests/dom/nodes/{Document-createProcessingInstruction.xhtml => Document-createProcessingInstruction-xhtml.xhtml} (100%) rename testing/web-platform/tests/dom/nodes/{Document-getElementsByTagName.xhtml => Document-getElementsByTagName-xhtml.xhtml} (100%) rename testing/web-platform/tests/dom/nodes/{DocumentType-literal.xhtml => DocumentType-literal-xhtml.xhtml} (100%) rename testing/web-platform/tests/dom/nodes/{Element-childElement-null.svg => Element-childElement-null-svg.svg} (100%) rename testing/web-platform/tests/dom/nodes/{Element-childElement-null.xhtml => Element-childElement-null-xhtml.xhtml} (100%) rename testing/web-platform/tests/dom/nodes/{Element-childElementCount-dynamic-add.svg => Element-childElementCount-dynamic-add-svg.svg} (100%) rename testing/web-platform/tests/dom/nodes/{Element-childElementCount-dynamic-add.xhtml => Element-childElementCount-dynamic-add-xhtml.xhtml} (100%) rename testing/web-platform/tests/dom/nodes/{Element-childElementCount-dynamic-remove.svg => Element-childElementCount-dynamic-remove-svg.svg} (100%) rename testing/web-platform/tests/dom/nodes/{Element-childElementCount-dynamic-remove.xhtml => Element-childElementCount-dynamic-remove-xhtml.xhtml} (100%) rename testing/web-platform/tests/dom/nodes/{Element-childElementCount-nochild.svg => Element-childElementCount-nochild-svg.svg} (100%) rename testing/web-platform/tests/dom/nodes/{Element-childElementCount-nochild.xhtml => Element-childElementCount-nochild-xhtml.xhtml} (100%) rename testing/web-platform/tests/dom/nodes/{Element-childElementCount.svg => Element-childElementCount-svg.svg} (100%) rename testing/web-platform/tests/dom/nodes/{Element-childElementCount.xhtml => Element-childElementCount-xhtml.xhtml} (100%) rename testing/web-platform/tests/dom/nodes/{Element-firstElementChild-entity.xhtml => Element-firstElementChild-entity-xhtml.xhtml} (100%) rename testing/web-platform/tests/dom/nodes/{Element-firstElementChild-namespace.svg => Element-firstElementChild-namespace-svg.svg} (100%) rename testing/web-platform/tests/dom/nodes/{Element-firstElementChild-namespace.xhtml => Element-firstElementChild-namespace-xhtml.xhtml} (100%) rename testing/web-platform/tests/dom/nodes/{Element-firstElementChild.svg => Element-firstElementChild-svg.svg} (100%) rename testing/web-platform/tests/dom/nodes/{Element-firstElementChild.xhtml => Element-firstElementChild-xhtml.xhtml} (100%) rename testing/web-platform/tests/dom/nodes/{Element-lastElementChild.svg => Element-lastElementChild-svg.svg} (100%) rename testing/web-platform/tests/dom/nodes/{Element-lastElementChild.xhtml => Element-lastElementChild-xhtml.xhtml} (100%) rename testing/web-platform/tests/dom/nodes/{Element-nextElementSibling.svg => Element-nextElementSibling-svg.svg} (100%) rename testing/web-platform/tests/dom/nodes/{Element-nextElementSibling.xhtml => Element-nextElementSibling-xhtml.xhtml} (100%) rename testing/web-platform/tests/dom/nodes/{Element-previousElementSibling.svg => Element-previousElementSibling-svg.svg} (100%) rename testing/web-platform/tests/dom/nodes/{Element-previousElementSibling.xhtml => Element-previousElementSibling-xhtml.xhtml} (100%) rename testing/web-platform/tests/dom/nodes/{Element-siblingElement-null.svg => Element-siblingElement-null-svg.svg} (100%) rename testing/web-platform/tests/dom/nodes/{Element-siblingElement-null.xhtml => Element-siblingElement-null-xhtml.xhtml} (100%) rename testing/web-platform/tests/dom/nodes/{Node-nodeName.xhtml => Node-nodeName-xhtml.xhtml} (100%) rename testing/web-platform/tests/dom/nodes/{ParentNode-querySelector-All.xht => ParentNode-querySelector-All-xht.xht} (100%) rename testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/{document.getElementsByName-case.xhtml => document.getElementsByName-case-xhtml.xhtml} (100%) rename testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/{document.getElementsByName-id.xhtml => document.getElementsByName-id-xhtml.xhtml} (100%) rename testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/{document.getElementsByName-namespace.xhtml => document.getElementsByName-namespace-xhtml.xhtml} (100%) rename testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/{document.getElementsByName-newelements.xhtml => document.getElementsByName-newelements-xhtml.xhtml} (100%) rename testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/{document.getElementsByName-null-undef.xhtml => document.getElementsByName-null-undef-xhtml.xhtml} (100%) rename testing/web-platform/tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/{document.getElementsByName-param.xhtml => document.getElementsByName-param-xhtml.xhtml} (100%) create mode 100644 testing/web-platform/tests/html/semantics/forms/the-input-element/maxlength-manual.html create mode 100644 testing/web-platform/tests/html/semantics/forms/the-input-element/maxlength.html rename testing/web-platform/tests/html/semantics/scripting-1/the-script-element/{script-for-event.xhtml => script-for-event-xhtml.xhtml} (100%) rename testing/web-platform/tests/html/semantics/scripting-1/the-script-element/{script-text.xhtml => script-text-xhtml.xhtml} (100%) delete mode 100644 testing/web-platform/tests/resources/webidl2/test/invalid/idl/maplike-1type.widl delete mode 100644 testing/web-platform/tests/resources/webidl2/test/invalid/idl/readonly-iterable.widl delete mode 100644 testing/web-platform/tests/resources/webidl2/test/invalid/idl/setlike-2types.widl delete mode 100644 testing/web-platform/tests/resources/webidl2/test/invalid/idl/typedef-nested.widl delete mode 100644 testing/web-platform/tests/resources/webidl2/test/invalid/json/maplike-1type.json delete mode 100644 testing/web-platform/tests/resources/webidl2/test/invalid/json/readonly-iterable.json delete mode 100644 testing/web-platform/tests/resources/webidl2/test/invalid/json/setlike-2types.json delete mode 100644 testing/web-platform/tests/resources/webidl2/test/invalid/json/typedef-nested.json delete mode 100644 testing/web-platform/tests/resources/webidl2/test/syntax/idl/extended-attributes.widl delete mode 100644 testing/web-platform/tests/resources/webidl2/test/syntax/idl/iterable.widl delete mode 100644 testing/web-platform/tests/resources/webidl2/test/syntax/idl/legacyiterable.widl delete mode 100644 testing/web-platform/tests/resources/webidl2/test/syntax/idl/maplike.widl delete mode 100644 testing/web-platform/tests/resources/webidl2/test/syntax/idl/setlike.widl delete mode 100644 testing/web-platform/tests/resources/webidl2/test/syntax/idl/typedef-nested.widl delete mode 100644 testing/web-platform/tests/resources/webidl2/test/syntax/json/extended-attributes.json delete mode 100644 testing/web-platform/tests/resources/webidl2/test/syntax/json/iterable.json delete mode 100644 testing/web-platform/tests/resources/webidl2/test/syntax/json/legacyiterable.json delete mode 100644 testing/web-platform/tests/resources/webidl2/test/syntax/json/maplike.json delete mode 100644 testing/web-platform/tests/resources/webidl2/test/syntax/json/setlike.json delete mode 100644 testing/web-platform/tests/resources/webidl2/test/syntax/json/typedef-nested.json delete mode 100644 testing/web-platform/tests/resources/webidl2/test/syntax/opt/typedef-nested.json create mode 100644 testing/web-platform/tests/svg/interfaces.html rename testing/web-platform/tests/url/{a-element.xhtml => a-element-xhtml.xhtml} (100%) diff --git a/testing/web-platform/meta/MANIFEST.json b/testing/web-platform/meta/MANIFEST.json index 4212224a2310..bfc10281dd9e 100644 --- a/testing/web-platform/meta/MANIFEST.json +++ b/testing/web-platform/meta/MANIFEST.json @@ -101,10 +101,6 @@ "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" @@ -777,6 +773,10 @@ "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" @@ -13091,6 +13091,10 @@ "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" @@ -13267,10 +13271,6 @@ "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" @@ -13740,12 +13740,12 @@ "url": "/dom/nodes/Document-createEvent.html" }, { - "path": "dom/nodes/Document-createProcessingInstruction.html", - "url": "/dom/nodes/Document-createProcessingInstruction.html" + "path": "dom/nodes/Document-createProcessingInstruction-xhtml.xhtml", + "url": "/dom/nodes/Document-createProcessingInstruction-xhtml.xhtml" }, { - "path": "dom/nodes/Document-createProcessingInstruction.xhtml", - "url": "/dom/nodes/Document-createProcessingInstruction.xhtml" + "path": "dom/nodes/Document-createProcessingInstruction.html", + "url": "/dom/nodes/Document-createProcessingInstruction.html" }, { "path": "dom/nodes/Document-createTextNode.html", @@ -13764,12 +13764,12 @@ "url": "/dom/nodes/Document-getElementById.html" }, { - "path": "dom/nodes/Document-getElementsByTagName.html", - "url": "/dom/nodes/Document-getElementsByTagName.html" + "path": "dom/nodes/Document-getElementsByTagName-xhtml.xhtml", + "url": "/dom/nodes/Document-getElementsByTagName-xhtml.xhtml" }, { - "path": "dom/nodes/Document-getElementsByTagName.xhtml", - "url": "/dom/nodes/Document-getElementsByTagName.xhtml" + "path": "dom/nodes/Document-getElementsByTagName.html", + "url": "/dom/nodes/Document-getElementsByTagName.html" }, { "path": "dom/nodes/Document-getElementsByTagNameNS.html", @@ -13784,77 +13784,77 @@ "url": "/dom/nodes/Document-importNode.html" }, { - "path": "dom/nodes/DocumentType-literal.html", - "url": "/dom/nodes/DocumentType-literal.html" + "path": "dom/nodes/DocumentType-literal-xhtml.xhtml", + "url": "/dom/nodes/DocumentType-literal-xhtml.xhtml" }, { - "path": "dom/nodes/DocumentType-literal.xhtml", - "url": "/dom/nodes/DocumentType-literal.xhtml" + "path": "dom/nodes/DocumentType-literal.html", + "url": "/dom/nodes/DocumentType-literal.html" }, { "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-childElement-null.svg", - "url": "/dom/nodes/Element-childElement-null.svg" + "path": "dom/nodes/Element-childElementCount-dynamic-add-svg.svg", + "url": "/dom/nodes/Element-childElementCount-dynamic-add-svg.svg" }, { - "path": "dom/nodes/Element-childElement-null.xhtml", - "url": "/dom/nodes/Element-childElement-null.xhtml" + "path": "dom/nodes/Element-childElementCount-dynamic-add-xhtml.xhtml", + "url": "/dom/nodes/Element-childElementCount-dynamic-add-xhtml.xhtml" }, { "path": "dom/nodes/Element-childElementCount-dynamic-add.html", "url": "/dom/nodes/Element-childElementCount-dynamic-add.html" }, { - "path": "dom/nodes/Element-childElementCount-dynamic-add.svg", - "url": "/dom/nodes/Element-childElementCount-dynamic-add.svg" + "path": "dom/nodes/Element-childElementCount-dynamic-remove-svg.svg", + "url": "/dom/nodes/Element-childElementCount-dynamic-remove-svg.svg" }, { - "path": "dom/nodes/Element-childElementCount-dynamic-add.xhtml", - "url": "/dom/nodes/Element-childElementCount-dynamic-add.xhtml" + "path": "dom/nodes/Element-childElementCount-dynamic-remove-xhtml.xhtml", + "url": "/dom/nodes/Element-childElementCount-dynamic-remove-xhtml.xhtml" }, { "path": "dom/nodes/Element-childElementCount-dynamic-remove.html", "url": "/dom/nodes/Element-childElementCount-dynamic-remove.html" }, { - "path": "dom/nodes/Element-childElementCount-dynamic-remove.svg", - "url": "/dom/nodes/Element-childElementCount-dynamic-remove.svg" + "path": "dom/nodes/Element-childElementCount-nochild-svg.svg", + "url": "/dom/nodes/Element-childElementCount-nochild-svg.svg" }, { - "path": "dom/nodes/Element-childElementCount-dynamic-remove.xhtml", - "url": "/dom/nodes/Element-childElementCount-dynamic-remove.xhtml" + "path": "dom/nodes/Element-childElementCount-nochild-xhtml.xhtml", + "url": "/dom/nodes/Element-childElementCount-nochild-xhtml.xhtml" }, { "path": "dom/nodes/Element-childElementCount-nochild.html", "url": "/dom/nodes/Element-childElementCount-nochild.html" }, { - "path": "dom/nodes/Element-childElementCount-nochild.svg", - "url": "/dom/nodes/Element-childElementCount-nochild.svg" + "path": "dom/nodes/Element-childElementCount-svg.svg", + "url": "/dom/nodes/Element-childElementCount-svg.svg" }, { - "path": "dom/nodes/Element-childElementCount-nochild.xhtml", - "url": "/dom/nodes/Element-childElementCount-nochild.xhtml" + "path": "dom/nodes/Element-childElementCount-xhtml.xhtml", + "url": "/dom/nodes/Element-childElementCount-xhtml.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" @@ -13867,38 +13867,38 @@ "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-entity.xhtml", - "url": "/dom/nodes/Element-firstElementChild-entity.xhtml" + "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-namespace.html", "url": "/dom/nodes/Element-firstElementChild-namespace.html" }, { - "path": "dom/nodes/Element-firstElementChild-namespace.svg", - "url": "/dom/nodes/Element-firstElementChild-namespace.svg" + "path": "dom/nodes/Element-firstElementChild-svg.svg", + "url": "/dom/nodes/Element-firstElementChild-svg.svg" }, { - "path": "dom/nodes/Element-firstElementChild-namespace.xhtml", - "url": "/dom/nodes/Element-firstElementChild-namespace.xhtml" + "path": "dom/nodes/Element-firstElementChild-xhtml.xhtml", + "url": "/dom/nodes/Element-firstElementChild-xhtml.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" @@ -13915,46 +13915,46 @@ "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-nextElementSibling.svg", - "url": "/dom/nodes/Element-nextElementSibling.svg" + "path": "dom/nodes/Element-previousElementSibling-svg.svg", + "url": "/dom/nodes/Element-previousElementSibling-svg.svg" }, { - "path": "dom/nodes/Element-nextElementSibling.xhtml", - "url": "/dom/nodes/Element-nextElementSibling.xhtml" + "path": "dom/nodes/Element-previousElementSibling-xhtml.xhtml", + "url": "/dom/nodes/Element-previousElementSibling-xhtml.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" @@ -13963,18 +13963,18 @@ "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" @@ -14056,12 +14056,12 @@ "url": "/dom/nodes/Node-lookupPrefix.xhtml" }, { - "path": "dom/nodes/Node-nodeName.html", - "url": "/dom/nodes/Node-nodeName.html" + "path": "dom/nodes/Node-nodeName-xhtml.xhtml", + "url": "/dom/nodes/Node-nodeName-xhtml.xhtml" }, { - "path": "dom/nodes/Node-nodeName.xhtml", - "url": "/dom/nodes/Node-nodeName.xhtml" + "path": "dom/nodes/Node-nodeName.html", + "url": "/dom/nodes/Node-nodeName.html" }, { "path": "dom/nodes/Node-nodeValue.html", @@ -14104,12 +14104,12 @@ "url": "/dom/nodes/ParentNode-prepend.html" }, { - "path": "dom/nodes/ParentNode-querySelector-All.html", - "url": "/dom/nodes/ParentNode-querySelector-All.html" + "path": "dom/nodes/ParentNode-querySelector-All-xht.xht", + "url": "/dom/nodes/ParentNode-querySelector-All-xht.xht" }, { - "path": "dom/nodes/ParentNode-querySelector-All.xht", - "url": "/dom/nodes/ParentNode-querySelector-All.xht" + "path": "dom/nodes/ParentNode-querySelector-All.html", + "url": "/dom/nodes/ParentNode-querySelector-All.html" }, { "path": "dom/nodes/ProcessingInstruction-literal-1.xhtml", @@ -15047,10 +15047,6 @@ "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" @@ -15491,10 +15487,6 @@ "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" @@ -15631,58 +15623,58 @@ "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-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-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-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-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-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-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-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-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-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-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-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-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" @@ -18015,6 +18007,10 @@ "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" @@ -18296,12 +18292,12 @@ "url": "/html/semantics/scripting-1/the-script-element/script-before-after-events.html" }, { - "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.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.xhtml", - "url": "/html/semantics/scripting-1/the-script-element/script-for-event.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-language-type.html", @@ -18324,12 +18320,12 @@ "url": "/html/semantics/scripting-1/the-script-element/script-onload-string.html" }, { - "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.xhtml", + "url": "/html/semantics/scripting-1/the-script-element/script-text-xhtml.xhtml" }, { - "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-script-element/script-text.html", + "url": "/html/semantics/scripting-1/the-script-element/script-text.html" }, { "path": "html/semantics/scripting-1/the-template-element/additions-to-parsing-xhtml-documents/node-document.html", @@ -26407,6 +26403,10 @@ "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" @@ -26440,12 +26440,12 @@ "url": "/typedarrays/constructors.html" }, { - "path": "url/a-element.html", - "url": "/url/a-element.html" + "path": "url/a-element-xhtml.xhtml", + "url": "/url/a-element-xhtml.xhtml" }, { - "path": "url/a-element.xhtml", - "url": "/url/a-element.xhtml" + "path": "url/a-element.html", + "url": "/url/a-element.html" }, { "path": "url/historical.html", @@ -28797,6 +28797,11 @@ "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", @@ -28937,6 +28942,11 @@ "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", @@ -28947,6 +28957,11 @@ "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", @@ -35854,7 +35869,7 @@ } ] }, - "rev": "63bf7b5e1e12b308ba6ed20480ad7dc93afa1943", + "rev": "05c55fbdc527eacdc7b875f298a8cb1b6db0dfcd", "url_base": "/", "version": 2 } diff --git a/testing/web-platform/meta/mozilla-sync b/testing/web-platform/meta/mozilla-sync index 4155cc4d71e9..d924ac6dc356 100644 --- a/testing/web-platform/meta/mozilla-sync +++ b/testing/web-platform/meta/mozilla-sync @@ -1 +1 @@ -42122dea7c41a71c8cb06a91b91e71afa2d6664c \ No newline at end of file +d5e5a44a8bbe62751a66677491623a41b766275d \ No newline at end of file diff --git a/testing/web-platform/tests/battery-status/battery-created-manual.html b/testing/web-platform/tests/battery-status/battery-created-manual.html deleted file mode 100644 index e3b8d69cf4da..000000000000 --- a/testing/web-platform/tests/battery-status/battery-created-manual.html +++ /dev/null @@ -1,54 +0,0 @@ - - -Battery Test: no backend implementation, charger unplugged in - - - - -

Description

-

- - This test is only useful on devices that expose the BatteryManager interface, - but lack a backend implementation. - -

-

- This test validates that all of the BatteryManager attributes exist and are set to their default values. -

- -

Preconditions

-
    -
  1. - The implementation is unable to report the battery's charging state, - charging time, level or remaining time respectively. -
  2. -
  3. - The device is unplugged from the charger before this test case is run. -
  4. -
- -
- - diff --git a/testing/web-platform/tests/conformance-checkers/messages.json b/testing/web-platform/tests/conformance-checkers/messages.json index 1b5daba1f65a..4a7959a4a3c5 100644 --- a/testing/web-platform/tests/conformance-checkers/messages.json +++ b/testing/web-platform/tests/conformance-checkers/messages.json @@ -51,12 +51,12 @@ "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: 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/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/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: 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-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-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.", @@ -64,38 +64,38 @@ "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: 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-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-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: 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/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/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: not a URL code point.", + "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-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: not a URL code point.", + "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-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: not a URL code point.", + "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-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: not a URL code point.", + "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-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.", - "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-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-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.", - "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-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-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: 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/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/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: 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-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-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 (\"/\").", @@ -106,26 +106,26 @@ "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: 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/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/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": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\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-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-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: not a URL code point.", + "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/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: 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/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/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: 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-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-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.", @@ -133,38 +133,38 @@ "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: 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-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-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: 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/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/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: not a URL code point.", + "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-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: not a URL code point.", + "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-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: not a URL code point.", + "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-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: not a URL code point.", + "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-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.", - "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-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-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.", - "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-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-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: 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/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/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: 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-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-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 (\"/\").", @@ -175,26 +175,26 @@ "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: 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/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/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": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\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-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-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: not a URL code point.", + "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/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: 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/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/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: 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-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-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.", @@ -202,38 +202,38 @@ "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: 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-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-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: 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/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/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: not a URL code point.", + "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-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: not a URL code point.", + "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-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: not a URL code point.", + "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-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: not a URL code point.", + "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-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.", - "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-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-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.", - "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-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-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: 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/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/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: 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-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-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 (\"/\").", @@ -244,22 +244,22 @@ "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: 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/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/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": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\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-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-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: not a URL code point.", + "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/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: 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/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/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: 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-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-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.", @@ -267,38 +267,38 @@ "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: 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-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-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: 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/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/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: not a URL code point.", + "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-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: not a URL code point.", + "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-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: not a URL code point.", + "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-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: not a URL code point.", + "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-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.", - "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-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-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.", - "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-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-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: 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/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/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: 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-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-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 (\"/\").", @@ -309,22 +309,22 @@ "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: 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/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/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": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\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-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-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: not a URL code point.", + "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/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: 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/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/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: 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-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-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.", @@ -332,38 +332,38 @@ "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: 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-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-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: 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/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/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: not a URL code point.", + "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-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: not a URL code point.", + "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-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: not a URL code point.", + "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-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: not a URL code point.", + "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-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.", - "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-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-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.", - "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-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-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: 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/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/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: 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-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-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 (\"/\").", @@ -374,25 +374,25 @@ "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: 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/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/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": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\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-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-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: not a URL code point.", + "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/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: 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/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/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: 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-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-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.", @@ -400,38 +400,38 @@ "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: 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-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-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: 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/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/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: not a URL code point.", + "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-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: not a URL code point.", + "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-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: not a URL code point.", + "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-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: not a URL code point.", + "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-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.", - "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-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-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.", - "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-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-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: 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/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/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: 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-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-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 (\"/\").", @@ -442,24 +442,24 @@ "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: 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/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/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": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\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-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-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: not a URL code point.", + "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/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: 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/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/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: 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-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-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.", @@ -467,38 +467,38 @@ "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: 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-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-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: 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/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/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: not a URL code point.", + "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-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: not a URL code point.", + "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-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: not a URL code point.", + "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-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: not a URL code point.", + "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-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.", - "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-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-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.", - "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-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-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: 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/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/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: 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-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-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 (\"/\").", @@ -509,15 +509,15 @@ "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: 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/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/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": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\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-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-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: not a URL code point.", + "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/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.", @@ -616,12 +616,12 @@ "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: 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/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/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: 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-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-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.", @@ -629,38 +629,38 @@ "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: 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-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-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: 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/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/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: not a URL code point.", + "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-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: not a URL code point.", + "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-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: not a URL code point.", + "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-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: not a URL code point.", + "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-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.", - "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-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-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.", - "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-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-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: 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/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/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: 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-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-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 (\"/\").", @@ -671,27 +671,27 @@ "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: 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/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/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": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\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-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-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: not a URL code point.", + "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/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: 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/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/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: 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-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-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.", @@ -699,38 +699,38 @@ "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: 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-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-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: 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/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/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: not a URL code point.", + "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-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: not a URL code point.", + "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-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: not a URL code point.", + "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-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: not a URL code point.", + "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-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.", - "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-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-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.", - "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-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-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: 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/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/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: 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-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-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 (\"/\").", @@ -741,15 +741,15 @@ "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: 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/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/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": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\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-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-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: not a URL code point.", + "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/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.", @@ -761,12 +761,12 @@ "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: 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/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/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: 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-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-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.", @@ -774,38 +774,38 @@ "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: 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-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-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: 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/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/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: not a URL code point.", + "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-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: not a URL code point.", + "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-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: not a URL code point.", + "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-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: not a URL code point.", + "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-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.", - "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-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-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.", - "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-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-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: 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/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/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: 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-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-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 (\"/\").", @@ -816,25 +816,25 @@ "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: 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/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/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": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\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-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-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: not a URL code point.", + "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/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: 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/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/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: 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-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-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.", @@ -842,38 +842,38 @@ "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: 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-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-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: 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/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/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: not a URL code point.", + "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-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: not a URL code point.", + "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-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: not a URL code point.", + "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-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: not a URL code point.", + "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-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.", - "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-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-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.", - "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-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-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: 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/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/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: 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-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-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 (\"/\").", @@ -884,24 +884,24 @@ "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: 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/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/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": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\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-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-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: not a URL code point.", + "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/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: 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/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/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: 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-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-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.", @@ -909,38 +909,38 @@ "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: 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-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-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: 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/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/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: not a URL code point.", + "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-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: not a URL code point.", + "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-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: not a URL code point.", + "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-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: not a URL code point.", + "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-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.", - "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-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-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.", - "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-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-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: 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/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/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: 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-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-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 (\"/\").", @@ -951,15 +951,15 @@ "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: 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/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/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": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\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-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-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: not a URL code point.", + "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/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.", @@ -967,12 +967,12 @@ "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: 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/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/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: 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-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-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.", @@ -980,38 +980,38 @@ "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: 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-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-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: 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/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/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: not a URL code point.", + "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-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: not a URL code point.", + "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-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: not a URL code point.", + "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-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: not a URL code point.", + "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-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.", - "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-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-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.", - "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-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-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: 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/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/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: 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-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-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/input/type-image-formaction/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/input/type-image-formaction/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", @@ -1022,23 +1022,23 @@ "html/elements/input/type-image-formaction/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/input/type-image-formaction/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/input/type-image-formaction/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: syntax error", - "html/elements/input/type-image-formaction/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/input/type-image-formaction/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/input/type-image-formaction/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/input/type-image-formaction/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/input/type-image-formaction/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.", + "html/elements/input/type-image-formaction/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.", + "html/elements/input/type-image-formaction/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: space is not allowed.", + "html/elements/input/type-image-formaction/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: tab is not allowed.", "html/elements/input/type-image-formaction/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@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/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", - "html/elements/input/type-image-formaction/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/input/type-image-formaction/userinfo-password-bad-chars-novalid.html": "Bad value \u201chttp://&afoo((b]c@d:2/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in user or password: \u201c]\u201d is not allowed.", + "html/elements/input/type-image-formaction/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.", "html/elements/input/type-image-formaction/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", - "html/elements/input/type-image-formaction/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/input/type-image-formaction/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.", "html/elements/input/type-image-src-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Must be non-empty.", "html/elements/input/type-image-src-whitespace-only-novalid.html": "Bad value \u201c\t \n\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Must be non-empty.", - "html/elements/input/type-image-src/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in fragment: not a URL code point.", - "html/elements/input/type-image-src/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in fragment: not a URL code point.", - "html/elements/input/type-image-src/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/input/type-image-src/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in fragment: \u201c\\\u201d is not allowed.", + "html/elements/input/type-image-src/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in fragment: \u201c#\u201d is not allowed.", + "html/elements/input/type-image-src/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in fragment: space is not allowed.", "html/elements/input/type-image-src/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/input/type-image-src/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", - "html/elements/input/type-image-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 \u201cinput\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/input/type-image-src/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", + "html/elements/input/type-image-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 \u201cinput\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", "html/elements/input/type-image-src/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Invalid host: empty host.", "html/elements/input/type-image-src/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Invalid host: empty host.", "html/elements/input/type-image-src/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Invalid host: empty host.", @@ -1046,38 +1046,38 @@ "html/elements/input/type-image-src/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", "html/elements/input/type-image-src/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", "html/elements/input/type-image-src/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/input/type-image-src/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Invalid host: Domain contains invalid character: .", - "html/elements/input/type-image-src/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port.", + "html/elements/input/type-image-src/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Invalid host: Illegal character in domain: space is not allowed.", + "html/elements/input/type-image-src/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.", "html/elements/input/type-image-src/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/input/type-image-src/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", - "html/elements/input/type-image-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 \u201cinput\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/input/type-image-src/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", + "html/elements/input/type-image-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 \u201cinput\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", "html/elements/input/type-image-src/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", - "html/elements/input/type-image-src/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/input/type-image-src/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: space is not allowed.", "html/elements/input/type-image-src/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", "html/elements/input/type-image-src/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", "html/elements/input/type-image-src/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", - "html/elements/input/type-image-src/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/input/type-image-src/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: space is not allowed.", "html/elements/input/type-image-src/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", - "html/elements/input/type-image-src/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/input/type-image-src/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: \u201c[\u201d is not allowed.", "html/elements/input/type-image-src/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/input/type-image-src/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/input/type-image-src/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: space is not allowed.", "html/elements/input/type-image-src/path-u0091-novalid.html": "Forbidden code point U+0091.", "html/elements/input/type-image-src/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/input/type-image-src/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port.", - "html/elements/input/type-image-src/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port.", - "html/elements/input/type-image-src/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port.", - "html/elements/input/type-image-src/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port.", + "html/elements/input/type-image-src/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.", + "html/elements/input/type-image-src/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.", + "html/elements/input/type-image-src/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port: \u201c-\u201d is not allowed.", + "html/elements/input/type-image-src/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port: \u201cf\u201d is not allowed.", "html/elements/input/type-image-src/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/input/type-image-src/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port.", - "html/elements/input/type-image-src/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port.", + "html/elements/input/type-image-src/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port: \u201cb\u201d is not allowed.", + "html/elements/input/type-image-src/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port: \u201c \u201d is not allowed.", "html/elements/input/type-image-src/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/input/type-image-src/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in query: not a URL code point.", - "html/elements/input/type-image-src/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/input/type-image-src/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in query: space is not allowed.", + "html/elements/input/type-image-src/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in query: space is not allowed.", "html/elements/input/type-image-src/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", "html/elements/input/type-image-src/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", "html/elements/input/type-image-src/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", - "html/elements/input/type-image-src/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: not a URL code point.", - "html/elements/input/type-image-src/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/input/type-image-src/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.", + "html/elements/input/type-image-src/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.", "html/elements/input/type-image-src/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/input/type-image-src/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/input/type-image-src/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", @@ -1088,23 +1088,23 @@ "html/elements/input/type-image-src/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/input/type-image-src/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/input/type-image-src/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: syntax error", - "html/elements/input/type-image-src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/input/type-image-src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/input/type-image-src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/input/type-image-src/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/input/type-image-src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.", + "html/elements/input/type-image-src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.", + "html/elements/input/type-image-src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: space is not allowed.", + "html/elements/input/type-image-src/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: tab is not allowed.", "html/elements/input/type-image-src/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", - "html/elements/input/type-image-src/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", - "html/elements/input/type-image-src/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/input/type-image-src/userinfo-password-bad-chars-novalid.html": "Bad value \u201chttp://&afoo((b]c@d:2/\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in user or password: \u201c]\u201d is not allowed.", + "html/elements/input/type-image-src/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.", "html/elements/input/type-image-src/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", - "html/elements/input/type-image-src/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/input/type-image-src/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.", "html/elements/input/type-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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.", @@ -1112,38 +1112,38 @@ "html/elements/input/type-submit-formaction/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", "html/elements/input/type-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-formaction/path-u0091-novalid.html": "Forbidden code point U+0091.", "html/elements/input/type-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-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-submit-formaction/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/input/type-submit-formaction/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/input/type-submit-formaction/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", @@ -1154,25 +1154,25 @@ "html/elements/input/type-submit-formaction/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/input/type-submit-formaction/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/input/type-submit-formaction/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: syntax error", - "html/elements/input/type-submit-formaction/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/input/type-submit-formaction/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/input/type-submit-formaction/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/input/type-submit-formaction/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/input/type-submit-formaction/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.", + "html/elements/input/type-submit-formaction/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.", + "html/elements/input/type-submit-formaction/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: space is not allowed.", + "html/elements/input/type-submit-formaction/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: tab is not allowed.", "html/elements/input/type-submit-formaction/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", - "html/elements/input/type-submit-formaction/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", - "html/elements/input/type-submit-formaction/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/input/type-submit-formaction/userinfo-password-bad-chars-novalid.html": "Bad value \u201chttp://&afoo((b]c@d:2/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in user or password: \u201c]\u201d is not allowed.", + "html/elements/input/type-submit-formaction/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.", "html/elements/input/type-submit-formaction/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", - "html/elements/input/type-submit-formaction/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/input/type-submit-formaction/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.", "html/elements/input/type-url-value/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: The string \u201c#\\\u201d is not an absolute URL.", - "html/elements/input/type-url-value/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in fragment: not a URL code point.", + "html/elements/input/type-url-value/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in fragment: \u201c#\u201d is not allowed.", "html/elements/input/type-url-value/fragment-empty-hash-only-no-path-relative-novalid.html": "Bad value \u201c#\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: The string \u201c#\u201d is not an absolute URL.", - "html/elements/input/type-url-value/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in fragment: not a URL code point.", + "html/elements/input/type-url-value/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in fragment: space is not allowed.", "html/elements/input/type-url-value/fragment-non-ascii-relative-novalid.html": "Bad value \u201c#\u03b2\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: The string \u201c#\u03b2\u201d is not an absolute URL.", "html/elements/input/type-url-value/fragment-semicolon-question-mark-relative-novalid.html": "Bad value \u201c#;?\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: The string \u201c#;?\u201d is not an absolute URL.", "html/elements/input/type-url-value/fragment-slash-relative-novalid.html": "Bad value \u201c#/\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: The string \u201c#/\u201d is not an absolute URL.", "html/elements/input/type-url-value/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Tab, new line or carriage return found.", - "html/elements/input/type-url-value/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Invalid host: Domain contains invalid character: %.", - "html/elements/input/type-url-value/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Invalid host: Domain contains invalid character: %.", + "html/elements/input/type-url-value/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", + "html/elements/input/type-url-value/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", "html/elements/input/type-url-value/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Invalid host: empty host.", "html/elements/input/type-url-value/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Invalid host: empty host.", "html/elements/input/type-url-value/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Invalid host: empty host.", @@ -1180,17 +1180,17 @@ "html/elements/input/type-url-value/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", "html/elements/input/type-url-value/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Invalid host: A label or domain name contains disallowed characters..", "html/elements/input/type-url-value/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Tab, new line or carriage return found.", - "html/elements/input/type-url-value/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Invalid host: Domain contains invalid character: .", - "html/elements/input/type-url-value/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in port.", + "html/elements/input/type-url-value/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Invalid host: Illegal character in domain: space is not allowed.", + "html/elements/input/type-url-value/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in port: \u201c:\u201d is not allowed.", "html/elements/input/type-url-value/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Tab, new line or carriage return found.", - "html/elements/input/type-url-value/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Invalid host: Domain contains invalid character: %.", - "html/elements/input/type-url-value/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Invalid host: Domain contains invalid character: %.", + "html/elements/input/type-url-value/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", + "html/elements/input/type-url-value/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", "html/elements/input/type-url-value/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Percentage (\"%\") is not followed by two hexadecimal digits.", "html/elements/input/type-url-value/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: The string \u201c/a/ /c\u201d is not an absolute URL.", "html/elements/input/type-url-value/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Backslash (\"\\\") used as path segment delimiter.", "html/elements/input/type-url-value/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: The string \u201c:\\\u201d is not an absolute URL.", "html/elements/input/type-url-value/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: The string \u201c:foo.com\\\u201d is not an absolute URL.", - "html/elements/input/type-url-value/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in path segment: not a URL code point.", + "html/elements/input/type-url-value/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in path segment: space is not allowed.", "html/elements/input/type-url-value/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Percentage (\"%\") is not followed by two hexadecimal digits.", "html/elements/input/type-url-value/path-percent-encoded-slash-plus-slashes-relative-novalid.html": "Bad value \u201c/a/%2f/c\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: The string \u201c/a/%2f/c\u201d is not an absolute URL.", "html/elements/input/type-url-value/path-percent-encoded-slash-relative-novalid.html": "Bad value \u201c/a%2fc\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: The string \u201c/a%2fc\u201d is not an absolute URL.", @@ -1198,25 +1198,25 @@ "html/elements/input/type-url-value/path-simple-relative-novalid.html": "Bad value \u201c/a/b/c\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: The string \u201c/a/b/c\u201d is not an absolute URL.", "html/elements/input/type-url-value/path-slash-only-relative-novalid.html": "Bad value \u201c/\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: The string \u201c/\u201d is not an absolute URL.", "html/elements/input/type-url-value/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Tab, new line or carriage return found.", - "html/elements/input/type-url-value/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in path segment: not a URL code point.", + "html/elements/input/type-url-value/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in path segment: space is not allowed.", "html/elements/input/type-url-value/path-u0091-novalid.html": "Forbidden code point U+0091.", "html/elements/input/type-url-value/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Tab, new line or carriage return found.", - "html/elements/input/type-url-value/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in port.", - "html/elements/input/type-url-value/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in port.", - "html/elements/input/type-url-value/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in port.", - "html/elements/input/type-url-value/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in port.", + "html/elements/input/type-url-value/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in port: \u201c:\u201d is not allowed.", + "html/elements/input/type-url-value/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in port: \u201c:\u201d is not allowed.", + "html/elements/input/type-url-value/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in port: \u201c-\u201d is not allowed.", + "html/elements/input/type-url-value/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in port: \u201cf\u201d is not allowed.", "html/elements/input/type-url-value/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Tab, new line or carriage return found.", - "html/elements/input/type-url-value/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in port.", - "html/elements/input/type-url-value/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in port.", + "html/elements/input/type-url-value/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in port: \u201cb\u201d is not allowed.", + "html/elements/input/type-url-value/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in port: \u201c \u201d is not allowed.", "html/elements/input/type-url-value/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Tab, new line or carriage return found.", "html/elements/input/type-url-value/query-empty-no-path-relative-novalid.html": "Bad value \u201c?\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: The string \u201c?\u201d is not an absolute URL.", - "html/elements/input/type-url-value/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in query: not a URL code point.", - "html/elements/input/type-url-value/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in query: not a URL code point.", + "html/elements/input/type-url-value/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in query: space is not allowed.", + "html/elements/input/type-url-value/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in query: space is not allowed.", "html/elements/input/type-url-value/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Fragment is not allowed for data: URIs according to RFC 2397.", "html/elements/input/type-url-value/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", "html/elements/input/type-url-value/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Backslash (\"\\\") used as path segment delimiter.", - "html/elements/input/type-url-value/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in path segment: not a URL code point.", - "html/elements/input/type-url-value/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in path segment: not a URL code point.", + "html/elements/input/type-url-value/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in path segment: \u201c|\u201d is not allowed.", + "html/elements/input/type-url-value/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in path segment: \u201c|\u201d is not allowed.", "html/elements/input/type-url-value/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Expected a slash (\"/\").", "html/elements/input/type-url-value/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Expected a slash (\"/\").", "html/elements/input/type-url-value/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Expected a slash (\"/\").", @@ -1228,21 +1228,21 @@ "html/elements/input/type-url-value/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Expected a slash (\"/\").", "html/elements/input/type-url-value/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: syntax error", "html/elements/input/type-url-value/scheme-schemeless-relative-novalid.html": "Bad value \u201c//foo/bar\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: The string \u201c//foo/bar\u201d is not an absolute URL.", - "html/elements/input/type-url-value/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in scheme data: not a URL code point.", - "html/elements/input/type-url-value/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in scheme data: not a URL code point.", - "html/elements/input/type-url-value/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in scheme data: not a URL code point.", - "html/elements/input/type-url-value/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in scheme data: not a URL code point.", + "html/elements/input/type-url-value/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in scheme data: line break is not allowed.", + "html/elements/input/type-url-value/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in scheme data: line break is not allowed.", + "html/elements/input/type-url-value/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in scheme data: space is not allowed.", + "html/elements/input/type-url-value/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in scheme data: tab is not allowed.", "html/elements/input/type-url-value/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Backslash (\"\\\") used as path segment delimiter.", - "html/elements/input/type-url-value/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", - "html/elements/input/type-url-value/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in user or password: not a URL code point.", + "html/elements/input/type-url-value/userinfo-password-bad-chars-novalid.html": "Bad value \u201chttp://&afoo((b]c@d:2/\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in user or password: \u201c]\u201d is not allowed.", + "html/elements/input/type-url-value/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.", "html/elements/input/type-url-value/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: User or password contains an at symbol (\"@\") not percent-encoded.", - "html/elements/input/type-url-value/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in user or password: not a URL code point.", - "html/elements/ins/cite/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in fragment: not a URL code point.", - "html/elements/ins/cite/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in fragment: not a URL code point.", - "html/elements/ins/cite/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/input/type-url-value/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.", + "html/elements/ins/cite/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in fragment: \u201c\\\u201d is not allowed.", + "html/elements/ins/cite/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in fragment: \u201c#\u201d is not allowed.", + "html/elements/ins/cite/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in fragment: space is not allowed.", "html/elements/ins/cite/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/ins/cite/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", - "html/elements/ins/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 \u201cins\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/ins/cite/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", + "html/elements/ins/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 \u201cins\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", "html/elements/ins/cite/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Invalid host: empty host.", "html/elements/ins/cite/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Invalid host: empty host.", "html/elements/ins/cite/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Invalid host: empty host.", @@ -1250,38 +1250,38 @@ "html/elements/ins/cite/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", "html/elements/ins/cite/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", "html/elements/ins/cite/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/ins/cite/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Invalid host: Domain contains invalid character: .", - "html/elements/ins/cite/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in port.", + "html/elements/ins/cite/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Invalid host: Illegal character in domain: space is not allowed.", + "html/elements/ins/cite/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.", "html/elements/ins/cite/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/ins/cite/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", - "html/elements/ins/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 \u201cins\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/ins/cite/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", + "html/elements/ins/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 \u201cins\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", "html/elements/ins/cite/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", - "html/elements/ins/cite/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/ins/cite/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in path segment: space is not allowed.", "html/elements/ins/cite/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", "html/elements/ins/cite/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", "html/elements/ins/cite/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", - "html/elements/ins/cite/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/ins/cite/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in path segment: space is not allowed.", "html/elements/ins/cite/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", - "html/elements/ins/cite/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/ins/cite/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in path segment: \u201c[\u201d is not allowed.", "html/elements/ins/cite/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/ins/cite/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/ins/cite/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in path segment: space is not allowed.", "html/elements/ins/cite/path-u0091-novalid.html": "Forbidden code point U+0091.", "html/elements/ins/cite/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/ins/cite/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in port.", - "html/elements/ins/cite/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in port.", - "html/elements/ins/cite/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in port.", - "html/elements/ins/cite/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in port.", + "html/elements/ins/cite/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.", + "html/elements/ins/cite/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.", + "html/elements/ins/cite/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in port: \u201c-\u201d is not allowed.", + "html/elements/ins/cite/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in port: \u201cf\u201d is not allowed.", "html/elements/ins/cite/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/ins/cite/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in port.", - "html/elements/ins/cite/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in port.", + "html/elements/ins/cite/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in port: \u201cb\u201d is not allowed.", + "html/elements/ins/cite/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in port: \u201c \u201d is not allowed.", "html/elements/ins/cite/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/ins/cite/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in query: not a URL code point.", - "html/elements/ins/cite/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/ins/cite/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in query: space is not allowed.", + "html/elements/ins/cite/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in query: space is not allowed.", "html/elements/ins/cite/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", "html/elements/ins/cite/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", "html/elements/ins/cite/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", - "html/elements/ins/cite/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in path segment: not a URL code point.", - "html/elements/ins/cite/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/ins/cite/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.", + "html/elements/ins/cite/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.", "html/elements/ins/cite/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/ins/cite/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/ins/cite/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Expected a slash (\"/\").", @@ -1292,15 +1292,15 @@ "html/elements/ins/cite/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/ins/cite/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/ins/cite/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: syntax error", - "html/elements/ins/cite/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/ins/cite/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/ins/cite/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/ins/cite/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/ins/cite/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.", + "html/elements/ins/cite/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.", + "html/elements/ins/cite/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in scheme data: space is not allowed.", + "html/elements/ins/cite/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in scheme data: tab is not allowed.", "html/elements/ins/cite/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", - "html/elements/ins/cite/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", - "html/elements/ins/cite/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/ins/cite/userinfo-password-bad-chars-novalid.html": "Bad value \u201chttp://&afoo((b]c@d:2/\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in user or password: \u201c]\u201d is not allowed.", + "html/elements/ins/cite/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.", "html/elements/ins/cite/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", - "html/elements/ins/cite/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/ins/cite/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.", "html/elements/ins/date-0004-02-29-haswarn.html": "Bad value \u201c0004-02-29\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad date: Year may be mistyped. Bad datetime with timezone: The literal did not satisfy the datetime with timezone format.", "html/elements/ins/date-0005-02-29-novalid.html": "Bad value \u201c0005-02-29\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.", "html/elements/ins/date-0214-09-29-haswarn.html": "Bad value \u201c0214-09-29\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad date: Year may be mistyped. Bad datetime with timezone: The literal did not satisfy the datetime with timezone format.", @@ -1404,12 +1404,12 @@ "html/elements/link/href-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Must be non-empty.", "html/elements/link/href-missing-novalid.html": "Element \u201clink\u201d is missing required attribute \u201chref\u201d.", "html/elements/link/href-whitespace-only-novalid.html": "Bad value \u201c\t \n\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Must be non-empty.", - "html/elements/link/href/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in fragment: not a URL code point.", - "html/elements/link/href/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in fragment: not a URL code point.", - "html/elements/link/href/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/link/href/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in fragment: \u201c\\\u201d is not allowed.", + "html/elements/link/href/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in fragment: \u201c#\u201d is not allowed.", + "html/elements/link/href/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in fragment: space is not allowed.", "html/elements/link/href/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/link/href/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", - "html/elements/link/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 \u201clink\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/link/href/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", + "html/elements/link/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 \u201clink\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", "html/elements/link/href/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Invalid host: empty host.", "html/elements/link/href/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Invalid host: empty host.", "html/elements/link/href/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Invalid host: empty host.", @@ -1417,38 +1417,38 @@ "html/elements/link/href/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", "html/elements/link/href/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", "html/elements/link/href/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/link/href/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Invalid host: Domain contains invalid character: .", - "html/elements/link/href/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in port.", + "html/elements/link/href/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Invalid host: Illegal character in domain: space is not allowed.", + "html/elements/link/href/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.", "html/elements/link/href/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/link/href/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", - "html/elements/link/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 \u201clink\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/link/href/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", + "html/elements/link/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 \u201clink\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", "html/elements/link/href/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", - "html/elements/link/href/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/link/href/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in path segment: space is not allowed.", "html/elements/link/href/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", "html/elements/link/href/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", "html/elements/link/href/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", - "html/elements/link/href/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/link/href/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in path segment: space is not allowed.", "html/elements/link/href/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", - "html/elements/link/href/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/link/href/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in path segment: \u201c[\u201d is not allowed.", "html/elements/link/href/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/link/href/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/link/href/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in path segment: space is not allowed.", "html/elements/link/href/path-u0091-novalid.html": "Forbidden code point U+0091.", "html/elements/link/href/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/link/href/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in port.", - "html/elements/link/href/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in port.", - "html/elements/link/href/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in port.", - "html/elements/link/href/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in port.", + "html/elements/link/href/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.", + "html/elements/link/href/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.", + "html/elements/link/href/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in port: \u201c-\u201d is not allowed.", + "html/elements/link/href/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in port: \u201cf\u201d is not allowed.", "html/elements/link/href/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/link/href/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in port.", - "html/elements/link/href/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in port.", + "html/elements/link/href/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in port: \u201cb\u201d is not allowed.", + "html/elements/link/href/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in port: \u201c \u201d is not allowed.", "html/elements/link/href/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/link/href/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in query: not a URL code point.", - "html/elements/link/href/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/link/href/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in query: space is not allowed.", + "html/elements/link/href/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in query: space is not allowed.", "html/elements/link/href/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", "html/elements/link/href/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", "html/elements/link/href/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", - "html/elements/link/href/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in path segment: not a URL code point.", - "html/elements/link/href/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/link/href/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.", + "html/elements/link/href/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.", "html/elements/link/href/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/link/href/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/link/href/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Expected a slash (\"/\").", @@ -1459,25 +1459,25 @@ "html/elements/link/href/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/link/href/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/link/href/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: syntax error", - "html/elements/link/href/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/link/href/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/link/href/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/link/href/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/link/href/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.", + "html/elements/link/href/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.", + "html/elements/link/href/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in scheme data: space is not allowed.", + "html/elements/link/href/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in scheme data: tab is not allowed.", "html/elements/link/href/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", - "html/elements/link/href/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", - "html/elements/link/href/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/link/href/userinfo-password-bad-chars-novalid.html": "Bad value \u201chttp://&afoo((b]c@d:2/\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in user or password: \u201c]\u201d is not allowed.", + "html/elements/link/href/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.", "html/elements/link/href/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", - "html/elements/link/href/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/link/href/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.", "html/elements/map/model-novalid.html": "The \u201cid\u201d attribute on a \u201cmap\u201d element must have an the same value as the \u201cname\u201d attribute.", "html/elements/object/data-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Must be non-empty.", "html/elements/object/data-type-missing-novalid.html": "Element \u201cobject\u201d is missing one or more of the following attributes: [data, type].", "html/elements/object/data-whitespace-only-novalid.html": "Bad value \u201c\t \n\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Must be non-empty.", - "html/elements/object/data/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in fragment: not a URL code point.", - "html/elements/object/data/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in fragment: not a URL code point.", - "html/elements/object/data/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/object/data/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in fragment: \u201c\\\u201d is not allowed.", + "html/elements/object/data/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in fragment: \u201c#\u201d is not allowed.", + "html/elements/object/data/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in fragment: space is not allowed.", "html/elements/object/data/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/object/data/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", - "html/elements/object/data/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/object/data/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", + "html/elements/object/data/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", "html/elements/object/data/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Invalid host: empty host.", "html/elements/object/data/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Invalid host: empty host.", "html/elements/object/data/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Invalid host: empty host.", @@ -1485,38 +1485,38 @@ "html/elements/object/data/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", "html/elements/object/data/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", "html/elements/object/data/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/object/data/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Invalid host: Domain contains invalid character: .", - "html/elements/object/data/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in port.", + "html/elements/object/data/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Invalid host: Illegal character in domain: space is not allowed.", + "html/elements/object/data/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.", "html/elements/object/data/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/object/data/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", - "html/elements/object/data/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/object/data/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", + "html/elements/object/data/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", "html/elements/object/data/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", - "html/elements/object/data/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/object/data/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in path segment: space is not allowed.", "html/elements/object/data/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", "html/elements/object/data/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", "html/elements/object/data/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", - "html/elements/object/data/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/object/data/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in path segment: space is not allowed.", "html/elements/object/data/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", - "html/elements/object/data/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/object/data/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in path segment: \u201c[\u201d is not allowed.", "html/elements/object/data/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/object/data/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/object/data/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in path segment: space is not allowed.", "html/elements/object/data/path-u0091-novalid.html": "Forbidden code point U+0091.", "html/elements/object/data/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/object/data/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in port.", - "html/elements/object/data/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in port.", - "html/elements/object/data/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in port.", - "html/elements/object/data/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in port.", + "html/elements/object/data/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.", + "html/elements/object/data/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.", + "html/elements/object/data/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in port: \u201c-\u201d is not allowed.", + "html/elements/object/data/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in port: \u201cf\u201d is not allowed.", "html/elements/object/data/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/object/data/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in port.", - "html/elements/object/data/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in port.", + "html/elements/object/data/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in port: \u201cb\u201d is not allowed.", + "html/elements/object/data/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in port: \u201c \u201d is not allowed.", "html/elements/object/data/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/object/data/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in query: not a URL code point.", - "html/elements/object/data/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/object/data/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in query: space is not allowed.", + "html/elements/object/data/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in query: space is not allowed.", "html/elements/object/data/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", "html/elements/object/data/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", "html/elements/object/data/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", - "html/elements/object/data/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in path segment: not a URL code point.", - "html/elements/object/data/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/object/data/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.", + "html/elements/object/data/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.", "html/elements/object/data/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/object/data/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/object/data/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Expected a slash (\"/\").", @@ -1527,15 +1527,15 @@ "html/elements/object/data/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/object/data/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/object/data/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: syntax error", - "html/elements/object/data/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/object/data/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/object/data/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/object/data/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/object/data/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.", + "html/elements/object/data/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.", + "html/elements/object/data/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in scheme data: space is not allowed.", + "html/elements/object/data/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in scheme data: tab is not allowed.", "html/elements/object/data/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", - "html/elements/object/data/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", - "html/elements/object/data/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/object/data/userinfo-password-bad-chars-novalid.html": "Bad value \u201chttp://&afoo((b]c@d:2/\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in user or password: \u201c]\u201d is not allowed.", + "html/elements/object/data/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.", "html/elements/object/data/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", - "html/elements/object/data/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/object/data/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.", "html/elements/object/model-novalid.html": "Element \u201cobject\u201d is missing one or more of the following attributes: [data, type].", "html/elements/ol/model-novalid.html": "Duplicate ID \u201cid\u201d.", "html/elements/option/label-novalid.html": "Bad value \u201c\u201d for attribute \u201clabel\u201d on element \u201coption\u201d: Bad non-empty string: Must not be empty.", @@ -1740,12 +1740,12 @@ "html/elements/picture/video-source-srcset-src-novalid.html": "Attribute \u201csrcset\u201d not allowed on element \u201csource\u201d in this context.", "html/elements/picture/video-srcset-novalid.html": "Attribute \u201csrcset\u201d not allowed on element \u201cvideo\u201d in this context.", "html/elements/pre/model-novalid.html": "No \u201cp\u201d element in scope but a \u201cp\u201d end tag seen.", - "html/elements/q/cite/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in fragment: not a URL code point.", - "html/elements/q/cite/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in fragment: not a URL code point.", - "html/elements/q/cite/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/q/cite/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in fragment: \u201c\\\u201d is not allowed.", + "html/elements/q/cite/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in fragment: \u201c#\u201d is not allowed.", + "html/elements/q/cite/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in fragment: space is not allowed.", "html/elements/q/cite/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/q/cite/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", - "html/elements/q/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 \u201cq\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/q/cite/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", + "html/elements/q/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 \u201cq\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", "html/elements/q/cite/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Invalid host: empty host.", "html/elements/q/cite/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Invalid host: empty host.", "html/elements/q/cite/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Invalid host: empty host.", @@ -1753,38 +1753,38 @@ "html/elements/q/cite/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", "html/elements/q/cite/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", "html/elements/q/cite/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/q/cite/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Invalid host: Domain contains invalid character: .", - "html/elements/q/cite/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in port.", + "html/elements/q/cite/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Invalid host: Illegal character in domain: space is not allowed.", + "html/elements/q/cite/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.", "html/elements/q/cite/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/q/cite/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", - "html/elements/q/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 \u201cq\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/q/cite/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", + "html/elements/q/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 \u201cq\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", "html/elements/q/cite/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", - "html/elements/q/cite/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/q/cite/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in path segment: space is not allowed.", "html/elements/q/cite/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", "html/elements/q/cite/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", "html/elements/q/cite/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", - "html/elements/q/cite/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/q/cite/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in path segment: space is not allowed.", "html/elements/q/cite/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", - "html/elements/q/cite/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/q/cite/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in path segment: \u201c[\u201d is not allowed.", "html/elements/q/cite/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/q/cite/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/q/cite/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in path segment: space is not allowed.", "html/elements/q/cite/path-u0091-novalid.html": "Forbidden code point U+0091.", "html/elements/q/cite/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/q/cite/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in port.", - "html/elements/q/cite/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in port.", - "html/elements/q/cite/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in port.", - "html/elements/q/cite/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in port.", + "html/elements/q/cite/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.", + "html/elements/q/cite/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.", + "html/elements/q/cite/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in port: \u201c-\u201d is not allowed.", + "html/elements/q/cite/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in port: \u201cf\u201d is not allowed.", "html/elements/q/cite/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/q/cite/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in port.", - "html/elements/q/cite/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in port.", + "html/elements/q/cite/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in port: \u201cb\u201d is not allowed.", + "html/elements/q/cite/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in port: \u201c \u201d is not allowed.", "html/elements/q/cite/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/q/cite/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in query: not a URL code point.", - "html/elements/q/cite/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/q/cite/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in query: space is not allowed.", + "html/elements/q/cite/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in query: space is not allowed.", "html/elements/q/cite/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", "html/elements/q/cite/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", "html/elements/q/cite/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", - "html/elements/q/cite/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in path segment: not a URL code point.", - "html/elements/q/cite/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/q/cite/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.", + "html/elements/q/cite/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.", "html/elements/q/cite/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/q/cite/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/q/cite/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Expected a slash (\"/\").", @@ -1795,15 +1795,15 @@ "html/elements/q/cite/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/q/cite/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/q/cite/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: syntax error", - "html/elements/q/cite/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/q/cite/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/q/cite/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/q/cite/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/q/cite/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.", + "html/elements/q/cite/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.", + "html/elements/q/cite/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in scheme data: space is not allowed.", + "html/elements/q/cite/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in scheme data: tab is not allowed.", "html/elements/q/cite/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", - "html/elements/q/cite/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", - "html/elements/q/cite/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/q/cite/userinfo-password-bad-chars-novalid.html": "Bad value \u201chttp://&afoo((b]c@d:2/\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in user or password: \u201c]\u201d is not allowed.", + "html/elements/q/cite/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.", "html/elements/q/cite/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", - "html/elements/q/cite/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/q/cite/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.", "html/elements/q/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.", "html/elements/ruby/empty-novalid.html": "Element \u201cruby\u201d is missing one or more of the following child elements: [rp, rt, rtc].", "html/elements/ruby/missing-rt-novalid.html": "Element \u201cruby\u201d is missing one or more of the following child elements: [rt, rtc].", @@ -1811,12 +1811,12 @@ "html/elements/script/language-novalid.html": "The \u201clanguage\u201d attribute on the \u201cscript\u201d element is obsolete. Use the \u201ctype\u201d attribute instead.", "html/elements/script/src-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Must be non-empty.", "html/elements/script/src-whitespace-only-novalid.html": "Bad value \u201c\t \n\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Must be non-empty.", - "html/elements/script/src/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in fragment: not a URL code point.", - "html/elements/script/src/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in fragment: not a URL code point.", - "html/elements/script/src/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/script/src/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in fragment: \u201c\\\u201d is not allowed.", + "html/elements/script/src/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in fragment: \u201c#\u201d is not allowed.", + "html/elements/script/src/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in fragment: space is not allowed.", "html/elements/script/src/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/script/src/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", - "html/elements/script/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 \u201cscript\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/script/src/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", + "html/elements/script/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 \u201cscript\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", "html/elements/script/src/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Invalid host: empty host.", "html/elements/script/src/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Invalid host: empty host.", "html/elements/script/src/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Invalid host: empty host.", @@ -1824,38 +1824,38 @@ "html/elements/script/src/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", "html/elements/script/src/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", "html/elements/script/src/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/script/src/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Invalid host: Domain contains invalid character: .", - "html/elements/script/src/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in port.", + "html/elements/script/src/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Invalid host: Illegal character in domain: space is not allowed.", + "html/elements/script/src/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.", "html/elements/script/src/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/script/src/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", - "html/elements/script/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 \u201cscript\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/script/src/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", + "html/elements/script/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 \u201cscript\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", "html/elements/script/src/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", - "html/elements/script/src/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/script/src/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in path segment: space is not allowed.", "html/elements/script/src/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", "html/elements/script/src/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", "html/elements/script/src/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", - "html/elements/script/src/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/script/src/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in path segment: space is not allowed.", "html/elements/script/src/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", - "html/elements/script/src/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/script/src/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in path segment: \u201c[\u201d is not allowed.", "html/elements/script/src/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/script/src/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/script/src/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in path segment: space is not allowed.", "html/elements/script/src/path-u0091-novalid.html": "Forbidden code point U+0091.", "html/elements/script/src/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/script/src/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in port.", - "html/elements/script/src/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in port.", - "html/elements/script/src/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in port.", - "html/elements/script/src/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in port.", + "html/elements/script/src/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.", + "html/elements/script/src/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.", + "html/elements/script/src/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in port: \u201c-\u201d is not allowed.", + "html/elements/script/src/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in port: \u201cf\u201d is not allowed.", "html/elements/script/src/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/script/src/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in port.", - "html/elements/script/src/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in port.", + "html/elements/script/src/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in port: \u201cb\u201d is not allowed.", + "html/elements/script/src/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in port: \u201c \u201d is not allowed.", "html/elements/script/src/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/script/src/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in query: not a URL code point.", - "html/elements/script/src/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/script/src/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in query: space is not allowed.", + "html/elements/script/src/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in query: space is not allowed.", "html/elements/script/src/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", "html/elements/script/src/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", "html/elements/script/src/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", - "html/elements/script/src/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in path segment: not a URL code point.", - "html/elements/script/src/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/script/src/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.", + "html/elements/script/src/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.", "html/elements/script/src/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/script/src/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/script/src/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Expected a slash (\"/\").", @@ -1866,24 +1866,24 @@ "html/elements/script/src/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/script/src/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/script/src/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: syntax error", - "html/elements/script/src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/script/src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/script/src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/script/src/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/script/src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.", + "html/elements/script/src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.", + "html/elements/script/src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in scheme data: space is not allowed.", + "html/elements/script/src/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in scheme data: tab is not allowed.", "html/elements/script/src/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", - "html/elements/script/src/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", - "html/elements/script/src/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/script/src/userinfo-password-bad-chars-novalid.html": "Bad value \u201chttp://&afoo((b]c@d:2/\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in user or password: \u201c]\u201d is not allowed.", + "html/elements/script/src/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.", "html/elements/script/src/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", - "html/elements/script/src/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/script/src/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.", "html/elements/small/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.", "html/elements/source/src-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Must be non-empty.", "html/elements/source/src-whitespace-only-novalid.html": "Bad value \u201c\t \n\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Must be non-empty.", - "html/elements/source/src/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in fragment: not a URL code point.", - "html/elements/source/src/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in fragment: not a URL code point.", - "html/elements/source/src/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/source/src/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in fragment: \u201c\\\u201d is not allowed.", + "html/elements/source/src/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in fragment: \u201c#\u201d is not allowed.", + "html/elements/source/src/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in fragment: space is not allowed.", "html/elements/source/src/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/source/src/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", - "html/elements/source/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 \u201csource\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/source/src/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", + "html/elements/source/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 \u201csource\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", "html/elements/source/src/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Invalid host: empty host.", "html/elements/source/src/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Invalid host: empty host.", "html/elements/source/src/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Invalid host: empty host.", @@ -1891,38 +1891,38 @@ "html/elements/source/src/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", "html/elements/source/src/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", "html/elements/source/src/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/source/src/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Invalid host: Domain contains invalid character: .", - "html/elements/source/src/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in port.", + "html/elements/source/src/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Invalid host: Illegal character in domain: space is not allowed.", + "html/elements/source/src/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.", "html/elements/source/src/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/source/src/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", - "html/elements/source/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 \u201csource\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/source/src/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", + "html/elements/source/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 \u201csource\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", "html/elements/source/src/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", - "html/elements/source/src/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/source/src/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in path segment: space is not allowed.", "html/elements/source/src/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", "html/elements/source/src/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", "html/elements/source/src/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", - "html/elements/source/src/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/source/src/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in path segment: space is not allowed.", "html/elements/source/src/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", - "html/elements/source/src/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/source/src/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in path segment: \u201c[\u201d is not allowed.", "html/elements/source/src/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/source/src/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/source/src/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in path segment: space is not allowed.", "html/elements/source/src/path-u0091-novalid.html": "Forbidden code point U+0091.", "html/elements/source/src/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/source/src/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in port.", - "html/elements/source/src/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in port.", - "html/elements/source/src/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in port.", - "html/elements/source/src/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in port.", + "html/elements/source/src/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.", + "html/elements/source/src/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.", + "html/elements/source/src/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in port: \u201c-\u201d is not allowed.", + "html/elements/source/src/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in port: \u201cf\u201d is not allowed.", "html/elements/source/src/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/source/src/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in port.", - "html/elements/source/src/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in port.", + "html/elements/source/src/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in port: \u201cb\u201d is not allowed.", + "html/elements/source/src/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in port: \u201c \u201d is not allowed.", "html/elements/source/src/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/source/src/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in query: not a URL code point.", - "html/elements/source/src/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/source/src/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in query: space is not allowed.", + "html/elements/source/src/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in query: space is not allowed.", "html/elements/source/src/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", "html/elements/source/src/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", "html/elements/source/src/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", - "html/elements/source/src/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in path segment: not a URL code point.", - "html/elements/source/src/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/source/src/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.", + "html/elements/source/src/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.", "html/elements/source/src/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/source/src/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/source/src/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Expected a slash (\"/\").", @@ -1933,15 +1933,15 @@ "html/elements/source/src/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/source/src/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/source/src/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: syntax error", - "html/elements/source/src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/source/src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/source/src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/source/src/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/source/src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.", + "html/elements/source/src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.", + "html/elements/source/src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in scheme data: space is not allowed.", + "html/elements/source/src/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in scheme data: tab is not allowed.", "html/elements/source/src/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", - "html/elements/source/src/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", - "html/elements/source/src/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/source/src/userinfo-password-bad-chars-novalid.html": "Bad value \u201chttp://&afoo((b]c@d:2/\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in user or password: \u201c]\u201d is not allowed.", + "html/elements/source/src/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.", "html/elements/source/src/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", - "html/elements/source/src/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/source/src/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.", "html/elements/span/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.", "html/elements/strong/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.", "html/elements/style/scoped-as-p-child-novalid.html": "Element \u201cstyle\u201d not allowed in this context. (The parent was element \u201cp\u201d.) Suppressing further errors from this subtree.", @@ -1956,12 +1956,12 @@ "html/elements/title/missing-novalid.html": "Element \u201chead\u201d is missing required child element \u201ctitle\u201d.", "html/elements/track/src-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Must be non-empty.", "html/elements/track/src-whitespace-only-novalid.html": "Bad value \u201c\t \n\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Must be non-empty.", - "html/elements/track/src/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in fragment: not a URL code point.", - "html/elements/track/src/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in fragment: not a URL code point.", - "html/elements/track/src/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/track/src/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in fragment: \u201c\\\u201d is not allowed.", + "html/elements/track/src/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in fragment: \u201c#\u201d is not allowed.", + "html/elements/track/src/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in fragment: space is not allowed.", "html/elements/track/src/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/track/src/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", - "html/elements/track/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 \u201ctrack\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/track/src/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", + "html/elements/track/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 \u201ctrack\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", "html/elements/track/src/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Invalid host: empty host.", "html/elements/track/src/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Invalid host: empty host.", "html/elements/track/src/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Invalid host: empty host.", @@ -1969,38 +1969,38 @@ "html/elements/track/src/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", "html/elements/track/src/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", "html/elements/track/src/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/track/src/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Invalid host: Domain contains invalid character: .", - "html/elements/track/src/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in port.", + "html/elements/track/src/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Invalid host: Illegal character in domain: space is not allowed.", + "html/elements/track/src/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.", "html/elements/track/src/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/track/src/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", - "html/elements/track/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 \u201ctrack\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/track/src/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", + "html/elements/track/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 \u201ctrack\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", "html/elements/track/src/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", - "html/elements/track/src/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/track/src/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in path segment: space is not allowed.", "html/elements/track/src/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", "html/elements/track/src/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", "html/elements/track/src/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", - "html/elements/track/src/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/track/src/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in path segment: space is not allowed.", "html/elements/track/src/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", - "html/elements/track/src/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/track/src/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in path segment: \u201c[\u201d is not allowed.", "html/elements/track/src/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/track/src/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/track/src/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in path segment: space is not allowed.", "html/elements/track/src/path-u0091-novalid.html": "Forbidden code point U+0091.", "html/elements/track/src/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/track/src/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in port.", - "html/elements/track/src/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in port.", - "html/elements/track/src/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in port.", - "html/elements/track/src/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in port.", + "html/elements/track/src/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.", + "html/elements/track/src/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.", + "html/elements/track/src/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in port: \u201c-\u201d is not allowed.", + "html/elements/track/src/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in port: \u201cf\u201d is not allowed.", "html/elements/track/src/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/track/src/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in port.", - "html/elements/track/src/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in port.", + "html/elements/track/src/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in port: \u201cb\u201d is not allowed.", + "html/elements/track/src/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in port: \u201c \u201d is not allowed.", "html/elements/track/src/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/track/src/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in query: not a URL code point.", - "html/elements/track/src/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/track/src/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in query: space is not allowed.", + "html/elements/track/src/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in query: space is not allowed.", "html/elements/track/src/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", "html/elements/track/src/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", "html/elements/track/src/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", - "html/elements/track/src/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in path segment: not a URL code point.", - "html/elements/track/src/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/track/src/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.", + "html/elements/track/src/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.", "html/elements/track/src/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/track/src/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/track/src/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Expected a slash (\"/\").", @@ -2011,26 +2011,26 @@ "html/elements/track/src/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/track/src/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/track/src/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: syntax error", - "html/elements/track/src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/track/src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/track/src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/track/src/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/track/src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.", + "html/elements/track/src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.", + "html/elements/track/src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in scheme data: space is not allowed.", + "html/elements/track/src/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in scheme data: tab is not allowed.", "html/elements/track/src/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", - "html/elements/track/src/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", - "html/elements/track/src/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/track/src/userinfo-password-bad-chars-novalid.html": "Bad value \u201chttp://&afoo((b]c@d:2/\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in user or password: \u201c]\u201d is not allowed.", + "html/elements/track/src/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.", "html/elements/track/src/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", - "html/elements/track/src/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/track/src/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.", "html/elements/ul/model-novalid.html": "Duplicate ID \u201cid\u201d.", "html/elements/var/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.", "html/elements/video/model-novalid.html": "Element \u201cp\u201d not allowed in this context. (The parent was element \u201cvideo\u201d.) Suppressing further errors from this subtree.", "html/elements/video/poster-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Must be non-empty.", "html/elements/video/poster-whitespace-only-novalid.html": "Bad value \u201c\t \n\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Must be non-empty.", - "html/elements/video/poster/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in fragment: not a URL code point.", - "html/elements/video/poster/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in fragment: not a URL code point.", - "html/elements/video/poster/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/video/poster/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in fragment: \u201c\\\u201d is not allowed.", + "html/elements/video/poster/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in fragment: \u201c#\u201d is not allowed.", + "html/elements/video/poster/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in fragment: space is not allowed.", "html/elements/video/poster/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/video/poster/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", - "html/elements/video/poster/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/video/poster/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", + "html/elements/video/poster/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", "html/elements/video/poster/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: empty host.", "html/elements/video/poster/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: empty host.", "html/elements/video/poster/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: empty host.", @@ -2038,38 +2038,38 @@ "html/elements/video/poster/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", "html/elements/video/poster/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", "html/elements/video/poster/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/video/poster/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: Domain contains invalid character: .", - "html/elements/video/poster/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port.", + "html/elements/video/poster/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: Illegal character in domain: space is not allowed.", + "html/elements/video/poster/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.", "html/elements/video/poster/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/video/poster/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", - "html/elements/video/poster/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/video/poster/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", + "html/elements/video/poster/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", "html/elements/video/poster/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", - "html/elements/video/poster/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/video/poster/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: space is not allowed.", "html/elements/video/poster/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", "html/elements/video/poster/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", "html/elements/video/poster/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", - "html/elements/video/poster/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/video/poster/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: space is not allowed.", "html/elements/video/poster/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", - "html/elements/video/poster/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/video/poster/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: \u201c[\u201d is not allowed.", "html/elements/video/poster/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/video/poster/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/video/poster/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: space is not allowed.", "html/elements/video/poster/path-u0091-novalid.html": "Forbidden code point U+0091.", "html/elements/video/poster/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/video/poster/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port.", - "html/elements/video/poster/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port.", - "html/elements/video/poster/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port.", - "html/elements/video/poster/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port.", + "html/elements/video/poster/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.", + "html/elements/video/poster/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.", + "html/elements/video/poster/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port: \u201c-\u201d is not allowed.", + "html/elements/video/poster/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port: \u201cf\u201d is not allowed.", "html/elements/video/poster/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/video/poster/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port.", - "html/elements/video/poster/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port.", + "html/elements/video/poster/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port: \u201cb\u201d is not allowed.", + "html/elements/video/poster/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port: \u201c \u201d is not allowed.", "html/elements/video/poster/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/video/poster/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in query: not a URL code point.", - "html/elements/video/poster/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/video/poster/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in query: space is not allowed.", + "html/elements/video/poster/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in query: space is not allowed.", "html/elements/video/poster/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", "html/elements/video/poster/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", "html/elements/video/poster/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", - "html/elements/video/poster/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: not a URL code point.", - "html/elements/video/poster/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/video/poster/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.", + "html/elements/video/poster/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.", "html/elements/video/poster/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/video/poster/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/video/poster/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Expected a slash (\"/\").", @@ -2080,21 +2080,21 @@ "html/elements/video/poster/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/video/poster/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/video/poster/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: syntax error", - "html/elements/video/poster/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/video/poster/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/video/poster/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/video/poster/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/video/poster/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.", + "html/elements/video/poster/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.", + "html/elements/video/poster/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in scheme data: space is not allowed.", + "html/elements/video/poster/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in scheme data: tab is not allowed.", "html/elements/video/poster/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", - "html/elements/video/poster/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", - "html/elements/video/poster/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/video/poster/userinfo-password-bad-chars-novalid.html": "Bad value \u201chttp://&afoo((b]c@d:2/\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in user or password: \u201c]\u201d is not allowed.", + "html/elements/video/poster/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.", "html/elements/video/poster/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", - "html/elements/video/poster/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in user or password: not a URL code point.", - "html/elements/video/src/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in fragment: not a URL code point.", - "html/elements/video/src/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in fragment: not a URL code point.", - "html/elements/video/src/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/video/poster/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.", + "html/elements/video/src/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in fragment: \u201c\\\u201d is not allowed.", + "html/elements/video/src/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in fragment: \u201c#\u201d is not allowed.", + "html/elements/video/src/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in fragment: space is not allowed.", "html/elements/video/src/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/video/src/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", - "html/elements/video/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 \u201cvideo\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/video/src/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", + "html/elements/video/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 \u201cvideo\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", "html/elements/video/src/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: empty host.", "html/elements/video/src/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: empty host.", "html/elements/video/src/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: empty host.", @@ -2102,38 +2102,38 @@ "html/elements/video/src/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", "html/elements/video/src/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", "html/elements/video/src/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/video/src/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: Domain contains invalid character: .", - "html/elements/video/src/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port.", + "html/elements/video/src/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: Illegal character in domain: space is not allowed.", + "html/elements/video/src/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.", "html/elements/video/src/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/video/src/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", - "html/elements/video/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 \u201cvideo\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/video/src/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", + "html/elements/video/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 \u201cvideo\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", "html/elements/video/src/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", - "html/elements/video/src/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/video/src/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: space is not allowed.", "html/elements/video/src/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", "html/elements/video/src/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", "html/elements/video/src/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", - "html/elements/video/src/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/video/src/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: space is not allowed.", "html/elements/video/src/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", - "html/elements/video/src/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/video/src/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: \u201c[\u201d is not allowed.", "html/elements/video/src/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/video/src/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/video/src/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: space is not allowed.", "html/elements/video/src/path-u0091-novalid.html": "Forbidden code point U+0091.", "html/elements/video/src/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/video/src/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port.", - "html/elements/video/src/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port.", - "html/elements/video/src/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port.", - "html/elements/video/src/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port.", + "html/elements/video/src/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.", + "html/elements/video/src/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.", + "html/elements/video/src/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port: \u201c-\u201d is not allowed.", + "html/elements/video/src/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port: \u201cf\u201d is not allowed.", "html/elements/video/src/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/video/src/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port.", - "html/elements/video/src/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port.", + "html/elements/video/src/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port: \u201cb\u201d is not allowed.", + "html/elements/video/src/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port: \u201c \u201d is not allowed.", "html/elements/video/src/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Tab, new line or carriage return found.", - "html/elements/video/src/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in query: not a URL code point.", - "html/elements/video/src/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/video/src/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in query: space is not allowed.", + "html/elements/video/src/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in query: space is not allowed.", "html/elements/video/src/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", "html/elements/video/src/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", "html/elements/video/src/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", - "html/elements/video/src/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: not a URL code point.", - "html/elements/video/src/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/video/src/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.", + "html/elements/video/src/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.", "html/elements/video/src/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/video/src/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/video/src/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Expected a slash (\"/\").", @@ -2144,15 +2144,15 @@ "html/elements/video/src/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/video/src/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Expected a slash (\"/\").", "html/elements/video/src/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: syntax error", - "html/elements/video/src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/video/src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/video/src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/elements/video/src/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/video/src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.", + "html/elements/video/src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.", + "html/elements/video/src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in scheme data: space is not allowed.", + "html/elements/video/src/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in scheme data: tab is not allowed.", "html/elements/video/src/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", - "html/elements/video/src/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", - "html/elements/video/src/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/video/src/userinfo-password-bad-chars-novalid.html": "Bad value \u201chttp://&afoo((b]c@d:2/\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in user or password: \u201c]\u201d is not allowed.", + "html/elements/video/src/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.", "html/elements/video/src/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", - "html/elements/video/src/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/video/src/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.", "html/media-queries/001-novalid.html": "Bad value \u201cscreen and\u201d for attribute \u201cmedia\u201d on element \u201clink\u201d: Bad media query: Media query ended prematurely.", "html/media-queries/002-novalid.html": "Bad value \u201calla\u201d for attribute \u201cmedia\u201d on element \u201clink\u201d: Bad media query: Expected a CSS media type but the query ended.", "html/media-queries/003-novalid.html": "Bad value \u201cPROJECT\u0130ON\u201d for attribute \u201cmedia\u201d on element \u201clink\u201d: Bad media query: Expected a letter, hyphen or whitespace but saw \u201c\u0130\u201d instead.", @@ -2177,12 +2177,12 @@ "html/media-queries/projection-novalid.html": "Bad value \u201cprojection\u201d for attribute \u201cmedia\u201d on element \u201clink\u201d: Bad media query: Deprecated media type \u201cprojection\u201d. For guidance, see the Media Types section in the current Media Queries specification.", "html/media-queries/tv-novalid.html": "Bad value \u201ctv and (scan: progressive)\u201d for attribute \u201cmedia\u201d on element \u201clink\u201d: Bad media query: Deprecated media type \u201ctv\u201d. For guidance, see the Media Types section in the current Media Queries specification.", "html/microdata/itemid-scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", - "html/microdata/itemid/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in fragment: not a URL code point.", - "html/microdata/itemid/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in fragment: not a URL code point.", - "html/microdata/itemid/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/microdata/itemid/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in fragment: \u201c\\\u201d is not allowed.", + "html/microdata/itemid/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in fragment: \u201c#\u201d is not allowed.", + "html/microdata/itemid/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in fragment: space is not allowed.", "html/microdata/itemid/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Tab, new line or carriage return found.", - "html/microdata/itemid/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", - "html/microdata/itemid/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/microdata/itemid/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", + "html/microdata/itemid/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", "html/microdata/itemid/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Invalid host: empty host.", "html/microdata/itemid/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Invalid host: empty host.", "html/microdata/itemid/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Invalid host: empty host.", @@ -2190,37 +2190,37 @@ "html/microdata/itemid/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", "html/microdata/itemid/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", "html/microdata/itemid/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Tab, new line or carriage return found.", - "html/microdata/itemid/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Invalid host: Domain contains invalid character: .", - "html/microdata/itemid/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in port.", + "html/microdata/itemid/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Invalid host: Illegal character in domain: space is not allowed.", + "html/microdata/itemid/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.", "html/microdata/itemid/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Tab, new line or carriage return found.", - "html/microdata/itemid/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", - "html/microdata/itemid/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/microdata/itemid/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", + "html/microdata/itemid/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", "html/microdata/itemid/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", - "html/microdata/itemid/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/microdata/itemid/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in path segment: space is not allowed.", "html/microdata/itemid/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", "html/microdata/itemid/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", "html/microdata/itemid/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", - "html/microdata/itemid/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/microdata/itemid/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in path segment: space is not allowed.", "html/microdata/itemid/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", - "html/microdata/itemid/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/microdata/itemid/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in path segment: \u201c[\u201d is not allowed.", "html/microdata/itemid/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Tab, new line or carriage return found.", - "html/microdata/itemid/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/microdata/itemid/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in path segment: space is not allowed.", "html/microdata/itemid/path-u0091-novalid.html": "Forbidden code point U+0091.", "html/microdata/itemid/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Tab, new line or carriage return found.", - "html/microdata/itemid/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in port.", - "html/microdata/itemid/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in port.", - "html/microdata/itemid/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in port.", - "html/microdata/itemid/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in port.", + "html/microdata/itemid/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.", + "html/microdata/itemid/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in port: \u201c:\u201d is not allowed.", + "html/microdata/itemid/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in port: \u201c-\u201d is not allowed.", + "html/microdata/itemid/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in port: \u201cf\u201d is not allowed.", "html/microdata/itemid/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Tab, new line or carriage return found.", - "html/microdata/itemid/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in port.", - "html/microdata/itemid/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in port.", + "html/microdata/itemid/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in port: \u201cb\u201d is not allowed.", + "html/microdata/itemid/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in port: \u201c \u201d is not allowed.", "html/microdata/itemid/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Tab, new line or carriage return found.", - "html/microdata/itemid/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in query: not a URL code point.", - "html/microdata/itemid/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/microdata/itemid/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in query: space is not allowed.", + "html/microdata/itemid/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in query: space is not allowed.", "html/microdata/itemid/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", "html/microdata/itemid/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", - "html/microdata/itemid/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in path segment: not a URL code point.", - "html/microdata/itemid/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/microdata/itemid/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.", + "html/microdata/itemid/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in path segment: \u201c|\u201d is not allowed.", "html/microdata/itemid/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Expected a slash (\"/\").", "html/microdata/itemid/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Expected a slash (\"/\").", "html/microdata/itemid/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Expected a slash (\"/\").", @@ -2231,27 +2231,27 @@ "html/microdata/itemid/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Expected a slash (\"/\").", "html/microdata/itemid/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Expected a slash (\"/\").", "html/microdata/itemid/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: syntax error", - "html/microdata/itemid/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/microdata/itemid/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/microdata/itemid/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", - "html/microdata/itemid/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/microdata/itemid/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.", + "html/microdata/itemid/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.", + "html/microdata/itemid/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in scheme data: space is not allowed.", + "html/microdata/itemid/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in scheme data: tab is not allowed.", "html/microdata/itemid/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", - "html/microdata/itemid/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", - "html/microdata/itemid/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/microdata/itemid/userinfo-password-bad-chars-novalid.html": "Bad value \u201chttp://&afoo((b]c@d:2/\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in user or password: \u201c]\u201d is not allowed.", + "html/microdata/itemid/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.", "html/microdata/itemid/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", - "html/microdata/itemid/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/microdata/itemid/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.", "html/microdata/itemtype-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d.", "html/microdata/itemtype-scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Fragment is not allowed for data: URIs according to RFC 2397.", "html/microdata/itemtype/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c#\\\u201d is not an absolute URL.", - "html/microdata/itemtype/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Illegal character in fragment: not a URL code point.", + "html/microdata/itemtype/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Illegal character in fragment: \u201c#\u201d is not allowed.", "html/microdata/itemtype/fragment-empty-hash-only-no-path-relative-novalid.html": "Bad value \u201c#\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c#\u201d is not an absolute URL.", "html/microdata/itemtype/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201ce\u201d is not an absolute URL.", "html/microdata/itemtype/fragment-non-ascii-relative-novalid.html": "Bad value \u201c#\u03b2\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c#\u03b2\u201d is not an absolute URL.", "html/microdata/itemtype/fragment-semicolon-question-mark-relative-novalid.html": "Bad value \u201c#;?\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c#;?\u201d is not an absolute URL.", "html/microdata/itemtype/fragment-slash-relative-novalid.html": "Bad value \u201c#/\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c#/\u201d is not an absolute URL.", "html/microdata/itemtype/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201corg\u201d is not an absolute URL.", - "html/microdata/itemtype/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Invalid host: Domain contains invalid character: %.", - "html/microdata/itemtype/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Invalid host: Domain contains invalid character: %.", + "html/microdata/itemtype/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", + "html/microdata/itemtype/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", "html/microdata/itemtype/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Invalid host: empty host.", "html/microdata/itemtype/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Invalid host: empty host.", "html/microdata/itemtype/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Invalid host: empty host.", @@ -2260,10 +2260,10 @@ "html/microdata/itemtype/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Invalid host: A label or domain name contains disallowed characters..", "html/microdata/itemtype/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201corg\u201d is not an absolute URL.", "html/microdata/itemtype/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c.org\u201d is not an absolute URL.", - "html/microdata/itemtype/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Illegal character in port.", + "html/microdata/itemtype/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Illegal character in port: \u201c:\u201d is not allowed.", "html/microdata/itemtype/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c.org\u201d is not an absolute URL.", - "html/microdata/itemtype/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Invalid host: Domain contains invalid character: %.", - "html/microdata/itemtype/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Invalid host: Domain contains invalid character: %.", + "html/microdata/itemtype/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", + "html/microdata/itemtype/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Invalid host: Illegal character in domain: \u201c%\u201d is not allowed.", "html/microdata/itemtype/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Percentage (\"%\") is not followed by two hexadecimal digits.", "html/microdata/itemtype/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c/a/\u201d is not an absolute URL.", "html/microdata/itemtype/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Backslash (\"\\\") used as path segment delimiter.", @@ -2280,12 +2280,12 @@ "html/microdata/itemtype/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c?\u201d is not an absolute URL.", "html/microdata/itemtype/path-u0091-novalid.html": "Forbidden code point U+0091.", "html/microdata/itemtype/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c/c\u201d is not an absolute URL.", - "html/microdata/itemtype/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Illegal character in port.", - "html/microdata/itemtype/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Illegal character in port.", - "html/microdata/itemtype/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Illegal character in port.", - "html/microdata/itemtype/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Illegal character in port.", + "html/microdata/itemtype/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Illegal character in port: \u201c:\u201d is not allowed.", + "html/microdata/itemtype/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Illegal character in port: \u201c:\u201d is not allowed.", + "html/microdata/itemtype/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Illegal character in port: \u201c-\u201d is not allowed.", + "html/microdata/itemtype/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Illegal character in port: \u201cf\u201d is not allowed.", "html/microdata/itemtype/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c/c\u201d is not an absolute URL.", - "html/microdata/itemtype/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Illegal character in port.", + "html/microdata/itemtype/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Illegal character in port: \u201cb\u201d is not allowed.", "html/microdata/itemtype/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c/c\u201d is not an absolute URL.", "html/microdata/itemtype/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c/c\u201d is not an absolute URL.", "html/microdata/itemtype/query-empty-no-path-relative-novalid.html": "Bad value \u201c?\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c?\u201d is not an absolute URL.", @@ -2308,10 +2308,10 @@ "html/microdata/itemtype/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201cfoo.com\u201d is not an absolute URL.", "html/microdata/itemtype/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201cfoo.com\u201d is not an absolute URL.", "html/microdata/itemtype/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Backslash (\"\\\") used as path segment delimiter.", - "html/microdata/itemtype/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", - "html/microdata/itemtype/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Illegal character in user or password: not a URL code point.", + "html/microdata/itemtype/userinfo-password-bad-chars-novalid.html": "Bad value \u201chttp://&afoo((b]c@d:2/\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Illegal character in user or password: \u201c]\u201d is not allowed.", + "html/microdata/itemtype/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.", "html/microdata/itemtype/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: User or password contains an at symbol (\"@\") not percent-encoded.", - "html/microdata/itemtype/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Illegal character in user or password: not a URL code point.", + "html/microdata/itemtype/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Illegal character in user or password: \u201c\ud83d\udca9\u201d is not allowed.", "html/mime-types/001-novalid.html": "Bad value \u201ctext/html \u201d for attribute \u201ctype\u201d on element \u201clink\u201d: Bad MIME type: Extraneous trailing whitespace.", "html/mime-types/002-novalid.html": "Bad value \u201c TEXT/HTML\u201d for attribute \u201ctype\u201d on element \u201clink\u201d: Bad MIME type: Expected a token character but saw \u201c \u201d instead.", "html/mime-types/003-novalid.html": "Bad value \u201ctext/html;charset=\u201d for attribute \u201ctype\u201d on element \u201clink\u201d: Bad MIME type: Parameter value missing.", diff --git a/testing/web-platform/tests/content-security-policy/media-src/media-src-redir-bug.sub.html b/testing/web-platform/tests/content-security-policy/media-src/media-src-redir-bug.sub.html new file mode 100644 index 000000000000..f12f8ffc56ff --- /dev/null +++ b/testing/web-platform/tests/content-security-policy/media-src/media-src-redir-bug.sub.html @@ -0,0 +1,66 @@ + + + + Video element src attribute must match src list - positive test + + + + +

Video element in media-src list - redirect test

+
+ +

This test tests a buggy interaction in Chrome 46. Two hosts (self and www2) are both allowed + as media-src, but only one (self) is allowed for connect-src. If a video src starts on + an allowed host (self), and is redirected to another allowed media-src host, it should succeed. But a bug + causes the redirect to be done in a fetch context to which connect-src is being applied instead, so + the load is blocked. (This test passes in Firefox 45, modulo an event listener not firing.)

+ + + + + +