-
damdamdam
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-pseudo/first-line-with-out-of-flow-and-nested-div.html b/tests/wpt/web-platform-tests/css/css-pseudo/first-line-with-out-of-flow-and-nested-div.html
new file mode 100644
index 00000000000..e277e9ce1cb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-pseudo/first-line-with-out-of-flow-and-nested-div.html
@@ -0,0 +1,21 @@
+
+
+
+
CSS Test: ::first-line with out of flow and nested div
+
+
+
+
+
+
+
+
+
+
This text should be green.
+ This text should be blue.
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-pseudo/first-line-with-out-of-flow-and-nested-span.html b/tests/wpt/web-platform-tests/css/css-pseudo/first-line-with-out-of-flow-and-nested-span.html
new file mode 100644
index 00000000000..c0fe55cbc52
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-pseudo/first-line-with-out-of-flow-and-nested-span.html
@@ -0,0 +1,21 @@
+
+
+
+
CSS Test: ::first-line with out of flow and nested span
+
+
+
+
+
+
+
+
+
+ This text should be green.
+ This text should be blue.
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-pseudo/first-line-with-out-of-flow.html b/tests/wpt/web-platform-tests/css/css-pseudo/first-line-with-out-of-flow.html
index 798ecf8264e..76d50254506 100644
--- a/tests/wpt/web-platform-tests/css/css-pseudo/first-line-with-out-of-flow.html
+++ b/tests/wpt/web-platform-tests/css/css-pseudo/first-line-with-out-of-flow.html
@@ -1,6 +1,7 @@
+
CSS Test: ::first-line with out of flow
diff --git a/tests/wpt/web-platform-tests/css/css-text/crashtests/line-break-float-crash.html b/tests/wpt/web-platform-tests/css/css-text/crashtests/line-break-float-crash.html
new file mode 100644
index 00000000000..bdf47c3e8ae
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/crashtests/line-break-float-crash.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/selectors/is-default-ns-003.html b/tests/wpt/web-platform-tests/css/selectors/is-default-ns-003.html
new file mode 100644
index 00000000000..410d1221ec0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/selectors/is-default-ns-003.html
@@ -0,0 +1,29 @@
+
+
Default namespace respected inside :is() for non-subject compounds
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/html/browsers/history/the-location-interface/location_reload.html b/tests/wpt/web-platform-tests/html/browsers/history/the-location-interface/location_reload.html
index eb2c21b38a3..0a2d21d8d22 100644
--- a/tests/wpt/web-platform-tests/html/browsers/history/the-location-interface/location_reload.html
+++ b/tests/wpt/web-platform-tests/html/browsers/history/the-location-interface/location_reload.html
@@ -5,7 +5,7 @@
-
+
@@ -29,11 +29,14 @@
t.done();
}
});
+ });
+ function startTest() {
+ var url = new URL("./location_reload-iframe.html", window.location).href;
var iframe = document.querySelector("iframe");
iframe.src = url;
history_length = history.length;
- });
+ }
diff --git a/tests/wpt/web-platform-tests/interfaces/webhid.idl b/tests/wpt/web-platform-tests/interfaces/webhid.idl
index 38d917e1ec0..ad2f0b78653 100644
--- a/tests/wpt/web-platform-tests/interfaces/webhid.idl
+++ b/tests/wpt/web-platform-tests/interfaces/webhid.idl
@@ -63,60 +63,43 @@ enum HIDUnitSystem {
"english-rotation", "vendor-defined", "reserved"
};
-[
- Exposed=Window,
- SecureContext
-] interface HIDReportItem {
- readonly attribute boolean isAbsolute;
- readonly attribute boolean isArray;
- readonly attribute boolean isRange;
- readonly attribute boolean hasNull;
- readonly attribute FrozenArray
usages;
- readonly attribute unsigned long usageMinimum;
- readonly attribute unsigned long usageMaximum;
- readonly attribute unsigned long designatorMinimum;
- readonly attribute unsigned long designatorMaximum;
- readonly attribute unsigned long stringMinimum;
- readonly attribute unsigned long stringMaximum;
- readonly attribute unsigned short reportSize;
- readonly attribute unsigned short reportCount;
- readonly attribute byte unitExponent;
- readonly attribute unsigned long unit;
- readonly attribute long logicalMinimum;
- readonly attribute long logicalMaximum;
- readonly attribute long physicalMinimum;
- readonly attribute long physicalMaximum;
+dictionary HIDReportItem {
+ boolean isAbsolute;
+ boolean isArray;
+ boolean isRange;
+ boolean hasNull;
+ sequence usages;
+ unsigned long usageMinimum;
+ unsigned long usageMaximum;
+ unsigned short reportSize;
+ unsigned short reportCount;
+ byte unitExponent;
+ HIDUnitSystem unitSystem;
+ byte unitFactorLengthExponent;
+ byte unitFactorMassExponent;
+ byte unitFactorTimeExponent;
+ byte unitFactorTemperatureExponent;
+ byte unitFactorCurrentExponent;
+ byte unitFactorLuminousIntensityExponent;
+ long logicalMinimum;
+ long logicalMaximum;
+ long physicalMinimum;
+ long physicalMaximum;
+ sequence strings;
};
-[
- Exposed=Window,
- SecureContext
-] interface HIDReportInfo {
- readonly attribute octet reportId;
- readonly attribute FrozenArray items;
+dictionary HIDReportInfo {
+ octet reportId;
+ sequence items;
};
-dictionary HIDFieldOptions {
- required octet reportId;
- required unsigned long fieldIndex;
- boolean isFeatureReport;
-};
-
-[
- Exposed=Window,
- SecureContext
-] interface HIDCollectionInfo {
- readonly attribute unsigned short usagePage;
- readonly attribute unsigned short usage;
- readonly attribute FrozenArray children;
- readonly attribute FrozenArray inputReports;
- readonly attribute FrozenArray outputReports;
- readonly attribute FrozenArray featureReports;
- readonly attribute FrozenArray reportIds;
-
- double getField(BufferSource reportData, HIDFieldOptions options);
- void setField(BufferSource reportData, HIDFieldOptions options,
- double value);
+dictionary HIDCollectionInfo {
+ unsigned short usagePage;
+ unsigned short usage;
+ sequence children;
+ sequence inputReports;
+ sequence outputReports;
+ sequence featureReports;
};
[
@@ -129,9 +112,9 @@ dictionary HIDFieldOptions {
readonly attribute unsigned short productId;
readonly attribute DOMString productName;
readonly attribute FrozenArray collections;
- Promise open();
- Promise close();
- Promise sendReport([EnforceRange] octet reportId, BufferSource data);
- Promise sendFeatureReport([EnforceRange] octet reportId, BufferSource data);
+ Promise open();
+ Promise close();
+ Promise sendReport([EnforceRange] octet reportId, BufferSource data);
+ Promise sendFeatureReport([EnforceRange] octet reportId, BufferSource data);
Promise receiveFeatureReport([EnforceRange] octet reportId);
};
diff --git a/tests/wpt/web-platform-tests/js/builtins/weakrefs/finalizationregistry-cleanupCallback-gets-a-microtask.optional.any.js b/tests/wpt/web-platform-tests/js/builtins/weakrefs/finalizationregistry-cleanupCallback-gets-a-microtask.optional.any.js
new file mode 100644
index 00000000000..6365ea7d232
--- /dev/null
+++ b/tests/wpt/web-platform-tests/js/builtins/weakrefs/finalizationregistry-cleanupCallback-gets-a-microtask.optional.any.js
@@ -0,0 +1,60 @@
+// META: script=resources/maybe-garbage-collect.js
+// ├──> maybeGarbageCollectAsync
+// └──> resolveGarbageCollection
+/*---
+esid: sec-finalization-registry-target
+info: |
+ FinalizationRegistry ( cleanupCallback )
+
+ Execution
+ At any time, if a set of objects S is not live, an ECMAScript implementation may perform the
+ following steps atomically:
+
+ For each obj of S, do
+ For each WeakRef ref such that ref.[[WeakRefTarget]] is obj, do
+ Set ref.[[WeakRefTarget]] to empty.
+ For each FinalizationRegistry fg such that fg.[[Cells]] contains cell, such that
+ cell.[[WeakRefTarget]] is obj,
+ Set cell.[[WeakRefTarget]] to empty.
+ Optionally, perform ! HostCleanupFinalizationRegistry(fg).
+
+ HostCleanupFinalizationRegistry(finalizationRegistry)
+
+ HostCleanupFinalizationRegistry is an implementation-defined abstract operation that is expected
+ to call CleanupFinalizationRegistry(finalizationRegistry) at some point in the future, if
+ possible. The host's responsibility is to make this call at a time which does not interrupt
+ synchronous ECMAScript code execution.
+---*/
+
+let count = 1_000;
+let calls = 0;
+let registries = [];
+let callback = function() {
+ calls++;
+};
+for (let i = 0; i < count; i++) {
+ registries.push(
+ new FinalizationRegistry(callback)
+ );
+}
+setup({ allow_uncaught_exception: true });
+
+promise_test((test) => {
+ assert_implements(
+ typeof FinalizationRegistry.prototype.register === 'function',
+ 'FinalizationRegistry.prototype.register is not implemented.'
+ );
+ return (async () => {
+
+ {
+ let target = {};
+ for (let registry of registries) {
+ registry.register(target, 1);
+ }
+ target = null;
+ }
+
+ await maybeGarbageCollectAsync();
+ await test.step_wait(() => calls === count, `Expected ${count} registry cleanups.`);
+ })().catch(resolveGarbageCollection);
+}, 'HostCleanupFinalizationRegistry is an implementation-defined abstract operation that is expected to call CleanupFinalizationRegistry(finalizationRegistry) at some point in the future, if possible.');
diff --git a/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/largeop-hit-testing.html b/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/largeop-hit-testing.html
deleted file mode 100644
index 4f6a7782f27..00000000000
--- a/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/largeop-hit-testing.html
+++ /dev/null
@@ -1,63 +0,0 @@
-
-
-
-
-Test hit testing on large operators
-
-
-
-
-
-
-
-
-
-
-
diff --git a/tests/wpt/web-platform-tests/mathml/relations/css-styling/padding-border-margin/padding-border-margin-002-ref.html b/tests/wpt/web-platform-tests/mathml/relations/css-styling/padding-border-margin/padding-border-margin-002-ref.html
deleted file mode 100644
index e13a9f47ff4..00000000000
--- a/tests/wpt/web-platform-tests/mathml/relations/css-styling/padding-border-margin/padding-border-margin-002-ref.html
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-Padding/border/margin on largeop (reference)
-
- This test passes if you see a cyan rectangle of width 300px and
- height 1500px, surrounded by a 10px blue padding, surrounded by a 10px
- blue/yellow dashed border, itself
- surrounded by a 10px pink margin.
-
- This test passes if you see a cyan rectangle of width 300px and
- height 1500px, surrounded by a 10px blue padding, surrounded by a 10px
- blue/yellow dashed border, itself
- surrounded by a 10px pink margin.
-