diff --git a/tests/wpt/include.ini b/tests/wpt/include.ini
index 201a69c5b98..795d3bbe2f5 100644
--- a/tests/wpt/include.ini
+++ b/tests/wpt/include.ini
@@ -43,6 +43,8 @@ skip: true
skip: true
[script_scheduling]
skip: false
+[quirks-mode]
+ skip: false
[referrer-policy]
skip: false
[subresource-integrity]
diff --git a/tests/wpt/metadata/quirks-mode/blocks-ignore-line-height.html.ini b/tests/wpt/metadata/quirks-mode/blocks-ignore-line-height.html.ini
new file mode 100644
index 00000000000..3979d3098e2
--- /dev/null
+++ b/tests/wpt/metadata/quirks-mode/blocks-ignore-line-height.html.ini
@@ -0,0 +1,11 @@
+[blocks-ignore-line-height.html]
+ type: testharness
+ [The blocks ignore line-height quirk, #ref { display:block }
x
xx
]
+ expected: FAIL
+
+ [The blocks ignore line-height quirk, #ref { display:block }x
x
x
xx
x
]
+ expected: FAIL
+
+ [The blocks ignore line-height quirk, #ref { display:block } div, #ref { line-height:2 } span { font-size:50% }x
xx
]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/quirks-mode/hashless-hex-color.html.ini b/tests/wpt/metadata/quirks-mode/hashless-hex-color.html.ini
new file mode 100644
index 00000000000..0834442c891
--- /dev/null
+++ b/tests/wpt/metadata/quirks-mode/hashless-hex-color.html.ini
@@ -0,0 +1,233 @@
+[hashless-hex-color.html]
+ type: testharness
+ [123 (quirks)]
+ expected: FAIL
+
+ [023 (quirks)]
+ expected: FAIL
+
+ [003 (quirks)]
+ expected: FAIL
+
+ [000 (quirks)]
+ expected: FAIL
+
+ [abc (quirks)]
+ expected: FAIL
+
+ [ABC (quirks)]
+ expected: FAIL
+
+ [1ab (quirks)]
+ expected: FAIL
+
+ [1AB (quirks)]
+ expected: FAIL
+
+ [112233 (quirks)]
+ expected: FAIL
+
+ [012233 (quirks)]
+ expected: FAIL
+
+ [002233 (quirks)]
+ expected: FAIL
+
+ [000233 (quirks)]
+ expected: FAIL
+
+ [000033 (quirks)]
+ expected: FAIL
+
+ [000003 (quirks)]
+ expected: FAIL
+
+ [000000 (quirks)]
+ expected: FAIL
+
+ [aabbcc (quirks)]
+ expected: FAIL
+
+ [AABBCC (quirks)]
+ expected: FAIL
+
+ [11aabb (quirks)]
+ expected: FAIL
+
+ [11AABB (quirks)]
+ expected: FAIL
+
+ [\\31 23 (quirks)]
+ expected: FAIL
+
+ [\\61 bc (quirks)]
+ expected: FAIL
+
+ [\\41 BC (quirks)]
+ expected: FAIL
+
+ [\\31 ab (quirks)]
+ expected: FAIL
+
+ [\\31 AB (quirks)]
+ expected: FAIL
+
+ [\\31 12233 (quirks)]
+ expected: FAIL
+
+ [\\61 abbcc (quirks)]
+ expected: FAIL
+
+ [\\41 ABBCC (quirks)]
+ expected: FAIL
+
+ [\\31 1aabb (quirks)]
+ expected: FAIL
+
+ [\\31 1AABB (quirks)]
+ expected: FAIL
+
+ [12\\33 (quirks)]
+ expected: FAIL
+
+ [1 (quirks)]
+ expected: FAIL
+
+ [12 (quirks)]
+ expected: FAIL
+
+ [1234 (quirks)]
+ expected: FAIL
+
+ [12345 (quirks)]
+ expected: FAIL
+
+ [1a (quirks)]
+ expected: FAIL
+
+ [1abc (quirks)]
+ expected: FAIL
+
+ [1abcd (quirks)]
+ expected: FAIL
+
+ [+1 (quirks)]
+ expected: FAIL
+
+ [+12 (quirks)]
+ expected: FAIL
+
+ [+123 (quirks)]
+ expected: FAIL
+
+ [+1234 (quirks)]
+ expected: FAIL
+
+ [+12345 (quirks)]
+ expected: FAIL
+
+ [+123456 (quirks)]
+ expected: FAIL
+
+ [+1a (quirks)]
+ expected: FAIL
+
+ [+12a (quirks)]
+ expected: FAIL
+
+ [+123a (quirks)]
+ expected: FAIL
+
+ [+1234a (quirks)]
+ expected: FAIL
+
+ [+12345a (quirks)]
+ expected: FAIL
+
+ [+1A (quirks)]
+ expected: FAIL
+
+ [+12A (quirks)]
+ expected: FAIL
+
+ [+123A (quirks)]
+ expected: FAIL
+
+ [+1234A (quirks)]
+ expected: FAIL
+
+ [+12345A (quirks)]
+ expected: FAIL
+
+ [rgb(calc(100 + 155), 255, 255) (quirks)]
+ expected: FAIL
+
+ [rgb(calc(100 + 155), 255, 255) (almost standards)]
+ expected: FAIL
+
+ [rgb(calc(100 + 155), 255, 255) (standards)]
+ expected: FAIL
+
+ [rgba(calc(100 + 155), 255, 255, 001) (quirks)]
+ expected: FAIL
+
+ [rgba(calc(100 + 155), 255, 255, 001) (almost standards)]
+ expected: FAIL
+
+ [rgba(calc(100 + 155), 255, 255, 001) (standards)]
+ expected: FAIL
+
+ [hsl(calc(050 + 050), 100%, 100%) (quirks)]
+ expected: FAIL
+
+ [hsl(calc(050 + 050), 100%, 100%) (almost standards)]
+ expected: FAIL
+
+ [hsl(calc(050 + 050), 100%, 100%) (standards)]
+ expected: FAIL
+
+ [hsla(calc(050 + 050), 100%, 100%, 001) (quirks)]
+ expected: FAIL
+
+ [hsla(calc(050 + 050), 100%, 100%, 001) (almost standards)]
+ expected: FAIL
+
+ [hsla(calc(050 + 050), 100%, 100%, 001) (standards)]
+ expected: FAIL
+
+ [rgb(calc(/**/100/**/ + /**/155/**/), 255, 255) (quirks)]
+ expected: FAIL
+
+ [rgb(calc(/**/100/**/ + /**/155/**/), 255, 255) (almost standards)]
+ expected: FAIL
+
+ [rgb(calc(/**/100/**/ + /**/155/**/), 255, 255) (standards)]
+ expected: FAIL
+
+ [#123 123 abc 12a (quirks)]
+ expected: FAIL
+
+ [#123 123 abc 12a (almost standards)]
+ expected: FAIL
+
+ [#123 123 abc 12a (standards)]
+ expected: FAIL
+
+ [rgb(119, 255, 255) 123 (quirks)]
+ expected: FAIL
+
+ [rgb(119, 255, 255) 123 (almost standards)]
+ expected: FAIL
+
+ [rgb(119, 255, 255) 123 (standards)]
+ expected: FAIL
+
+ [123 rgb(119, 255, 255) (quirks)]
+ expected: FAIL
+
+ [123 rgb(119, 255, 255) (almost standards)]
+ expected: FAIL
+
+ [123 rgb(119, 255, 255) (standards)]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/quirks-mode/line-height-calculation.html.ini b/tests/wpt/metadata/quirks-mode/line-height-calculation.html.ini
new file mode 100644
index 00000000000..59aa0a298ce
--- /dev/null
+++ b/tests/wpt/metadata/quirks-mode/line-height-calculation.html.ini
@@ -0,0 +1,50 @@
+[line-height-calculation.html]
+ type: testharness
+ [The line height calculation quirk, 
x
]
+ expected: FAIL
+
+ [The line height calculation quirk,  |
 |
x |
]
+ expected: FAIL
+
+ [The line height calculation quirk, 

x
]
+ expected: FAIL
+
+ [The line height calculation quirk, span { margin:1px }
x
]
+ expected: FAIL
+
+ [The line height calculation quirk, span { margin:0 1px }
x
]
+ expected: FAIL
+
+ [The line height calculation quirk, span { margin:0 1px; padding:1px 0 }
x
]
+ expected: FAIL
+
+ [The line height calculation quirk, span { border-right:1px solid }
x
x
]
+ expected: FAIL
+
+ [The line height calculation quirk, span { border-left:1px solid }
x
x
]
+ expected: FAIL
+
+ [The line height calculation quirk, span { padding-right:1px }
x
x
]
+ expected: FAIL
+
+ [The line height calculation quirk, span { padding-left:1px }
x
x
]
+ expected: FAIL
+
+ [The line height calculation quirk, span { display:inline-block; height:1px }
x
]
+ expected: FAIL
+
+ [The line height calculation quirk, 
x
]
+ expected: FAIL
+
+ [The line height calculation quirk, #test img { padding:1px }
x
]
+ expected: FAIL
+
+ [The line height calculation quirk, iframe { height:1px }
x
]
+ expected: FAIL
+
+ [The line height calculation quirk, #test::before { content:"" } #test::before, span { border:solid }x
x
]
+ expected: FAIL
+
+ [The line height calculation quirk, div { line-height: 0;} span { margin:0 1px; line-height: normal; }x
x
xx
]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/quirks-mode/percentage-height-calculation.html.ini b/tests/wpt/metadata/quirks-mode/percentage-height-calculation.html.ini
new file mode 100644
index 00000000000..5837be3bd93
--- /dev/null
+++ b/tests/wpt/metadata/quirks-mode/percentage-height-calculation.html.ini
@@ -0,0 +1,122 @@
+[percentage-height-calculation.html]
+ type: testharness
+ [The percentage height calculation quirk, #test { height:100% }]
+ expected: FAIL
+
+ [The percentage height calculation quirk, #test { height:50% }]
+ expected: FAIL
+
+ [The percentage height calculation quirk, #test { height:25% }]
+ expected: FAIL
+
+ [The percentage height calculation quirk, #test { height:12.5% }]
+ expected: FAIL
+
+ [The percentage height calculation quirk, #test { height:100% }]
+ expected: FAIL
+
+ [The percentage height calculation quirk,
]
+ expected: FAIL
+
+ [The percentage height calculation quirk,
]
+ expected: FAIL
+
+ [The percentage height calculation quirk, ]
+ expected: FAIL
+
+ [The percentage height calculation quirk, #foo { height:100px } #test { height:100% }]
+ expected: FAIL
+
+ [The percentage height calculation quirk, #foo { position:relative } #test { height:100% }]
+ expected: FAIL
+
+ [The percentage height calculation quirk, #foo { height:100px } #test { height:100%; position:relative }]
+ expected: FAIL
+
+ [The percentage height calculation quirk, html { display:inline } #test { height:100% }]
+ expected: FAIL
+
+ [The percentage height calculation quirk, html { margin:10px } body { display:inline } #test { height:100% }]
+ expected: FAIL
+
+ [The percentage height calculation quirk, body { margin:0 } #test { height:100% }]
+ expected: FAIL
+
+ [The percentage height calculation quirk, body { margin:0; padding:10px } #test { height:100% }]
+ expected: FAIL
+
+ [The percentage height calculation quirk, body { margin:0; border:10px solid } #test { height:100% }]
+ expected: FAIL
+
+ [The percentage height calculation quirk, html { margin:10px } #test { height:100% }]
+ expected: FAIL
+
+ [The percentage height calculation quirk, html { padding:10px } #test { height:100% }]
+ expected: FAIL
+
+ [The percentage height calculation quirk, html { border:10px solid } #test { height:100% }]
+ expected: FAIL
+
+ [The percentage height calculation quirk, html { height:100%; margin:10px } #test { height:100% }]
+ expected: FAIL
+
+ [The percentage height calculation quirk, html { height:100%; padding:10px } #test { height:100% }]
+ expected: FAIL
+
+ [The percentage height calculation quirk, html { height:100%; border:10px solid } #test { height:100% }]
+ expected: FAIL
+
+ [The percentage height calculation quirk, body { height:100%; margin:10px } #test { height:100% }]
+ expected: FAIL
+
+ [The percentage height calculation quirk, body { height:100%; padding:10px } #test { height:100% }]
+ expected: FAIL
+
+ [The percentage height calculation quirk, body { height:100%; border:10px solid } #test { height:100% }]
+ expected: FAIL
+
+ [The percentage height calculation quirk, html { position:absolute; height:100%; margin:10px } #test { height:100% }]
+ expected: FAIL
+
+ [The percentage height calculation quirk, html { position:absolute; height:100%; padding:10px } #test { height:100% }]
+ expected: FAIL
+
+ [The percentage height calculation quirk, html { position:absolute; height:100%; border:10px solid } #test { height:100% }]
+ expected: FAIL
+
+ [The percentage height calculation quirk, body { margin:99px 0 } #test { height:100% }]
+ expected: FAIL
+
+ [The percentage height calculation quirk, html, body { border:10px none } #test { height:100% }]
+ expected: FAIL
+
+ [The percentage height calculation quirk, html, body { border:10px hidden } #test { height:100% }]
+ expected: FAIL
+
+ [The percentage height calculation quirk, ]
+ expected: FAIL
+
+ [The percentage height calculation quirk,