1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-24 15:19:26 -05:00

chore: update WPT (#25250)

Co-authored-by: crowlkats <crowlkats@toaxl.com>
This commit is contained in:
Asher Gomez 2024-09-04 16:15:34 +10:00 committed by Luca Casonato
parent 8f864ad73d
commit 6f53ee69cb
No known key found for this signature in database
GPG key ID: 01A83EB62563811F
3 changed files with 120 additions and 36 deletions

View file

@ -71,6 +71,7 @@ class WeakRefSet {
const add = Symbol("[[add]]");
const signalAbort = Symbol("[[signalAbort]]");
const remove = Symbol("[[remove]]");
const runAbortSteps = Symbol("[[runAbortSteps]]");
const abortReason = Symbol("[[abortReason]]");
const abortAlgos = Symbol("[[abortAlgos]]");
const dependent = Symbol("[[dependent]]");
@ -149,26 +150,43 @@ class AbortSignal extends EventTarget {
return;
}
this[abortReason] = reason;
const dependentSignalsToAbort = [];
if (this[dependentSignals] !== null) {
const dependentSignalArray = this[dependentSignals].toArray();
for (let i = 0; i < dependentSignalArray.length; ++i) {
const dependentSignal = dependentSignalArray[i];
if (dependentSignal[abortReason] === undefined) {
dependentSignal[abortReason] = this[abortReason];
ArrayPrototypePush(dependentSignalsToAbort, dependentSignal);
}
}
}
this[runAbortSteps]();
if (dependentSignalsToAbort.length !== 0) {
for (let i = 0; i < dependentSignalsToAbort.length; ++i) {
const dependentSignal = dependentSignalsToAbort[i];
dependentSignal[runAbortSteps]();
}
}
}
[runAbortSteps]() {
const algos = this[abortAlgos];
this[abortAlgos] = null;
if (listenerCount(this, "abort") > 0) {
const event = new Event("abort");
setIsTrusted(event, true);
super.dispatchEvent(event);
}
if (algos !== null) {
for (const algorithm of new SafeSetIterator(algos)) {
algorithm();
}
}
if (this[dependentSignals] !== null) {
const dependentSignalArray = this[dependentSignals].toArray();
for (let i = 0; i < dependentSignalArray.length; ++i) {
const dependentSignal = dependentSignalArray[i];
dependentSignal[signalAbort](reason);
}
if (listenerCount(this, "abort") > 0) {
const event = new Event("abort");
setIsTrusted(event, true);
super.dispatchEvent(event);
}
}

View file

@ -2554,9 +2554,9 @@
"Document interface: attribute firstElementChild",
"Document interface: attribute lastElementChild",
"Document interface: attribute childElementCount",
"Document interface: operation prepend((Node or TrustedScript or DOMString)...)",
"Document interface: operation append((Node or TrustedScript or DOMString)...)",
"Document interface: operation replaceChildren((Node or TrustedScript or DOMString)...)",
"Document interface: operation prepend((Node or DOMString)...)",
"Document interface: operation append((Node or DOMString)...)",
"Document interface: operation replaceChildren((Node or DOMString)...)",
"Document interface: operation querySelector(DOMString)",
"Document interface: operation querySelectorAll(DOMString)",
"Document interface: operation createExpression(DOMString, optional XPathNSResolver?)",
@ -2587,9 +2587,9 @@
"DocumentType interface: attribute name",
"DocumentType interface: attribute publicId",
"DocumentType interface: attribute systemId",
"DocumentType interface: operation before((Node or TrustedScript or DOMString)...)",
"DocumentType interface: operation after((Node or TrustedScript or DOMString)...)",
"DocumentType interface: operation replaceWith((Node or TrustedScript or DOMString)...)",
"DocumentType interface: operation before((Node or DOMString)...)",
"DocumentType interface: operation after((Node or DOMString)...)",
"DocumentType interface: operation replaceWith((Node or DOMString)...)",
"DocumentType interface: operation remove()",
"DocumentFragment interface: existence and properties of interface object",
"DocumentFragment interface object length",
@ -2602,9 +2602,9 @@
"DocumentFragment interface: attribute firstElementChild",
"DocumentFragment interface: attribute lastElementChild",
"DocumentFragment interface: attribute childElementCount",
"DocumentFragment interface: operation prepend((Node or TrustedScript or DOMString)...)",
"DocumentFragment interface: operation append((Node or TrustedScript or DOMString)...)",
"DocumentFragment interface: operation replaceChildren((Node or TrustedScript or DOMString)...)",
"DocumentFragment interface: operation prepend((Node or DOMString)...)",
"DocumentFragment interface: operation append((Node or DOMString)...)",
"DocumentFragment interface: operation replaceChildren((Node or DOMString)...)",
"DocumentFragment interface: operation querySelector(DOMString)",
"DocumentFragment interface: operation querySelectorAll(DOMString)",
"ShadowRoot interface: existence and properties of interface object",
@ -2669,16 +2669,16 @@
"Element interface: attribute firstElementChild",
"Element interface: attribute lastElementChild",
"Element interface: attribute childElementCount",
"Element interface: operation prepend((Node or TrustedScript or DOMString)...)",
"Element interface: operation append((Node or TrustedScript or DOMString)...)",
"Element interface: operation replaceChildren((Node or TrustedScript or DOMString)...)",
"Element interface: operation prepend((Node or DOMString)...)",
"Element interface: operation append((Node or DOMString)...)",
"Element interface: operation replaceChildren((Node or DOMString)...)",
"Element interface: operation querySelector(DOMString)",
"Element interface: operation querySelectorAll(DOMString)",
"Element interface: attribute previousElementSibling",
"Element interface: attribute nextElementSibling",
"Element interface: operation before((Node or TrustedScript or DOMString)...)",
"Element interface: operation after((Node or TrustedScript or DOMString)...)",
"Element interface: operation replaceWith((Node or TrustedScript or DOMString)...)",
"Element interface: operation before((Node or DOMString)...)",
"Element interface: operation after((Node or DOMString)...)",
"Element interface: operation replaceWith((Node or DOMString)...)",
"Element interface: operation remove()",
"Element interface: attribute assignedSlot",
"NamedNodeMap interface: existence and properties of interface object",
@ -2723,9 +2723,9 @@
"CharacterData interface: operation replaceData(unsigned long, unsigned long, DOMString)",
"CharacterData interface: attribute previousElementSibling",
"CharacterData interface: attribute nextElementSibling",
"CharacterData interface: operation before((Node or TrustedScript or DOMString)...)",
"CharacterData interface: operation after((Node or TrustedScript or DOMString)...)",
"CharacterData interface: operation replaceWith((Node or TrustedScript or DOMString)...)",
"CharacterData interface: operation before((Node or DOMString)...)",
"CharacterData interface: operation after((Node or DOMString)...)",
"CharacterData interface: operation replaceWith((Node or DOMString)...)",
"CharacterData interface: operation remove()",
"Text interface: existence and properties of interface object",
"Text interface object length",
@ -3089,7 +3089,16 @@
"Node member must be removed: getFeature",
"Node member must be removed: getUserData",
"Node member must be removed: setUserData",
"Node member must be removed: rootNode"
"Node member must be removed: rootNode",
"The DOMSubtreeModified mutation event must not be fired.",
"The DOMNodeInserted mutation event must not be fired.",
"The DOMNodeRemoved mutation event must not be fired.",
"The DOMNodeRemovedFromDocument mutation event must not be fired.",
"The DOMNodeInsertedIntoDocument mutation event must not be fired.",
"The DOMCharacterDataModified mutation event must not be fired.",
"The DOMAttrModified mutation event must not be fired.",
"The DOMAttributeNameChanged mutation event must not be fired.",
"The DOMElementNameChanged mutation event must not be fired."
],
"idlharness.any.serviceworker.html": false,
"idlharness.any.sharedworker.html": false,
@ -4577,7 +4586,31 @@
"≯ (using <a>.host)",
"≯ (using <a>.hostname)",
"≯ (using <area>.host)",
"≯ (using <area>.hostname)"
"≯ (using <area>.hostname)",
"≠ (using <a>.host)",
"≠ (using <a>.hostname)",
"≠ (using <area>.host)",
"≠ (using <area>.hostname)",
"≮ (using <a>.host)",
"≮ (using <a>.hostname)",
"≮ (using <area>.host)",
"≮ (using <area>.hostname)",
"≯ (using <a>.host)",
"≯ (using <a>.hostname)",
"≯ (using <area>.host)",
"≯ (using <area>.hostname)",
"=­̸ (using <a>.host)",
"=­̸ (using <a>.hostname)",
"=­̸ (using <area>.host)",
"=­̸ (using <area>.hostname)",
"<­̸ (using <a>.host)",
"<­̸ (using <a>.hostname)",
"<­̸ (using <area>.host)",
"<­̸ (using <area>.hostname)",
">­̸ (using <a>.host)",
">­̸ (using <a>.hostname)",
">­̸ (using <area>.host)",
">­̸ (using <area>.hostname)"
],
"url-origin.any.html": [
"Origin parsing: <blob:blob:https://example.org/> without base",
@ -4850,6 +4883,7 @@
"Parsing: <///example.org/../path/../../path> against <http://example.org/>"
],
"url-constructor.any.html?include=file": [
"Parsing: <file:///w|/m> without base",
"Parsing: </> against <file://h/C:/a/b>",
"Parsing: <file:\\\\//> without base",
"Parsing: <file:\\\\\\\\> without base",
@ -4912,6 +4946,7 @@
"Parsing: <///example.org/../path/../../path> against <http://example.org/>"
],
"url-constructor.any.worker.html?include=file": [
"Parsing: <file:///w|/m> without base",
"Parsing: </> against <file://h/C:/a/b>",
"Parsing: <file:\\\\//> without base",
"Parsing: <file:\\\\\\\\> without base",
@ -5790,7 +5825,6 @@
"Parsing origin: <wow:%NBD> against <about:blank>",
"Parsing origin: <wow:%1G> against <about:blank>",
"Parsing origin: <wow:￿> against <about:blank>",
"Parsing origin: <http://example.com/\ud800𐟾\udfff﷐﷏﷯ﷰ￾￿?\ud800𐟾\udfff﷐﷏﷯ﷰ￾￿> against <about:blank>",
"Parsing origin: <http://!\"$&'()*+,-.;=_`{}~/> against <about:blank>",
"Parsing origin: <sc://\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\u000b\f\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f!\"$%&'()*+,-.;=_`{}~/> against <about:blank>",
"Parsing origin: <ftp://%e2%98%83> against <about:blank>",
@ -5891,7 +5925,21 @@
"Parsing origin: <stun:///test> against <about:blank>",
"Parsing origin: <stun://test/a/../b> against <about:blank>",
"Parsing origin: <w://x:0> against <about:blank>",
"Parsing origin: <west://x:0> against <about:blank>"
"Parsing origin: <west://x:0> against <about:blank>",
"Parsing origin: <android://x:0/a> against <about:blank>",
"Parsing origin: <drivefs://x:0/a> against <about:blank>",
"Parsing origin: <chromeos-steam://x:0/a> against <about:blank>",
"Parsing origin: <steam://x:0/a> against <about:blank>",
"Parsing origin: <materialized-view://x:0/a> against <about:blank>",
"Parsing origin: <android-app://x:0> against <about:blank>",
"Parsing origin: <chrome-distiller://x:0> against <about:blank>",
"Parsing origin: <chrome-extension://x:0> against <about:blank>",
"Parsing origin: <chrome-native://x:0> against <about:blank>",
"Parsing origin: <chrome-resource://x:0> against <about:blank>",
"Parsing origin: <chrome-search://x:0> against <about:blank>",
"Parsing origin: <fuchsia-dir://x:0> against <about:blank>",
"Parsing origin: <isolated-app://x:0> against <about:blank>",
"Parsing origin: <http://example.com/\ud800𐟾\udfff﷐﷏﷯ﷰ￾￿?\ud800𐟾\udfff﷐﷏﷯ﷰ￾￿> against <about:blank>"
],
"a-element.html?exclude=(file|javascript|mailto)": [
"Test that embedded 0x0A is stripped",
@ -6222,7 +6270,6 @@
"Parsing: <wow:%NBD> against <about:blank>",
"Parsing: <wow:%1G> against <about:blank>",
"Parsing: <wow:￿> against <about:blank>",
"Parsing: <http://example.com/\ud800𐟾\udfff﷐﷏﷯ﷰ￾￿?\ud800𐟾\udfff﷐﷏﷯ﷰ￾￿> against <about:blank>",
"Parsing: <sc://a\u0000b/> against <about:blank>",
"Parsing: <sc://a b/> against <about:blank>",
"Parsing: <sc://a<b> against <about:blank>",
@ -6568,6 +6615,19 @@
"Parsing: <stun://[:1]> against <about:blank>",
"Parsing: <w://x:0> against <about:blank>",
"Parsing: <west://x:0> against <about:blank>",
"Parsing: <android://x:0/a> against <about:blank>",
"Parsing: <drivefs://x:0/a> against <about:blank>",
"Parsing: <chromeos-steam://x:0/a> against <about:blank>",
"Parsing: <steam://x:0/a> against <about:blank>",
"Parsing: <materialized-view://x:0/a> against <about:blank>",
"Parsing: <android-app://x:0> against <about:blank>",
"Parsing: <chrome-distiller://x:0> against <about:blank>",
"Parsing: <chrome-extension://x:0> against <about:blank>",
"Parsing: <chrome-native://x:0> against <about:blank>",
"Parsing: <chrome-resource://x:0> against <about:blank>",
"Parsing: <chrome-search://x:0> against <about:blank>",
"Parsing: <fuchsia-dir://x:0> against <about:blank>",
"Parsing: <isolated-app://x:0> against <about:blank>",
"Parsing: <///test> against <http://example.org/>",
"Parsing: <///\\//\\//test> against <http://example.org/>",
"Parsing: <///example.org/path> against <http://example.org/>",
@ -6575,7 +6635,8 @@
"Parsing: <///example.org/../../> against <http://example.org/>",
"Parsing: <///example.org/../path/../../> against <http://example.org/>",
"Parsing: <///example.org/../path/../../path> against <http://example.org/>",
"Parsing: </\\/\\//example.org/../path> against <http://example.org/>"
"Parsing: </\\/\\//example.org/../path> against <http://example.org/>",
"Parsing: <http://example.com/\ud800𐟾\udfff﷐﷏﷯ﷰ￾￿?\ud800𐟾\udfff﷐﷏﷯ﷰ￾￿> against <about:blank>"
],
"a-element.html?include=file": [
"Test that embedded 0x0A is stripped",
@ -6603,6 +6664,11 @@
"Parsing: <file://localhost/test> against <file:///tmp/mock/path>",
"Parsing: <test> against <file:///tmp/mock/path>",
"Parsing: <file:test> against <file:///tmp/mock/path>",
"Parsing: <file:///w|m> against <about:blank>",
"Parsing: <file:///w||m> against <about:blank>",
"Parsing: <file:///w|/m> against <about:blank>",
"Parsing: <file:C|/m/> against <about:blank>",
"Parsing: <file:C||/m/> against <about:blank>",
"Parsing: <file:/example.com/> against <about:blank>",
"Parsing: <file:...> against <http://www.example.com/test>",
"Parsing: <file:..> against <http://www.example.com/test>",

@ -1 +1 @@
Subproject commit a7b5eac8f2cfac28bb12beeea15a9e2b126a568e
Subproject commit e78446e34a1921371658a5df08c71d83f50a2a2f