diff --git a/tests/wpt/web-platform-tests/css/css-contain/contain-paint-005.html b/tests/wpt/web-platform-tests/css/css-contain/contain-paint-005.html
index 71ceae4f025..a6817be517f 100644
--- a/tests/wpt/web-platform-tests/css/css-contain/contain-paint-005.html
+++ b/tests/wpt/web-platform-tests/css/css-contain/contain-paint-005.html
@@ -5,7 +5,7 @@
-
+
-This test passes if you can see the word PASS below.
+
Test passes if there is the word "PASS" below.
diff --git a/tests/wpt/web-platform-tests/css/css-contain/contain-paint-006.html b/tests/wpt/web-platform-tests/css/css-contain/contain-paint-006.html
index 1349c186e96..b04a78f9985 100644
--- a/tests/wpt/web-platform-tests/css/css-contain/contain-paint-006.html
+++ b/tests/wpt/web-platform-tests/css/css-contain/contain-paint-006.html
@@ -5,7 +5,7 @@
-
+
-This test passes if you can see the word PASS below.
+
Test passes if there is the word "PASS" below.
diff --git a/tests/wpt/web-platform-tests/css/css-contain/contain-paint-014.html b/tests/wpt/web-platform-tests/css/css-contain/contain-paint-014.html
index d1eb4ec8fe2..ee6bc7876f6 100644
--- a/tests/wpt/web-platform-tests/css/css-contain/contain-paint-014.html
+++ b/tests/wpt/web-platform-tests/css/css-contain/contain-paint-014.html
@@ -3,7 +3,7 @@
CSS Containment Test: Paint containment on table-cell
-
+
-This test passes if you can NOT see the word FAIL below.
+There should be nothing below.
FAIL
diff --git a/tests/wpt/web-platform-tests/css/css-contain/contain-paint-015.html b/tests/wpt/web-platform-tests/css/css-contain/contain-paint-015.html
index 0e50bea0c1c..702bfb62b18 100644
--- a/tests/wpt/web-platform-tests/css/css-contain/contain-paint-015.html
+++ b/tests/wpt/web-platform-tests/css/css-contain/contain-paint-015.html
@@ -3,7 +3,7 @@
CSS Containment Test: Paint containment on table-row-group
-
+
-This test passes if you can see the word PASS below.
+Test passes if there is the word "PASS" below.
PASS
diff --git a/tests/wpt/web-platform-tests/css/css-contain/contain-paint-016.html b/tests/wpt/web-platform-tests/css/css-contain/contain-paint-016.html
index 309b5a08099..cb16009e11e 100644
--- a/tests/wpt/web-platform-tests/css/css-contain/contain-paint-016.html
+++ b/tests/wpt/web-platform-tests/css/css-contain/contain-paint-016.html
@@ -3,7 +3,7 @@
CSS Containment Test: Paint containment on table-header-group
-
+
-This test passes if you can see the word PASS below.
+Test passes if there is the word "PASS" below.
PASS
diff --git a/tests/wpt/web-platform-tests/css/css-contain/contain-paint-017.html b/tests/wpt/web-platform-tests/css/css-contain/contain-paint-017.html
index 578f38205e3..d1e57d4d5c0 100644
--- a/tests/wpt/web-platform-tests/css/css-contain/contain-paint-017.html
+++ b/tests/wpt/web-platform-tests/css/css-contain/contain-paint-017.html
@@ -3,7 +3,7 @@
CSS Containment Test: Paint containment on table-footer-group
-
+
-This test passes if you can see the word PASS below.
+Test passes if there is the word "PASS" below.
PASS
diff --git a/tests/wpt/web-platform-tests/css/css-contain/contain-paint-018.html b/tests/wpt/web-platform-tests/css/css-contain/contain-paint-018.html
index bf1913177de..f4b92dab876 100644
--- a/tests/wpt/web-platform-tests/css/css-contain/contain-paint-018.html
+++ b/tests/wpt/web-platform-tests/css/css-contain/contain-paint-018.html
@@ -3,7 +3,7 @@
CSS Containment Test: Paint containment on table-row
-
+
-This test passes if you can see the word PASS below.
+Test passes if there is the word "PASS" below.
PASS
diff --git a/tests/wpt/web-platform-tests/css/css-contain/contain-paint-019.html b/tests/wpt/web-platform-tests/css/css-contain/contain-paint-019.html
index 131463c478b..90c5a8f0540 100644
--- a/tests/wpt/web-platform-tests/css/css-contain/contain-paint-019.html
+++ b/tests/wpt/web-platform-tests/css/css-contain/contain-paint-019.html
@@ -3,7 +3,7 @@
CSS Containment Test: Paint containment on table-caption
-
+
-This test passes if you can NOT see the word FAIL below.
+There should be nothing below.
FAIL
diff --git a/tests/wpt/web-platform-tests/css/css-contain/contain-size-001.html b/tests/wpt/web-platform-tests/css/css-contain/contain-size-001.html
index 5ed871b3cdb..85bc4f49de1 100644
--- a/tests/wpt/web-platform-tests/css/css-contain/contain-size-001.html
+++ b/tests/wpt/web-platform-tests/css/css-contain/contain-size-001.html
@@ -5,7 +5,7 @@
-
+
-This test passes if you can see the word PASS below.
+
Test passes if there is the word "PASS" below.
PASS
diff --git a/tests/wpt/web-platform-tests/css/css-contain/contain-size-002.html b/tests/wpt/web-platform-tests/css/css-contain/contain-size-002.html
index e844c67ffbc..490fd6af5d7 100644
--- a/tests/wpt/web-platform-tests/css/css-contain/contain-size-002.html
+++ b/tests/wpt/web-platform-tests/css/css-contain/contain-size-002.html
@@ -5,7 +5,7 @@
-
+
@@ -20,5 +20,5 @@ rb {
}
-This test passes if you can see the word PASS below.
+
Test passes if there is the word "PASS" below.
PASS
diff --git a/tests/wpt/web-platform-tests/css/css-contain/contain-size-003.html b/tests/wpt/web-platform-tests/css/css-contain/contain-size-003.html
index 95827dc86e2..e767e214881 100644
--- a/tests/wpt/web-platform-tests/css/css-contain/contain-size-003.html
+++ b/tests/wpt/web-platform-tests/css/css-contain/contain-size-003.html
@@ -5,7 +5,7 @@
-
+
@@ -20,5 +20,5 @@ rbc {
}
-This test passes if you can see the word PASS below.
+
Test passes if there is the word "PASS" below.
PASS
diff --git a/tests/wpt/web-platform-tests/css/css-contain/contain-size-006.html b/tests/wpt/web-platform-tests/css/css-contain/contain-size-006.html
index dc1773efac5..f5c17152d98 100644
--- a/tests/wpt/web-platform-tests/css/css-contain/contain-size-006.html
+++ b/tests/wpt/web-platform-tests/css/css-contain/contain-size-006.html
@@ -3,7 +3,7 @@
CSS Containment Test: Size containment on table-cell
-
+
-This test passes if you can see the word PASS below.
+Test passes if there is the word "PASS" below.
PASS
diff --git a/tests/wpt/web-platform-tests/css/css-contain/contain-size-007.html b/tests/wpt/web-platform-tests/css/css-contain/contain-size-007.html
index 9cf6d91e8f6..71e61aff4d1 100644
--- a/tests/wpt/web-platform-tests/css/css-contain/contain-size-007.html
+++ b/tests/wpt/web-platform-tests/css/css-contain/contain-size-007.html
@@ -3,7 +3,7 @@
CSS Containment Test: Size containment on table-row-group
-
+
-This test passes if you can see the word PASS below.
+Test passes if there is the word "PASS" below.
PASS
diff --git a/tests/wpt/web-platform-tests/css/css-contain/contain-size-008.html b/tests/wpt/web-platform-tests/css/css-contain/contain-size-008.html
index 07ba0e2c897..fb7b5258a5a 100644
--- a/tests/wpt/web-platform-tests/css/css-contain/contain-size-008.html
+++ b/tests/wpt/web-platform-tests/css/css-contain/contain-size-008.html
@@ -3,7 +3,7 @@
CSS Containment Test: Size containment on table-header-group
-
+
-This test passes if you can see the word PASS below.
+Test passes if there is the word "PASS" below.
PASS
diff --git a/tests/wpt/web-platform-tests/css/css-contain/contain-size-009.html b/tests/wpt/web-platform-tests/css/css-contain/contain-size-009.html
index a3ca43c2f8d..4b080c4ad5e 100644
--- a/tests/wpt/web-platform-tests/css/css-contain/contain-size-009.html
+++ b/tests/wpt/web-platform-tests/css/css-contain/contain-size-009.html
@@ -3,7 +3,7 @@
CSS Containment Test: Size containment on table-footer-group
-
+
-This test passes if you can see the word PASS below.
+Test passes if there is the word "PASS" below.
PASS
diff --git a/tests/wpt/web-platform-tests/css/css-contain/contain-size-010.html b/tests/wpt/web-platform-tests/css/css-contain/contain-size-010.html
index a28110d0808..59fdb8b63fd 100644
--- a/tests/wpt/web-platform-tests/css/css-contain/contain-size-010.html
+++ b/tests/wpt/web-platform-tests/css/css-contain/contain-size-010.html
@@ -3,7 +3,7 @@
CSS Containment Test: Size containment on table-row
-
+
-This test passes if you can see the word PASS below.
+Test passes if there is the word "PASS" below.
PASS
diff --git a/tests/wpt/web-platform-tests/css/css-contain/contain-size-011.html b/tests/wpt/web-platform-tests/css/css-contain/contain-size-011.html
index 0d8e3670a03..f2a146938ec 100644
--- a/tests/wpt/web-platform-tests/css/css-contain/contain-size-011.html
+++ b/tests/wpt/web-platform-tests/css/css-contain/contain-size-011.html
@@ -3,7 +3,7 @@
CSS Containment Test: Size containment on table-caption
-
+
-This test passes if you can NOT see the word FAIL below.
+There should be nothing below.
FAIL
diff --git a/tests/wpt/web-platform-tests/css/css-contain/contain-size-012.html b/tests/wpt/web-platform-tests/css/css-contain/contain-size-012.html
index 73a79e04af8..6823292fdf8 100644
--- a/tests/wpt/web-platform-tests/css/css-contain/contain-size-012.html
+++ b/tests/wpt/web-platform-tests/css/css-contain/contain-size-012.html
@@ -3,7 +3,7 @@
CSS Containment Test: Size containment on table
-
+
-This test passes if you can see the word PASS below.
+Test passes if there is the word "PASS" below.
PASS
diff --git a/tests/wpt/web-platform-tests/css/css-contain/reference/contain-layout-002-ref.html b/tests/wpt/web-platform-tests/css/css-contain/reference/contain-layout-002-ref.html
deleted file mode 100644
index 5fbeb3a758a..00000000000
--- a/tests/wpt/web-platform-tests/css/css-contain/reference/contain-layout-002-ref.html
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
- CSS-contain test referene
-
-
-
-
-
-This test passes if you can see a green box below.
-
diff --git a/tests/wpt/web-platform-tests/css/css-contain/reference/contain-layout-004-ref.html b/tests/wpt/web-platform-tests/css/css-contain/reference/contain-layout-004-ref.html
deleted file mode 100644
index f3279e9b201..00000000000
--- a/tests/wpt/web-platform-tests/css/css-contain/reference/contain-layout-004-ref.html
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
- CSS-contain test reference
-
-
-
-
-
-This test passes if you can see a green box below.
-
diff --git a/tests/wpt/web-platform-tests/css/css-contain/reference/contain-layout-005-ref.html b/tests/wpt/web-platform-tests/css/css-contain/reference/contain-layout-005-ref.html
deleted file mode 100644
index 0b2792fe282..00000000000
--- a/tests/wpt/web-platform-tests/css/css-contain/reference/contain-layout-005-ref.html
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
- CSS-contain test reference
-
-
-
-
-
-This test passes if you can see a green box below.
-
diff --git a/tests/wpt/web-platform-tests/css/css-contain/reference/contain-paint-004-ref.html b/tests/wpt/web-platform-tests/css/css-contain/reference/contain-paint-004-ref.html
deleted file mode 100644
index c03b4c857e7..00000000000
--- a/tests/wpt/web-platform-tests/css/css-contain/reference/contain-paint-004-ref.html
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
- CSS-contain test reference
-
-
-This test passes if you can see no number below.
diff --git a/tests/wpt/web-platform-tests/css/css-contain/reference/contain-paint-014-ref.html b/tests/wpt/web-platform-tests/css/css-contain/reference/contain-paint-014-ref.html
deleted file mode 100644
index 6617f7776d7..00000000000
--- a/tests/wpt/web-platform-tests/css/css-contain/reference/contain-paint-014-ref.html
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
CSS Containment Test: Reference file
-
-This test passes if you can NOT see the word FAIL below.
diff --git a/tests/wpt/web-platform-tests/css/css-contain/reference/contain-size-001-ref.html b/tests/wpt/web-platform-tests/css/css-contain/reference/contain-size-001-ref.html
deleted file mode 100644
index 9b669db190b..00000000000
--- a/tests/wpt/web-platform-tests/css/css-contain/reference/contain-size-001-ref.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
- CSS-contain test reference
-
-
-This test passes if you can see the word PASS below.
-
PASS
diff --git a/tests/wpt/web-platform-tests/css/css-counter-styles/idlharness.html b/tests/wpt/web-platform-tests/css/css-counter-styles/idlharness.html
new file mode 100644
index 00000000000..b36a5de12f0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-counter-styles/idlharness.html
@@ -0,0 +1,34 @@
+
+css-counter-styles IDL tests
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-font-loading/idlharness.https.html b/tests/wpt/web-platform-tests/css/css-font-loading/idlharness.https.html
index d507a61efaf..9e3d45fbe19 100644
--- a/tests/wpt/web-platform-tests/css/css-font-loading/idlharness.https.html
+++ b/tests/wpt/web-platform-tests/css/css-font-loading/idlharness.https.html
@@ -8,22 +8,17 @@
diff --git a/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-armenian-ref.html b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-armenian-ref.html
new file mode 100644
index 00000000000..f21dfff6960
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-armenian-ref.html
@@ -0,0 +1,10 @@
+
+
+Reference: Inside list marker and normal text render identically: armenian
+
+Ա. Filler Text
diff --git a/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-armenian.html b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-armenian.html
new file mode 100644
index 00000000000..fd0df631149
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-armenian.html
@@ -0,0 +1,18 @@
+
+
Inside list marker and normal text render identically: armenian
+
+
+
+
+
+
+ - Filler Text
+
diff --git a/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-circle-ref.html b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-circle-ref.html
new file mode 100644
index 00000000000..60a342f1a9d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-circle-ref.html
@@ -0,0 +1,12 @@
+
+Reference: Inside list marker and normal text render identically: circle
+
+ Filler Text
diff --git a/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-circle.html b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-circle.html
new file mode 100644
index 00000000000..138f73cc514
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-circle.html
@@ -0,0 +1,18 @@
+
+
Inside list marker and normal text render identically: circle
+
+
+
+
+
+
+ - Filler Text
+
diff --git a/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-decimal-leading-zero-ref.html b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-decimal-leading-zero-ref.html
new file mode 100644
index 00000000000..997801d5699
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-decimal-leading-zero-ref.html
@@ -0,0 +1,9 @@
+
+Reference: Inside list marker and normal text render identically: decimal-leading-zero
+
+01. Filler Text
diff --git a/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-decimal-leading-zero.html b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-decimal-leading-zero.html
new file mode 100644
index 00000000000..5044d4e68dd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-decimal-leading-zero.html
@@ -0,0 +1,18 @@
+
+
Inside list marker and normal text render identically: decimal-leading-zero
+
+
+
+
+
+
+ - Filler Text
+
diff --git a/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-decimal-ref.html b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-decimal-ref.html
new file mode 100644
index 00000000000..8f97cc36a4f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-decimal-ref.html
@@ -0,0 +1,9 @@
+
+Reference: Inside list marker and normal text render identically: decimal
+
+1. Filler Text
diff --git a/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-decimal.html b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-decimal.html
new file mode 100644
index 00000000000..8c991bc3d6a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-decimal.html
@@ -0,0 +1,18 @@
+
+
Inside list marker and normal text render identically: decimal
+
+
+
+
+
+
+ - Filler Text
+
diff --git a/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-disc-ref.html b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-disc-ref.html
new file mode 100644
index 00000000000..e34a9009982
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-disc-ref.html
@@ -0,0 +1,12 @@
+
+Reference: Inside list marker and normal text render identically: disc
+
+ Filler Text
diff --git a/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-disc.html b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-disc.html
new file mode 100644
index 00000000000..e2456cb8f34
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-disc.html
@@ -0,0 +1,18 @@
+
+
Inside list marker and normal text render identically: disc
+
+
+
+
+
+
+ - Filler Text
+
diff --git a/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-georgian-ref.html b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-georgian-ref.html
new file mode 100644
index 00000000000..c400acae529
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-georgian-ref.html
@@ -0,0 +1,10 @@
+
+
+Reference: Inside list marker and normal text render identically: georgian
+
+ა. Filler Text
diff --git a/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-georgian.html b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-georgian.html
new file mode 100644
index 00000000000..ef7615f6f52
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-georgian.html
@@ -0,0 +1,18 @@
+
+
Inside list marker and normal text render identically: georgian
+
+
+
+
+
+
+ - Filler Text
+
diff --git a/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-lower-greek-ref.html b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-lower-greek-ref.html
new file mode 100644
index 00000000000..f28db82b984
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-lower-greek-ref.html
@@ -0,0 +1,10 @@
+
+
+Reference: Inside list marker and normal text render identically: lower-greek
+
+α. Filler Text
diff --git a/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-lower-greek.html b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-lower-greek.html
new file mode 100644
index 00000000000..96b5d811c26
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-lower-greek.html
@@ -0,0 +1,18 @@
+
+
Inside list marker and normal text render identically: lower-greek
+
+
+
+
+
+
+ - Filler Text
+
diff --git a/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-lower-latin-ref.html b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-lower-latin-ref.html
new file mode 100644
index 00000000000..b86fe8ecf59
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-lower-latin-ref.html
@@ -0,0 +1,9 @@
+
+Reference: Inside list marker and normal text render identically: lower-latin
+
+a. Filler Text
diff --git a/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-lower-latin.html b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-lower-latin.html
new file mode 100644
index 00000000000..0f6f24238b8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-lower-latin.html
@@ -0,0 +1,18 @@
+
+
Inside list marker and normal text render identically: lower-latin
+
+
+
+
+
+
+ - Filler Text
+
diff --git a/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-lower-roman-ref.html b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-lower-roman-ref.html
new file mode 100644
index 00000000000..92dfa3d752f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-lower-roman-ref.html
@@ -0,0 +1,9 @@
+
+Reference: Inside list marker and normal text render identically: lower-roman
+
+i. Filler Text
diff --git a/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-lower-roman.html b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-lower-roman.html
new file mode 100644
index 00000000000..db7301b3201
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-lower-roman.html
@@ -0,0 +1,18 @@
+
+
Inside list marker and normal text render identically: lower-roman
+
+
+
+
+
+
+ - Filler Text
+
diff --git a/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-square-ref.html b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-square-ref.html
new file mode 100644
index 00000000000..99b64a5424e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-square-ref.html
@@ -0,0 +1,12 @@
+
+Reference: Inside list marker and normal text render identically: square
+
+ Filler Text
diff --git a/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-square.html b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-square.html
new file mode 100644
index 00000000000..9095017b246
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-square.html
@@ -0,0 +1,18 @@
+
+
Inside list marker and normal text render identically: square
+
+
+
+
+
+
+ - Filler Text
+
diff --git a/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-upper-latin-ref.html b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-upper-latin-ref.html
new file mode 100644
index 00000000000..6cbb712e76b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-upper-latin-ref.html
@@ -0,0 +1,9 @@
+
+Reference: Inside list marker and normal text render identically: upper-latin
+
+A. Filler Text
diff --git a/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-upper-latin.html b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-upper-latin.html
new file mode 100644
index 00000000000..903ef8f57dd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-upper-latin.html
@@ -0,0 +1,18 @@
+
+
Inside list marker and normal text render identically: upper-latin
+
+
+
+
+
+
+ - Filler Text
+
diff --git a/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-upper-roman-ref.html b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-upper-roman-ref.html
new file mode 100644
index 00000000000..6fca49f27c1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-upper-roman-ref.html
@@ -0,0 +1,9 @@
+
+Reference: Inside list marker and normal text render identically: upper-roman
+
+I. Filler Text
diff --git a/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-upper-roman.html b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-upper-roman.html
new file mode 100644
index 00000000000..69f34d74083
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-lists/content-property/marker-text-matches-upper-roman.html
@@ -0,0 +1,18 @@
+
+
Inside list marker and normal text render identically: upper-roman
+
+
+
+
+
+
+ - Filler Text
+
diff --git a/tests/wpt/web-platform-tests/css/css-pseudo/marker-inherit-line-height-ref.html b/tests/wpt/web-platform-tests/css/css-pseudo/marker-inherit-line-height-ref.html
new file mode 100644
index 00000000000..fe57a281f9b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-pseudo/marker-inherit-line-height-ref.html
@@ -0,0 +1,16 @@
+
+Reference: Check that :marker inherits line-height
+
+
+There should be two black rectangles below with no space between them and
+ the border above/below.
+
+ 1. X
+
diff --git a/tests/wpt/web-platform-tests/css/css-pseudo/marker-inherit-line-height.html b/tests/wpt/web-platform-tests/css/css-pseudo/marker-inherit-line-height.html
new file mode 100644
index 00000000000..145aedcb30c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-pseudo/marker-inherit-line-height.html
@@ -0,0 +1,29 @@
+
+Check that :marker inherits line-height
+
+
+
+
+
+
+
+There should be two black rectangles below with no space between them and
+ the border above/below.
+
diff --git a/tests/wpt/web-platform-tests/css/css-regions/idlharness.html b/tests/wpt/web-platform-tests/css/css-regions/idlharness.html
new file mode 100644
index 00000000000..7f56e18b379
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-regions/idlharness.html
@@ -0,0 +1,21 @@
+
+css-regions IDL tests
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-004.html b/tests/wpt/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-004.html
deleted file mode 100644
index 560ef63b2f9..00000000000
--- a/tests/wpt/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-004.html
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-CSS Text Test: overflow-wrap: break-word
-
-
-
-
-
-
-
- Test passes if there is a filled green square and no red.
-
XXXXX
- XXXXX
-
diff --git a/tests/wpt/web-platform-tests/css/css-text/word-break/reference/word-break-break-all-010-ref.html b/tests/wpt/web-platform-tests/css/css-text/word-break/reference/word-break-break-all-010-ref.html
deleted file mode 100644
index 0e0300a72dc..00000000000
--- a/tests/wpt/web-platform-tests/css/css-text/word-break/reference/word-break-break-all-010-ref.html
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-CSS Text Reference File
-
-
-
- Test passes if there is a filled green square and no red.
-
-
diff --git a/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-010.html b/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-010.html
deleted file mode 100644
index 1ab97fb146a..00000000000
--- a/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-010.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-CSS Text Test: overflow-wrap: break-word
-
-
-
-
-
-
-
- Test passes if there is a filled green square and no red.
- XXXX
X
- XXXXX
-
diff --git a/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-011.html b/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-011.html
deleted file mode 100644
index ed07aeb7368..00000000000
--- a/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-011.html
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-CSS Text Test: overflow-wrap: break-word
-
-
-
-
-
-
-
- Test passes if there is a filled green square and no red.
- X
X
X
- XX
-
diff --git a/tests/wpt/web-platform-tests/encoding/idlharness.any.js b/tests/wpt/web-platform-tests/encoding/idlharness.any.js
index 25ec97a5784..14335ba2740 100644
--- a/tests/wpt/web-platform-tests/encoding/idlharness.any.js
+++ b/tests/wpt/web-platform-tests/encoding/idlharness.any.js
@@ -2,13 +2,14 @@
// META: script=/resources/WebIDLParser.js
// META: script=/resources/idlharness.js
-promise_test(async() => {
- const text = await (await fetch('/interfaces/encoding.idl')).text();
- const idl_array = new IdlArray();
- idl_array.add_idls(text);
- idl_array.add_objects({
- TextEncoder: ['new TextEncoder()'],
- TextDecoder: ['new TextDecoder()']
- });
- idl_array.test();
-}, 'Encoding Standard IDL');
+idl_test(
+ ['encoding'],
+ [], // No deps
+ idl_array => {
+ idl_array.add_objects({
+ TextEncoder: ['new TextEncoder()'],
+ TextDecoder: ['new TextDecoder()']
+ });
+ },
+ 'Encoding Standard IDL'
+);
diff --git a/tests/wpt/web-platform-tests/feature-policy/experimental-features/resources/async-script.js b/tests/wpt/web-platform-tests/feature-policy/experimental-features/resources/async-script.js
new file mode 100644
index 00000000000..3c0ee6d0234
--- /dev/null
+++ b/tests/wpt/web-platform-tests/feature-policy/experimental-features/resources/async-script.js
@@ -0,0 +1 @@
+window.didExecuteExternalAsyncScript = true;
diff --git a/tests/wpt/web-platform-tests/feature-policy/experimental-features/resources/defer-script.js b/tests/wpt/web-platform-tests/feature-policy/experimental-features/resources/defer-script.js
new file mode 100644
index 00000000000..8d248ee0d01
--- /dev/null
+++ b/tests/wpt/web-platform-tests/feature-policy/experimental-features/resources/defer-script.js
@@ -0,0 +1 @@
+window.didExecuteExternalDeferredScript = true;
diff --git a/tests/wpt/web-platform-tests/feature-policy/experimental-features/resources/parser-blocking-script.js b/tests/wpt/web-platform-tests/feature-policy/experimental-features/resources/parser-blocking-script.js
new file mode 100644
index 00000000000..c61efee8a0a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/feature-policy/experimental-features/resources/parser-blocking-script.js
@@ -0,0 +1 @@
+window.didExecuteExternalParsingBlockingScript = true;
diff --git a/tests/wpt/web-platform-tests/feature-policy/experimental-features/resources/sync-script-test.js b/tests/wpt/web-platform-tests/feature-policy/experimental-features/resources/sync-script-test.js
new file mode 100644
index 00000000000..65c1b21e6e8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/feature-policy/experimental-features/resources/sync-script-test.js
@@ -0,0 +1,9 @@
+var t = async_test('Test behavior of sync-script feature policy for different script types');
+
+window.onload = t.step_func(function() {
+ assert_equals(undefined, window.didExecuteInlineParsingBlockingScript, 'inline parser blocking script should be blocked');
+ assert_equals(undefined, window.didExecuteExternalParsingBlockingScript, 'external parser blocking script should be blocked');
+ assert_true(window.didExecuteExternalAsyncScript, 'external async script should not be blocked');
+ assert_true(window.didExecuteExternalDeferredScript, 'external defer script should not be blocked');
+ t.done();
+});
diff --git a/tests/wpt/web-platform-tests/feature-policy/experimental-features/sync-script.tentative.https.sub.html b/tests/wpt/web-platform-tests/feature-policy/experimental-features/sync-script.tentative.https.sub.html
new file mode 100644
index 00000000000..94f0dcf13fc
--- /dev/null
+++ b/tests/wpt/web-platform-tests/feature-policy/experimental-features/sync-script.tentative.https.sub.html
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/feature-policy/experimental-features/sync-script.tentative.https.sub.html.headers b/tests/wpt/web-platform-tests/feature-policy/experimental-features/sync-script.tentative.https.sub.html.headers
new file mode 100644
index 00000000000..b468c8b1822
--- /dev/null
+++ b/tests/wpt/web-platform-tests/feature-policy/experimental-features/sync-script.tentative.https.sub.html.headers
@@ -0,0 +1 @@
+Feature-Policy: sync-script 'none'
diff --git a/tests/wpt/web-platform-tests/feature-policy/picture-in-picture-default-feature-policy.https.sub.html b/tests/wpt/web-platform-tests/feature-policy/picture-in-picture-default-feature-policy.https.sub.html
index 94cec08f1d3..f47661bd7d5 100644
--- a/tests/wpt/web-platform-tests/feature-policy/picture-in-picture-default-feature-policy.https.sub.html
+++ b/tests/wpt/web-platform-tests/feature-policy/picture-in-picture-default-feature-policy.https.sub.html
@@ -26,7 +26,7 @@
async_test(t => {
test_feature_availability('picture-in-picture', t, cross_origin_src,
- expect_feature_available_default,);
+ expect_feature_available_default);
}, header + ' allows cross-origin iframes.');
diff --git a/tests/wpt/web-platform-tests/feature-policy/picture-in-picture-disabled-by-feature-policy.https.sub.html b/tests/wpt/web-platform-tests/feature-policy/picture-in-picture-disabled-by-feature-policy.https.sub.html
index 5080c806485..2f7576b16e1 100644
--- a/tests/wpt/web-platform-tests/feature-policy/picture-in-picture-disabled-by-feature-policy.https.sub.html
+++ b/tests/wpt/web-platform-tests/feature-policy/picture-in-picture-disabled-by-feature-policy.https.sub.html
@@ -26,7 +26,7 @@
async_test(t => {
test_feature_availability('picture-in-picture', t, cross_origin_src,
- expect_feature_unavailable_default,);
+ expect_feature_unavailable_default);
}, header + ' disallows cross-origin iframes.');
diff --git a/tests/wpt/web-platform-tests/feature-policy/resources/picture-in-picture.js b/tests/wpt/web-platform-tests/feature-policy/resources/picture-in-picture.js
index 6bdb7e5e49f..e7aabcd5083 100644
--- a/tests/wpt/web-platform-tests/feature-policy/resources/picture-in-picture.js
+++ b/tests/wpt/web-platform-tests/feature-policy/resources/picture-in-picture.js
@@ -1,4 +1,7 @@
function isPictureInPictureAllowed() {
+ if (!('pictureInPictureEnabled' in document))
+ return Promise.resolve(false);
+
return new Promise(resolve => {
let video = document.createElement('video');
video.src = '/media/movie_5.ogv';
@@ -13,4 +16,4 @@ function isPictureInPictureAllowed() {
});
};
});
-}
\ No newline at end of file
+}
diff --git a/tests/wpt/web-platform-tests/gamepad/idlharness-manual.html b/tests/wpt/web-platform-tests/gamepad/idlharness-manual.html
index 8bb740af724..c04b911cf24 100644
--- a/tests/wpt/web-platform-tests/gamepad/idlharness-manual.html
+++ b/tests/wpt/web-platform-tests/gamepad/idlharness-manual.html
@@ -7,26 +7,32 @@
This test requires a gamepad. Connect one and press any button to start the test.
diff --git a/tests/wpt/web-platform-tests/gamepad/idlharness.html b/tests/wpt/web-platform-tests/gamepad/idlharness.html
deleted file mode 100644
index 6a27e479f7a..00000000000
--- a/tests/wpt/web-platform-tests/gamepad/idlharness.html
+++ /dev/null
@@ -1,30 +0,0 @@
-
-Gamepad IDL tests
-
-
-
-
-
-
-
-
-
diff --git a/tests/wpt/web-platform-tests/gamepad/idlharness.window.js b/tests/wpt/web-platform-tests/gamepad/idlharness.window.js
new file mode 100644
index 00000000000..e2c0e2b63e9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/gamepad/idlharness.window.js
@@ -0,0 +1,18 @@
+// META: script=/resources/WebIDLParser.js
+// META: script=/resources/idlharness.js
+
+// https://w3c.github.io/gamepad/
+
+'use strict';
+
+idl_test(
+ ['gamepad'],
+ ['dom', 'html'],
+ idl_array => {
+ idl_array.add_objects({
+ GamepadEvent: ['new GamepadEvent("gamepad")'],
+ Navigator: ['navigator']
+ });
+ },
+ 'Test IDL implementation of Gamepad API'
+);
diff --git a/tests/wpt/web-platform-tests/geolocation-sensor/idlharness.https.html b/tests/wpt/web-platform-tests/geolocation-sensor/idlharness.https.html
deleted file mode 100644
index 75d29ebaa80..00000000000
--- a/tests/wpt/web-platform-tests/geolocation-sensor/idlharness.https.html
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-Geolocation Sensor IDL tests
-
-
-
-
-
-
-
diff --git a/tests/wpt/web-platform-tests/geolocation-sensor/idlharness.https.window.js b/tests/wpt/web-platform-tests/geolocation-sensor/idlharness.https.window.js
new file mode 100644
index 00000000000..eb3da34f672
--- /dev/null
+++ b/tests/wpt/web-platform-tests/geolocation-sensor/idlharness.https.window.js
@@ -0,0 +1,17 @@
+// META: script=/resources/WebIDLParser.js
+// META: script=/resources/idlharness.js
+
+// https://wicg.github.io/geolocation-sensor/
+
+'use strict';
+
+idl_test(
+ ['geolocation-sensor'],
+ ['generic-sensor', 'dom'],
+ idl_array => {
+ idl_array.add_objects({
+ GeolocationSensor: ['new GeolocationSensor'],
+ });
+ },
+ 'Test IDL implementation of Geolocation Sensor'
+);
diff --git a/tests/wpt/web-platform-tests/gyroscope/idlharness.https.html b/tests/wpt/web-platform-tests/gyroscope/idlharness.https.html
deleted file mode 100644
index 4b3ed48a073..00000000000
--- a/tests/wpt/web-platform-tests/gyroscope/idlharness.https.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-Gyroscope Sensor IDL tests
-
-
-
-
-
-
-
-
diff --git a/tests/wpt/web-platform-tests/gyroscope/idlharness.https.window.js b/tests/wpt/web-platform-tests/gyroscope/idlharness.https.window.js
new file mode 100644
index 00000000000..dfdac4e1f30
--- /dev/null
+++ b/tests/wpt/web-platform-tests/gyroscope/idlharness.https.window.js
@@ -0,0 +1,17 @@
+// META: script=/resources/WebIDLParser.js
+// META: script=/resources/idlharness.js
+
+// https://w3c.github.io/gyroscope/
+
+'use strict';
+
+idl_test(
+ ['gyroscope'],
+ ['generic-sensor', 'dom'],
+ idl_array => {
+ idl_array.add_objects({
+ Gyroscope: ['new Gyroscope();']
+ });
+ },
+ 'Test IDL implementation of Gyroscope Sensor'
+);
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-with-quick-attach.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-with-quick-attach.html
new file mode 100644
index 00000000000..be680da619e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-with-quick-attach.html
@@ -0,0 +1,26 @@
+
+
+
+HTMLImageElement.prototype.decode(), attach to DOM before promise resolves.
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-maxlength.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-maxlength.html
new file mode 100644
index 00000000000..ff4e8f1b65c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-maxlength.html
@@ -0,0 +1,51 @@
+
+
+
+
+ textarea maxlength
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-minlength.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-minlength.html
new file mode 100644
index 00000000000..9a15a129392
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-minlength.html
@@ -0,0 +1,51 @@
+
+
+
+
+ textarea minlength
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-textLength.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-textLength.html
new file mode 100644
index 00000000000..d249278960e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-textLength.html
@@ -0,0 +1,19 @@
+
+The textLengh IDL attribute
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-validity-clone.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-validity-clone.html
new file mode 100644
index 00000000000..23d90e714b2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-validity-clone.html
@@ -0,0 +1,27 @@
+
+
+HTML Test: <textarea> validity state is correct after a clone
+
+
+
+
+
+
diff --git a/tests/wpt/web-platform-tests/interfaces/background-fetch.idl b/tests/wpt/web-platform-tests/interfaces/background-fetch.idl
index 68509fc1a68..fc3ed8dad35 100644
--- a/tests/wpt/web-platform-tests/interfaces/background-fetch.idl
+++ b/tests/wpt/web-platform-tests/interfaces/background-fetch.idl
@@ -18,7 +18,7 @@ partial interface ServiceWorkerRegistration {
interface BackgroundFetchManager {
Promise fetch(DOMString id, (RequestInfo or sequence) requests, optional BackgroundFetchOptions options);
Promise get(DOMString id);
- Promise> getIds();
+ Promise> getIds();
// TODO: in future this should become an async iterator for BackgroundFetchRegistration objects
};
@@ -50,15 +50,11 @@ interface BackgroundFetchRegistration : EventTarget {
Promise abort();
};
-[Exposed=(Window,Worker)]
-interface BackgroundFetchFetch {
- readonly attribute Request request;
-};
-
[Exposed=(Window,Worker)]
interface BackgroundFetchActiveFetches {
- Promise match(RequestInfo request);
- Promise> values();
+ Promise match(RequestInfo request, optional CacheQueryOptions options);
+ Promise> matchAll(RequestInfo request, optional CacheQueryOptions options);
+ Promise> values();
};
[Exposed=(Window,Worker)]
@@ -67,6 +63,11 @@ interface BackgroundFetchActiveFetch : BackgroundFetchFetch {
// In future this will include a fetch observer
};
+[Exposed=(Window,Worker)]
+interface BackgroundFetchFetch {
+ readonly attribute Request request;
+};
+
[Constructor(DOMString type, BackgroundFetchEventInit init), Exposed=ServiceWorker]
interface BackgroundFetchEvent : ExtendableEvent {
readonly attribute DOMString id;
@@ -87,8 +88,9 @@ dictionary BackgroundFetchSettledEventInit : BackgroundFetchEventInit {
[Exposed=ServiceWorker]
interface BackgroundFetchSettledFetches {
- Promise match(RequestInfo request);
- Promise> values();
+ Promise match(RequestInfo request, optional CacheQueryOptions options);
+ Promise> matchAll(RequestInfo request, optional CacheQueryOptions options);
+ Promise> values();
};
[Exposed=ServiceWorker]
diff --git a/tests/wpt/web-platform-tests/interfaces/battery-status.idl b/tests/wpt/web-platform-tests/interfaces/battery-status.idl
new file mode 100644
index 00000000000..1491d6429c5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/interfaces/battery-status.idl
@@ -0,0 +1,19 @@
+// GENERATED CONTENT - DO NOT EDIT
+// Content of this file was automatically extracted from the
+// "Battery Status API" spec.
+// See: https://w3c.github.io/battery/
+
+partial interface Navigator {
+ Promise getBattery();
+};
+[Exposed=Window]
+interface BatteryManager : EventTarget {
+ readonly attribute boolean charging;
+ readonly attribute unrestricted double chargingTime;
+ readonly attribute unrestricted double dischargingTime;
+ readonly attribute double level;
+ attribute EventHandler onchargingchange;
+ attribute EventHandler onchargingtimechange;
+ attribute EventHandler ondischargingtimechange;
+ attribute EventHandler onlevelchange;
+};
diff --git a/tests/wpt/web-platform-tests/interfaces/battery.idl b/tests/wpt/web-platform-tests/interfaces/battery.idl
deleted file mode 100644
index 2596a6ebe53..00000000000
--- a/tests/wpt/web-platform-tests/interfaces/battery.idl
+++ /dev/null
@@ -1,19 +0,0 @@
-// GENERATED CONTENT - DO NOT EDIT
-// Content of this file was automatically extracted from the Battery Status API spec.
-// See https://w3c.github.io/battery/
-
-partial interface Navigator {
- Promise getBattery();
-};
-
-[Exposed=Window]
-interface BatteryManager : EventTarget {
- readonly attribute boolean charging;
- readonly attribute unrestricted double chargingTime;
- readonly attribute unrestricted double dischargingTime;
- readonly attribute double level;
- attribute EventHandler onchargingchange;
- attribute EventHandler onchargingtimechange;
- attribute EventHandler ondischargingtimechange;
- attribute EventHandler onlevelchange;
-};
diff --git a/tests/wpt/web-platform-tests/interfaces/css-counter-styles.idl b/tests/wpt/web-platform-tests/interfaces/css-counter-styles.idl
new file mode 100644
index 00000000000..b1c36639bdc
--- /dev/null
+++ b/tests/wpt/web-platform-tests/interfaces/css-counter-styles.idl
@@ -0,0 +1,23 @@
+// GENERATED CONTENT - DO NOT EDIT
+// Content of this file was automatically extracted from the
+// "CSS Counter Styles Level 3" spec.
+// See: https://drafts.csswg.org/css-counter-styles/
+
+partial interface CSSRule {
+ const unsigned short COUNTER_STYLE_RULE = 11;
+};
+
+[Exposed=Window]
+interface CSSCounterStyleRule : CSSRule {
+ attribute CSSOMString name;
+ attribute CSSOMString system;
+ attribute CSSOMString symbols;
+ attribute CSSOMString additiveSymbols;
+ attribute CSSOMString negative;
+ attribute CSSOMString prefix;
+ attribute CSSOMString suffix;
+ attribute CSSOMString range;
+ attribute CSSOMString pad;
+ attribute CSSOMString speakAs;
+ attribute CSSOMString fallback;
+};
diff --git a/tests/wpt/web-platform-tests/interfaces/css-regions.idl b/tests/wpt/web-platform-tests/interfaces/css-regions.idl
new file mode 100644
index 00000000000..546c21ad376
--- /dev/null
+++ b/tests/wpt/web-platform-tests/interfaces/css-regions.idl
@@ -0,0 +1,35 @@
+// GENERATED CONTENT - DO NOT EDIT
+// Content of this file was automatically extracted from the
+// "CSS Regions Module Level 1" spec.
+// See: https://drafts.csswg.org/css-regions/
+
+partial interface Document {
+ readonly attribute NamedFlowMap namedFlows;
+};
+
+[Exposed=Window,
+ MapClass=(CSSOMString, NamedFlow)] interface NamedFlowMap {
+ NamedFlow? get(CSSOMString flowName);
+ boolean has(CSSOMString flowName);
+ NamedFlowMap set(CSSOMString flowName, NamedFlow flowValue);
+ boolean delete(CSSOMString flowName);
+};
+
+[Exposed=Window]
+interface NamedFlow : EventTarget {
+ readonly attribute CSSOMString name;
+ readonly attribute boolean overset;
+ sequence getRegions();
+ readonly attribute short firstEmptyRegionIndex;
+ sequence getContent();
+ sequence getRegionsByContent(Node node);
+};
+
+[Exposed=Window,
+ NoInterfaceObject]
+interface Region {
+ readonly attribute CSSOMString regionOverset;
+ sequence? getRegionFlowRanges();
+};
+
+Element implements Region;
diff --git a/tests/wpt/web-platform-tests/interfaces/geolocation-API.idl b/tests/wpt/web-platform-tests/interfaces/geolocation-API.idl
index 2972539e03b..c36fb8b8b03 100644
--- a/tests/wpt/web-platform-tests/interfaces/geolocation-API.idl
+++ b/tests/wpt/web-platform-tests/interfaces/geolocation-API.idl
@@ -7,9 +7,9 @@ partial interface Navigator {
readonly attribute Geolocation geolocation;
};
-
- [NoInterfaceObject]
+[NoInterfaceObject]
interface Geolocation {
+
void getCurrentPosition(PositionCallback successCallback,
optional PositionErrorCallback errorCallback,
optional PositionOptions options);
@@ -25,20 +25,19 @@ partial interface Navigator {
callback PositionErrorCallback = void (PositionError positionError);
- dictionary PositionOptions {
+dictionary PositionOptions {
boolean enableHighAccuracy = false;
[Clamp] unsigned long timeout = 0xFFFFFFFF;
[Clamp] unsigned long maximumAge = 0;
};
-
- [NoInterfaceObject]
+[NoInterfaceObject]
interface Position {
readonly attribute Coordinates coords;
readonly attribute DOMTimeStamp timestamp;
};
- [NoInterfaceObject]
+[NoInterfaceObject]
interface Coordinates {
readonly attribute double latitude;
readonly attribute double longitude;
@@ -49,7 +48,7 @@ partial interface Navigator {
readonly attribute double? speed;
};
- [NoInterfaceObject]
+[NoInterfaceObject]
interface PositionError {
const unsigned short PERMISSION_DENIED = 1;
const unsigned short POSITION_UNAVAILABLE = 2;
diff --git a/tests/wpt/web-platform-tests/media-source/interfaces.html b/tests/wpt/web-platform-tests/interfaces/media-source.idl
similarity index 52%
rename from tests/wpt/web-platform-tests/media-source/interfaces.html
rename to tests/wpt/web-platform-tests/interfaces/media-source.idl
index 13e31489dd2..6476794ede0 100644
--- a/tests/wpt/web-platform-tests/media-source/interfaces.html
+++ b/tests/wpt/web-platform-tests/interfaces/media-source.idl
@@ -1,30 +1,17 @@
-
-
-Media Source Extensions IDL tests
-
-
-
-
-
-
-
-
diff --git a/tests/wpt/web-platform-tests/interfaces/netinfo.idl b/tests/wpt/web-platform-tests/interfaces/netinfo.idl
index 75edd350968..3e6212c3712 100644
--- a/tests/wpt/web-platform-tests/interfaces/netinfo.idl
+++ b/tests/wpt/web-platform-tests/interfaces/netinfo.idl
@@ -4,42 +4,39 @@
// See: https://wicg.github.io/netinfo/
enum ConnectionType {
- "bluetooth",
- "cellular",
- "ethernet",
- "mixed",
- "none",
- "other",
- "unknown",
- "wifi",
- "wimax"
+ "bluetooth",
+ "cellular",
+ "ethernet",
+ "mixed",
+ "none",
+ "other",
+ "unknown",
+ "wifi",
+ "wimax"
};
+
enum EffectiveConnectionType {
- "2g",
- "3g",
- "4g",
- "slow-2g"
+ "2g",
+ "3g",
+ "4g",
+ "slow-2g"
};
-[NoInterfaceObject,
- Exposed=(Window,Worker)]
+
+[NoInterfaceObject, Exposed=(Window,Worker)]
interface NavigatorNetworkInformation {
- readonly attribute NetworkInformation connection;
+ readonly attribute NetworkInformation connection;
};
Navigator implements NavigatorNetworkInformation;
-
WorkerNavigator implements NavigatorNetworkInformation;
+
[Exposed=(Window,Worker)]
interface NetworkInformation : EventTarget {
- readonly attribute ConnectionType type;
- readonly attribute EffectiveConnectionType effectiveType;
- readonly attribute Megabit downlinkMax;
- readonly attribute Megabit downlink;
- readonly attribute Millisecond rtt;
- readonly attribute boolean saveData;
- attribute EventHandler onchange;
-};
-
-typedef unrestricted double Megabit;
-
-typedef unsigned long long Millisecond;
+ readonly attribute ConnectionType type;
+ readonly attribute EffectiveConnectionType effectiveType;
+ readonly attribute Megabit downlinkMax;
+ readonly attribute Megabit downlink;
+ readonly attribute Millisecond rtt;
+ readonly attribute boolean saveData;
+ attribute EventHandler onchange;
+};typedef unrestricted double Megabit;typedef unsigned long long Millisecond;
diff --git a/tests/wpt/web-platform-tests/interfaces/payment-request.idl b/tests/wpt/web-platform-tests/interfaces/payment-request.idl
index 6e42524cf0c..1018ecc93e7 100644
--- a/tests/wpt/web-platform-tests/interfaces/payment-request.idl
+++ b/tests/wpt/web-platform-tests/interfaces/payment-request.idl
@@ -166,7 +166,7 @@ interface PaymentResponse : EventTarget {
dictionary PaymentValidationErrors {
PayerErrorFields payer;
- AddressErrorFields shippingAddress;
+ AddressErrors shippingAddress;
};
dictionary PayerErrorFields {
diff --git a/tests/wpt/web-platform-tests/interfaces/picture-in-picture.idl b/tests/wpt/web-platform-tests/interfaces/picture-in-picture.idl
index cafcae11df7..78a5ae781b1 100644
--- a/tests/wpt/web-platform-tests/interfaces/picture-in-picture.idl
+++ b/tests/wpt/web-platform-tests/interfaces/picture-in-picture.idl
@@ -22,7 +22,7 @@ partial interface DocumentOrShadowRoot {
readonly attribute Element? pictureInPictureElement;
};
-interface PictureInPictureWindow {
+interface PictureInPictureWindow : EventTarget {
readonly attribute long width;
readonly attribute long height;
diff --git a/tests/wpt/web-platform-tests/interfaces/pointerevents-extension.idl b/tests/wpt/web-platform-tests/interfaces/pointerevents-extension.idl
index 63a05a58dd6..f4f2de38d0f 100644
--- a/tests/wpt/web-platform-tests/interfaces/pointerevents-extension.idl
+++ b/tests/wpt/web-platform-tests/interfaces/pointerevents-extension.idl
@@ -1,8 +1,14 @@
-dictionary PointerEventInit : MouseEventInit {
- sequence coalescedEvents;
+// GENERATED CONTENT - DO NOT EDIT
+// Content of this file was automatically extracted from the
+// "PointerEvents - Level 2 - Extensions" spec.
+// See: https://w3c.github.io/pointerevents/extension.html
+
+partial dictionary PointerEventInit {
+ sequence coalescedEvents = [];
+ sequence predictedEvents = [];
};
-[Constructor(DOMString type, optional PointerEventInit eventInitDict)]
-interface PointerEvent : MouseEvent {
+partial interface PointerEvent {
sequence getCoalescedEvents();
+ sequence getPredictedEvents();
};
diff --git a/tests/wpt/web-platform-tests/interfaces/requestidlecallback.idl b/tests/wpt/web-platform-tests/interfaces/requestidlecallback.idl
index 195f3767d5f..614478155fa 100644
--- a/tests/wpt/web-platform-tests/interfaces/requestidlecallback.idl
+++ b/tests/wpt/web-platform-tests/interfaces/requestidlecallback.idl
@@ -4,19 +4,17 @@
// See: https://w3c.github.io/requestidlecallback/
partial interface Window {
- unsigned long requestIdleCallback(IdleRequestCallback callback,
- optional IdleRequestOptions options);
- void cancelIdleCallback(unsigned long handle);
+ unsigned long requestIdleCallback(IdleRequestCallback callback, optional IdleRequestOptions options);
+ void cancelIdleCallback(unsigned long handle);
};
dictionary IdleRequestOptions {
- unsigned long timeout;
+ unsigned long timeout;
};
-[Exposed=Window]
-interface IdleDeadline {
- DOMHighResTimeStamp timeRemaining();
- readonly attribute boolean didTimeout;
+[Exposed=Window] interface IdleDeadline {
+ DOMHighResTimeStamp timeRemaining();
+ readonly attribute boolean didTimeout;
};
callback IdleRequestCallback = void (IdleDeadline deadline);
diff --git a/tests/wpt/web-platform-tests/interfaces/resource-timing.idl b/tests/wpt/web-platform-tests/interfaces/resource-timing.idl
index 3f041e158e7..2668f912301 100644
--- a/tests/wpt/web-platform-tests/interfaces/resource-timing.idl
+++ b/tests/wpt/web-platform-tests/interfaces/resource-timing.idl
@@ -5,27 +5,28 @@
[Exposed=(Window,Worker)]
interface PerformanceResourceTiming : PerformanceEntry {
- readonly attribute DOMString initiatorType;
- readonly attribute DOMString nextHopProtocol;
- readonly attribute DOMHighResTimeStamp workerStart;
- readonly attribute DOMHighResTimeStamp redirectStart;
- readonly attribute DOMHighResTimeStamp redirectEnd;
- readonly attribute DOMHighResTimeStamp fetchStart;
- readonly attribute DOMHighResTimeStamp domainLookupStart;
- readonly attribute DOMHighResTimeStamp domainLookupEnd;
- readonly attribute DOMHighResTimeStamp connectStart;
- readonly attribute DOMHighResTimeStamp connectEnd;
- readonly attribute DOMHighResTimeStamp secureConnectionStart;
- readonly attribute DOMHighResTimeStamp requestStart;
- readonly attribute DOMHighResTimeStamp responseStart;
- readonly attribute DOMHighResTimeStamp responseEnd;
- readonly attribute unsigned long long transferSize;
- readonly attribute unsigned long long encodedBodySize;
- readonly attribute unsigned long long decodedBodySize;
+ readonly attribute DOMString initiatorType;
+ readonly attribute DOMString nextHopProtocol;
+ readonly attribute DOMHighResTimeStamp workerStart;
+ readonly attribute DOMHighResTimeStamp redirectStart;
+ readonly attribute DOMHighResTimeStamp redirectEnd;
+ readonly attribute DOMHighResTimeStamp fetchStart;
+ readonly attribute DOMHighResTimeStamp domainLookupStart;
+ readonly attribute DOMHighResTimeStamp domainLookupEnd;
+ readonly attribute DOMHighResTimeStamp connectStart;
+ readonly attribute DOMHighResTimeStamp connectEnd;
+ readonly attribute DOMHighResTimeStamp secureConnectionStart;
+ readonly attribute DOMHighResTimeStamp requestStart;
+ readonly attribute DOMHighResTimeStamp responseStart;
+ readonly attribute DOMHighResTimeStamp responseEnd;
+ readonly attribute unsigned long long transferSize;
+ readonly attribute unsigned long long encodedBodySize;
+ readonly attribute unsigned long long decodedBodySize;
[Default] object toJSON();
};
+
partial interface Performance {
- void clearResourceTimings();
- void setResourceTimingBufferSize(unsigned long maxSize);
- attribute EventHandler onresourcetimingbufferfull;
+ void clearResourceTimings();
+ void setResourceTimingBufferSize(unsigned long maxSize);
+ attribute EventHandler onresourcetimingbufferfull;
};
diff --git a/tests/wpt/web-platform-tests/interfaces/selection-api.idl b/tests/wpt/web-platform-tests/interfaces/selection-api.idl
index b2d2f86885a..6e814ea149e 100644
--- a/tests/wpt/web-platform-tests/interfaces/selection-api.idl
+++ b/tests/wpt/web-platform-tests/interfaces/selection-api.idl
@@ -4,42 +4,40 @@
// See: https://w3c.github.io/selection-api/
interface Selection {
- readonly attribute Node? anchorNode;
- readonly attribute unsigned long anchorOffset;
- readonly attribute Node? focusNode;
- readonly attribute unsigned long focusOffset;
- readonly attribute boolean isCollapsed;
- readonly attribute unsigned long rangeCount;
- readonly attribute DOMString type;
- Range getRangeAt(unsigned long index);
- void addRange(Range range);
- void removeRange(Range range);
- void removeAllRanges();
- void empty();
- void collapse(Node? node,
- optional unsigned long offset = 0);
- void setPosition(Node? node,
- optional unsigned long offset = 0);
- void collapseToStart();
- void collapseToEnd();
- void extend(Node node, optional unsigned long offset = 0);
- void setBaseAndExtent(Node anchorNode,
- unsigned long anchorOffset,
- Node focusNode,
- unsigned long focusOffset);
- void selectAllChildren(Node node);
- [CEReactions] void deleteFromDocument();
- boolean containsNode(Node node,
- optional boolean allowPartialContainment = false);
- stringifier DOMString ();
+ readonly attribute Node? anchorNode;
+ readonly attribute unsigned long anchorOffset;
+ readonly attribute Node? focusNode;
+ readonly attribute unsigned long focusOffset;
+ readonly attribute boolean isCollapsed;
+ readonly attribute unsigned long rangeCount;
+ readonly attribute DOMString type;
+ Range getRangeAt(unsigned long index);
+ void addRange(Range range);
+ void removeRange(Range range);
+ void removeAllRanges();
+ void empty();
+ void collapse(Node? node, optional unsigned long offset = 0);
+ void setPosition(Node? node, optional unsigned long offset = 0);
+ void collapseToStart();
+ void collapseToEnd();
+ void extend(Node node, optional unsigned long offset = 0);
+ void setBaseAndExtent(Node anchorNode, unsigned long anchorOffset, Node focusNode, unsigned long focusOffset);
+ void selectAllChildren(Node node);
+ [CEReactions]
+ void deleteFromDocument();
+ boolean containsNode(Node node, optional boolean allowPartialContainment = false);
+ stringifier DOMString ();
};
+
partial interface Document {
- Selection? getSelection();
+ Selection? getSelection();
};
+
partial interface Window {
- Selection? getSelection();
+ Selection? getSelection();
};
+
partial interface GlobalEventHandlers {
- attribute EventHandler onselectstart;
- attribute EventHandler onselectionchange;
+ attribute EventHandler onselectstart;
+ attribute EventHandler onselectionchange;
};
diff --git a/tests/wpt/web-platform-tests/interfaces/touch-events.idl b/tests/wpt/web-platform-tests/interfaces/touch-events.idl
index 5c5a3ef82e8..097b0e9ac9e 100644
--- a/tests/wpt/web-platform-tests/interfaces/touch-events.idl
+++ b/tests/wpt/web-platform-tests/interfaces/touch-events.idl
@@ -9,78 +9,74 @@ enum TouchType {
};
dictionary TouchInit {
- required long identifier;
+ required long identifier;
required EventTarget target;
- double clientX = 0;
- double clientY = 0;
- double screenX = 0;
- double screenY = 0;
- double pageX = 0;
- double pageY = 0;
- float radiusX = 0;
- float radiusY = 0;
- float rotationAngle = 0;
- float force = 0;
- double altitudeAngle = 0;
- double azimuthAngle = 0;
- TouchType touchType = "direct";
+ double clientX = 0;
+ double clientY = 0;
+ double screenX = 0;
+ double screenY = 0;
+ double pageX = 0;
+ double pageY = 0;
+ float radiusX = 0;
+ float radiusY = 0;
+ float rotationAngle = 0;
+ float force = 0;
+ double altitudeAngle = 0;
+ double azimuthAngle = 0;
+ TouchType touchType = "direct";
};
-[Constructor(TouchInit touchInitDict),
- Exposed=Window]
+[Constructor(TouchInit touchInitDict), Exposed=Window]
interface Touch {
- readonly attribute long identifier;
- readonly attribute EventTarget target;
- readonly attribute double screenX;
- readonly attribute double screenY;
- readonly attribute double clientX;
- readonly attribute double clientY;
- readonly attribute double pageX;
- readonly attribute double pageY;
- readonly attribute float radiusX;
- readonly attribute float radiusY;
- readonly attribute float rotationAngle;
- readonly attribute float force;
- readonly attribute float altitudeAngle;
- readonly attribute float azimuthAngle;
- readonly attribute TouchType touchType;
+ readonly attribute long identifier;
+ readonly attribute EventTarget target;
+ readonly attribute double screenX;
+ readonly attribute double screenY;
+ readonly attribute double clientX;
+ readonly attribute double clientY;
+ readonly attribute double pageX;
+ readonly attribute double pageY;
+ readonly attribute float radiusX;
+ readonly attribute float radiusY;
+ readonly attribute float rotationAngle;
+ readonly attribute float force;
+ readonly attribute float altitudeAngle;
+ readonly attribute float azimuthAngle;
+ readonly attribute TouchType touchType;
};
+
interface TouchList {
- readonly attribute unsigned long length;
+ readonly attribute unsigned long length;
getter Touch? item(unsigned long index);
};
+
dictionary TouchEventInit : EventModifierInit {
- sequence touches = [];
- sequence targetTouches = [];
- sequence changedTouches = [];
+ sequence touches = [];
+ sequence targetTouches = [];
+ sequence changedTouches = [];
};
-[Constructor(DOMString type, optional TouchEventInit eventInitDict),
- Exposed=Window]
+[Constructor(DOMString type, optional TouchEventInit eventInitDict), Exposed=Window]
interface TouchEvent : UIEvent {
- readonly attribute TouchList touches;
- readonly attribute TouchList targetTouches;
- readonly attribute TouchList changedTouches;
- readonly attribute boolean altKey;
- readonly attribute boolean metaKey;
- readonly attribute boolean ctrlKey;
- readonly attribute boolean shiftKey;
+ readonly attribute TouchList touches;
+ readonly attribute TouchList targetTouches;
+ readonly attribute TouchList changedTouches;
+ readonly attribute boolean altKey;
+ readonly attribute boolean metaKey;
+ readonly attribute boolean ctrlKey;
+ readonly attribute boolean shiftKey;
};
+
partial interface GlobalEventHandlers {
- attribute EventHandler ontouchstart;
- attribute EventHandler ontouchend;
- attribute EventHandler ontouchmove;
- attribute EventHandler ontouchcancel;
+ attribute EventHandler ontouchstart;
+ attribute EventHandler ontouchend;
+ attribute EventHandler ontouchmove;
+ attribute EventHandler ontouchcancel;
};
+
partial interface Document {
- // Deprecated in this specification
- Touch createTouch(WindowProxy view,
- EventTarget target,
- long identifier,
- double pageX,
- double pageY,
- double screenX,
- double screenY);
- // Deprecated in this specification
- TouchList createTouchList(Touch... touches);
+ // Deprecated in this specification
+ Touch createTouch(WindowProxy view, EventTarget target, long identifier, double pageX, double pageY, double screenX, double screenY);
+ // Deprecated in this specification
+ TouchList createTouchList(Touch... touches);
};
diff --git a/tests/wpt/web-platform-tests/interfaces/user-timing.idl b/tests/wpt/web-platform-tests/interfaces/user-timing.idl
index 576ee5357a9..74139c6c7af 100644
--- a/tests/wpt/web-platform-tests/interfaces/user-timing.idl
+++ b/tests/wpt/web-platform-tests/interfaces/user-timing.idl
@@ -6,14 +6,14 @@
partial interface Performance {
void mark(DOMString markName);
void clearMarks(optional DOMString markName);
- void measure(DOMString measureName,
- optional DOMString startMark,
- optional DOMString endMark);
+ void measure(DOMString measureName, optional DOMString startMark, optional DOMString endMark);
void clearMeasures(optional DOMString measureName);
};
+
[Exposed=(Window,Worker)]
interface PerformanceMark : PerformanceEntry {
};
+
[Exposed=(Window,Worker)]
interface PerformanceMeasure : PerformanceEntry {
};
diff --git a/tests/wpt/web-platform-tests/interfaces/webaudio.idl b/tests/wpt/web-platform-tests/interfaces/webaudio.idl
index 5f3085df81e..0ea32e506eb 100644
--- a/tests/wpt/web-platform-tests/interfaces/webaudio.idl
+++ b/tests/wpt/web-platform-tests/interfaces/webaudio.idl
@@ -46,8 +46,8 @@ interface BaseAudioContext : EventTarget {
WaveShaperNode createWaveShaper ();
Promise decodeAudioData (ArrayBuffer audioData,
- optional DecodeSuccessCallback successCallback,
- optional DecodeErrorCallback errorCallback);
+ optional DecodeSuccessCallback? successCallback,
+ optional DecodeErrorCallback? errorCallback);
Promise resume ();
};
diff --git a/tests/wpt/web-platform-tests/keyboard-lock/idlharness.https.html b/tests/wpt/web-platform-tests/keyboard-lock/idlharness.https.html
deleted file mode 100644
index a63e387b18b..00000000000
--- a/tests/wpt/web-platform-tests/keyboard-lock/idlharness.https.html
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-Keyboard Lock IDL tests
-
-
-
-
-
-
diff --git a/tests/wpt/web-platform-tests/keyboard-lock/idlharness.https.window.js b/tests/wpt/web-platform-tests/keyboard-lock/idlharness.https.window.js
new file mode 100644
index 00000000000..27573bd8773
--- /dev/null
+++ b/tests/wpt/web-platform-tests/keyboard-lock/idlharness.https.window.js
@@ -0,0 +1,18 @@
+// META: script=/resources/WebIDLParser.js
+// META: script=/resources/idlharness.js
+
+// https://w3c.github.io/keyboard-lock/
+
+'use strict';
+
+idl_test(
+ ['keyboard-lock'],
+ ['html'],
+ idl_array => {
+ idl_array.add_objects({
+ Navigator: ['navigator'],
+ Keyboard: ['navigator.keyboard'],
+ });
+ },
+ 'keyboard-lock interfaces'
+);
diff --git a/tests/wpt/web-platform-tests/keyboard-map/idlharness.https.html b/tests/wpt/web-platform-tests/keyboard-map/idlharness.https.html
deleted file mode 100644
index 05d687d7fb1..00000000000
--- a/tests/wpt/web-platform-tests/keyboard-map/idlharness.https.html
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
-Keyboard Map IDL tests
-
-
-
-
-
-
diff --git a/tests/wpt/web-platform-tests/keyboard-map/idlharness.https.window.js b/tests/wpt/web-platform-tests/keyboard-map/idlharness.https.window.js
new file mode 100644
index 00000000000..d80016677bd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/keyboard-map/idlharness.https.window.js
@@ -0,0 +1,21 @@
+// META: script=/resources/WebIDLParser.js
+// META: script=/resources/idlharness.js
+
+// https://wicg.github.io/keyboard-map/
+
+'use strict';
+
+idl_test(
+ ['keyboard-map'],
+ ['html'],
+ async idl_array => {
+ idl_array.add_objects({
+ Navigator: ['navigator'],
+ Keyboard: ['navigator.keyboard'],
+ KeyboardLayoutMap: ['layout_map'],
+ });
+
+ self.layout_map = await navigator.keyboard.getLayoutMap();
+ },
+ 'Test IDL implementation of Keyboard Map API'
+);
diff --git a/tests/wpt/web-platform-tests/magnetometer/idlharness.https.html b/tests/wpt/web-platform-tests/magnetometer/idlharness.https.html
deleted file mode 100644
index 904869ebd6d..00000000000
--- a/tests/wpt/web-platform-tests/magnetometer/idlharness.https.html
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
-Magnetometer Sensor IDL tests
-
-
-
-
-
-
-
-
diff --git a/tests/wpt/web-platform-tests/magnetometer/idlharness.https.window.js b/tests/wpt/web-platform-tests/magnetometer/idlharness.https.window.js
new file mode 100644
index 00000000000..97a3c85e39f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/magnetometer/idlharness.https.window.js
@@ -0,0 +1,18 @@
+// META: script=/resources/WebIDLParser.js
+// META: script=/resources/idlharness.js
+
+// https://w3c.github.io/magnetometer/
+
+'use strict';
+
+idl_test(
+ ['magnetometer'],
+ ['generic-sensor', 'dom'],
+ idl_array => {
+ idl_array.add_objects({
+ Magnetometer: ['new Magnetometer();'],
+ UncalibratedMagnetometer: ['new UncalibratedMagnetometer();']
+ });
+ },
+ 'Test IDL implementation of Magnetometer Sensor'
+);
diff --git a/tests/wpt/web-platform-tests/media-source/idlharness.any.js b/tests/wpt/web-platform-tests/media-source/idlharness.any.js
new file mode 100644
index 00000000000..7992b117131
--- /dev/null
+++ b/tests/wpt/web-platform-tests/media-source/idlharness.any.js
@@ -0,0 +1,59 @@
+// META: script=/resources/WebIDLParser.js
+// META: script=/resources/idlharness.js
+
+// https://w3c.github.io/media-source/
+
+'use strict';
+
+var mediaSource;
+var sourceBuffer;
+var video = document.createElement("video");
+
+promise_test(async t => {
+ const srcs = ['media-source', 'dom', 'html', 'url'];
+ const [idl, dom, html, url] = await Promise.all(
+ srcs.map(i => fetch(`/interfaces/${i}.idl`).then(r => r.text())));
+
+ var idlArray = new IdlArray();
+ idlArray.add_idls(idl);
+ idlArray.add_dependency_idls(dom);
+ idlArray.add_dependency_idls(html);
+ idlArray.add_dependency_idls(url);
+
+ const testIdls = new Promise(resolve => {
+ try {
+ mediaSource = new MediaSource();
+ video.src = URL.createObjectURL(mediaSource);
+ mediaSource.addEventListener("sourceopen", function () {
+ var defaultType ='video/webm;codecs="vp8,vorbis"';
+ if (MediaSource.isTypeSupported(defaultType)) {
+ sourceBuffer = mediaSource.addSourceBuffer(defaultType);
+ } else {
+ sourceBuffer = mediaSource.addSourceBuffer('video/mp4');
+ }
+ sourceBuffer.addEventListener("updateend", function (e) {
+ mediaSource.endOfStream();
+ resolve();
+ });
+ sourceBuffer.appendBuffer(new ArrayBuffer());
+ });
+ } catch (e) {
+ // Will be surfaced in idlharness.js's test_object below.
+ }
+ })
+
+ idlArray.add_objects({
+ MediaSource: ['mediaSource'],
+ SourceBuffer: ['sourceBuffer'],
+ SourceBufferList: ['mediaSource.sourceBuffers']
+ });
+
+ const timeout = new Promise((_, reject) => t.step_timeout(reject, 3000));
+ return Promise
+ .race([testIdls, timeout])
+ .then(() => { idlArray.test(); })
+ .catch(() => {
+ idlArray.test();
+ return Promise.reject('Failed to create media-source objects')
+ });
+}, 'media-source interfaces');
diff --git a/tests/wpt/web-platform-tests/mediacapture-image/idlharness.html b/tests/wpt/web-platform-tests/mediacapture-image/idlharness.html
deleted file mode 100644
index 40888f0b59e..00000000000
--- a/tests/wpt/web-platform-tests/mediacapture-image/idlharness.html
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
-
-
- Image Capture IDL test
-
-
-
-
-
-
-
-
-