aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWPT Sync Bot <josh+wptsync@joshmatthews.net>2020-01-01 08:24:21 +0000
committerWPT Sync Bot <josh+wptsync@joshmatthews.net>2020-01-01 11:08:11 +0000
commitc2ea949ad5fa3498cbad72c2a522abf243b0e4e3 (patch)
tree28db7d9332d25188df4ac549f19408d9e24d4898
parent45cc5582973fb9d2b91ce1c907ddd4fbf16f21b3 (diff)
downloadservo-c2ea949ad5fa3498cbad72c2a522abf243b0e4e3.tar.gz
servo-c2ea949ad5fa3498cbad72c2a522abf243b0e4e3.zip
Update web-platform-tests to revision fda9fa30b9c18f3689f09384c0d4f104c6e6fd4d
-rw-r--r--tests/wpt/metadata/MANIFEST.json987
-rw-r--r--tests/wpt/metadata/css/cssom-view/CaretPosition-001.html.ini4
-rw-r--r--tests/wpt/metadata/css/cssom-view/MediaQueryList-addListener-removeListener.html.ini3
-rw-r--r--tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini4
-rw-r--r--tests/wpt/metadata/fetch/content-type/response.window.js.ini9
-rw-r--r--tests/wpt/metadata/fetch/content-type/script.window.js.ini3
-rw-r--r--tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini3
-rw-r--r--tests/wpt/metadata/fetch/security/embedded-credentials.tentative.sub.html.ini2
-rw-r--r--tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini4
-rw-r--r--tests/wpt/metadata/html/semantics/scripting-1/the-script-element/execution-timing/077.html.ini4
-rw-r--r--tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini1
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-align-001-ref.html17
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-align-001.html26
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-align-001a.html26
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-align-002-ref.html27
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-align-002.html28
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-align-002a.html28
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-base-different-size-ref.html1
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-base-different-size.html1
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-bidi-001-ref.html14
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-bidi-001.html16
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-bidi-002-ref.html35
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-bidi-002.html49
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-001-ref.html41
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-001.html56
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-002-ref.html47
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-002.html56
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-003-ref.html43
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-003.html56
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-004-ref.html47
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-004.html56
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-005-ref.html45
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-005.html41
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-001-ref.html20
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-001.html30
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-002-ref.html20
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-002.html31
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-003-ref.html13
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-003.html21
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-004-ref.html15
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-004.html22
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-005-ref.html13
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-005.html22
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-removal-001-ref.html19
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-removal-001.html34
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-removal-002-ref.html13
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-removal-002.html21
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-removal-003-ref.html20
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-removal-003.html33
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-float-handling-001-ref.html19
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-float-handling-001.html21
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-intra-level-whitespace-001-ref.html18
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-intra-level-whitespace-001.html20
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-intra-level-whitespace-002-ref.html24
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-intra-level-whitespace-002.html31
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-intra-level-whitespace-003-ref.html10
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-intra-level-whitespace-003.html32
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-intrinsic-isize-001-ref.html48
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-intrinsic-isize-001.html47
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-intrinsic-isize-002-ref.html28
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-intrinsic-isize-002.html30
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-justification-001-ref.html12
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-justification-001.html15
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-justification-002-ref.html17
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-justification-002.html23
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-lang-specific-style-001-ref.html12
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-lang-specific-style-001.html14
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-001-ref.html11
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-001.html13
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-002-ref.html13
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-002.html15
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-003-ref.html16
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-003.html21
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-004-ref.html7
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-004.html9
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-005-ref.html7
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-005.html9
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-line-breaking-001-ref.html14
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-line-breaking-001.html19
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-line-breaking-002-ref.html11
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-line-breaking-002.html13
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-line-breaking-003-ref.html18
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-line-breaking-003.html28
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-no-transform-ref.html10
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-no-transform.html17
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-reflow-001-noruby.html18
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-reflow-001-opaqueruby.html22
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-reflow-001-transparentruby.html23
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-span-001-ref.html7
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-span-001.html9
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-whitespace-001-ref.html33
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-whitespace-001.html33
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-whitespace-002-ref.html15
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/ruby-whitespace-002.html16
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/support/ruby-common.css18
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/support/ruby-dynamic-insertion.js42
-rw-r--r--tests/wpt/web-platform-tests/css/css-ruby/support/ruby-dynamic-removal.js14
-rw-r--r--tests/wpt/web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/canvas-aspect-ratio.html4
-rw-r--r--tests/wpt/web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/content-aspect-ratio.html25
-rw-r--r--tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/manifestinclude.py3
100 files changed, 3062 insertions, 19 deletions
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json
index ecadcd6f001..aa4ea4026b0 100644
--- a/tests/wpt/metadata/MANIFEST.json
+++ b/tests/wpt/metadata/MANIFEST.json
@@ -143305,6 +143305,54 @@
{}
]
],
+ "css/css-ruby/ruby-align-001.html": [
+ [
+ "css/css-ruby/ruby-align-001.html",
+ [
+ [
+ "/css/css-ruby/ruby-align-001-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-align-001a.html": [
+ [
+ "css/css-ruby/ruby-align-001a.html",
+ [
+ [
+ "/css/css-ruby/ruby-align-001-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-align-002.html": [
+ [
+ "css/css-ruby/ruby-align-002.html",
+ [
+ [
+ "/css/css-ruby/ruby-align-002-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-align-002a.html": [
+ [
+ "css/css-ruby/ruby-align-002a.html",
+ [
+ [
+ "/css/css-ruby/ruby-align-002-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-ruby/ruby-base-different-size.html": [
[
"css/css-ruby/ruby-base-different-size.html",
@@ -143317,6 +143365,294 @@
{}
]
],
+ "css/css-ruby/ruby-bidi-001.html": [
+ [
+ "css/css-ruby/ruby-bidi-001.html",
+ [
+ [
+ "/css/css-ruby/ruby-bidi-001-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-bidi-002.html": [
+ [
+ "css/css-ruby/ruby-bidi-002.html",
+ [
+ [
+ "/css/css-ruby/ruby-bidi-002-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-box-generation-001.html": [
+ [
+ "css/css-ruby/ruby-box-generation-001.html",
+ [
+ [
+ "/css/css-ruby/ruby-box-generation-001-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-box-generation-002.html": [
+ [
+ "css/css-ruby/ruby-box-generation-002.html",
+ [
+ [
+ "/css/css-ruby/ruby-box-generation-002-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-box-generation-003.html": [
+ [
+ "css/css-ruby/ruby-box-generation-003.html",
+ [
+ [
+ "/css/css-ruby/ruby-box-generation-003-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-box-generation-004.html": [
+ [
+ "css/css-ruby/ruby-box-generation-004.html",
+ [
+ [
+ "/css/css-ruby/ruby-box-generation-004-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-box-generation-005.html": [
+ [
+ "css/css-ruby/ruby-box-generation-005.html",
+ [
+ [
+ "/css/css-ruby/ruby-box-generation-005-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-dynamic-insertion-001.html": [
+ [
+ "css/css-ruby/ruby-dynamic-insertion-001.html",
+ [
+ [
+ "/css/css-ruby/ruby-dynamic-insertion-001-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-dynamic-insertion-002.html": [
+ [
+ "css/css-ruby/ruby-dynamic-insertion-002.html",
+ [
+ [
+ "/css/css-ruby/ruby-dynamic-insertion-002-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-dynamic-insertion-003.html": [
+ [
+ "css/css-ruby/ruby-dynamic-insertion-003.html",
+ [
+ [
+ "/css/css-ruby/ruby-dynamic-insertion-003-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-dynamic-insertion-004.html": [
+ [
+ "css/css-ruby/ruby-dynamic-insertion-004.html",
+ [
+ [
+ "/css/css-ruby/ruby-dynamic-insertion-004-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-dynamic-insertion-005.html": [
+ [
+ "css/css-ruby/ruby-dynamic-insertion-005.html",
+ [
+ [
+ "/css/css-ruby/ruby-dynamic-insertion-005-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-dynamic-removal-001.html": [
+ [
+ "css/css-ruby/ruby-dynamic-removal-001.html",
+ [
+ [
+ "/css/css-ruby/ruby-dynamic-removal-001-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-dynamic-removal-002.html": [
+ [
+ "css/css-ruby/ruby-dynamic-removal-002.html",
+ [
+ [
+ "/css/css-ruby/ruby-dynamic-removal-002-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-dynamic-removal-003.html": [
+ [
+ "css/css-ruby/ruby-dynamic-removal-003.html",
+ [
+ [
+ "/css/css-ruby/ruby-dynamic-removal-003-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-float-handling-001.html": [
+ [
+ "css/css-ruby/ruby-float-handling-001.html",
+ [
+ [
+ "/css/css-ruby/ruby-float-handling-001-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-intra-level-whitespace-001.html": [
+ [
+ "css/css-ruby/ruby-intra-level-whitespace-001.html",
+ [
+ [
+ "/css/css-ruby/ruby-intra-level-whitespace-001-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-intra-level-whitespace-002.html": [
+ [
+ "css/css-ruby/ruby-intra-level-whitespace-002.html",
+ [
+ [
+ "/css/css-ruby/ruby-intra-level-whitespace-002-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-intra-level-whitespace-003.html": [
+ [
+ "css/css-ruby/ruby-intra-level-whitespace-003.html",
+ [
+ [
+ "/css/css-ruby/ruby-intra-level-whitespace-003-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-intrinsic-isize-001.html": [
+ [
+ "css/css-ruby/ruby-intrinsic-isize-001.html",
+ [
+ [
+ "/css/css-ruby/ruby-intrinsic-isize-001-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-intrinsic-isize-002.html": [
+ [
+ "css/css-ruby/ruby-intrinsic-isize-002.html",
+ [
+ [
+ "/css/css-ruby/ruby-intrinsic-isize-002-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-justification-001.html": [
+ [
+ "css/css-ruby/ruby-justification-001.html",
+ [
+ [
+ "/css/css-ruby/ruby-justification-001-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-justification-002.html": [
+ [
+ "css/css-ruby/ruby-justification-002.html",
+ [
+ [
+ "/css/css-ruby/ruby-justification-002-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-lang-specific-style-001.html": [
+ [
+ "css/css-ruby/ruby-lang-specific-style-001.html",
+ [
+ [
+ "/css/css-ruby/ruby-lang-specific-style-001-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-ruby/ruby-layout-internal-boxes.html": [
[
"css/css-ruby/ruby-layout-internal-boxes.html",
@@ -143329,6 +143665,174 @@
{}
]
],
+ "css/css-ruby/ruby-line-break-suppression-001.html": [
+ [
+ "css/css-ruby/ruby-line-break-suppression-001.html",
+ [
+ [
+ "/css/css-ruby/ruby-line-break-suppression-001-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-line-break-suppression-002.html": [
+ [
+ "css/css-ruby/ruby-line-break-suppression-002.html",
+ [
+ [
+ "/css/css-ruby/ruby-line-break-suppression-002-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-line-break-suppression-003.html": [
+ [
+ "css/css-ruby/ruby-line-break-suppression-003.html",
+ [
+ [
+ "/css/css-ruby/ruby-line-break-suppression-003-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-line-break-suppression-004.html": [
+ [
+ "css/css-ruby/ruby-line-break-suppression-004.html",
+ [
+ [
+ "/css/css-ruby/ruby-line-break-suppression-004-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-line-break-suppression-005.html": [
+ [
+ "css/css-ruby/ruby-line-break-suppression-005.html",
+ [
+ [
+ "/css/css-ruby/ruby-line-break-suppression-005-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-line-breaking-001.html": [
+ [
+ "css/css-ruby/ruby-line-breaking-001.html",
+ [
+ [
+ "/css/css-ruby/ruby-line-breaking-001-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-line-breaking-002.html": [
+ [
+ "css/css-ruby/ruby-line-breaking-002.html",
+ [
+ [
+ "/css/css-ruby/ruby-line-breaking-002-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-line-breaking-003.html": [
+ [
+ "css/css-ruby/ruby-line-breaking-003.html",
+ [
+ [
+ "/css/css-ruby/ruby-line-breaking-003-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-no-transform.html": [
+ [
+ "css/css-ruby/ruby-no-transform.html",
+ [
+ [
+ "/css/css-ruby/ruby-no-transform-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-reflow-001-opaqueruby.html": [
+ [
+ "css/css-ruby/ruby-reflow-001-opaqueruby.html",
+ [
+ [
+ "/css/css-ruby/ruby-reflow-001-noruby.html",
+ "!="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-reflow-001-transparentruby.html": [
+ [
+ "css/css-ruby/ruby-reflow-001-transparentruby.html",
+ [
+ [
+ "/css/css-ruby/ruby-reflow-001-noruby.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-span-001.html": [
+ [
+ "css/css-ruby/ruby-span-001.html",
+ [
+ [
+ "/css/css-ruby/ruby-span-001-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-whitespace-001.html": [
+ [
+ "css/css-ruby/ruby-whitespace-001.html",
+ [
+ [
+ "/css/css-ruby/ruby-whitespace-001-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-ruby/ruby-whitespace-002.html": [
+ [
+ "css/css-ruby/ruby-whitespace-002.html",
+ [
+ [
+ "/css/css-ruby/ruby-whitespace-002-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-scoping/css-scoping-shadow-assigned-node-with-before-after.html": [
[
"css/css-scoping/css-scoping-shadow-assigned-node-with-before-after.html",
@@ -257090,12 +257594,135 @@
"css/css-ruby/root-ruby-ref.xhtml": [
[]
],
+ "css/css-ruby/ruby-align-001-ref.html": [
+ []
+ ],
+ "css/css-ruby/ruby-align-002-ref.html": [
+ []
+ ],
"css/css-ruby/ruby-base-different-size-ref.html": [
[]
],
+ "css/css-ruby/ruby-bidi-001-ref.html": [
+ []
+ ],
+ "css/css-ruby/ruby-bidi-002-ref.html": [
+ []
+ ],
+ "css/css-ruby/ruby-box-generation-001-ref.html": [
+ []
+ ],
+ "css/css-ruby/ruby-box-generation-002-ref.html": [
+ []
+ ],
+ "css/css-ruby/ruby-box-generation-003-ref.html": [
+ []
+ ],
+ "css/css-ruby/ruby-box-generation-004-ref.html": [
+ []
+ ],
+ "css/css-ruby/ruby-box-generation-005-ref.html": [
+ []
+ ],
+ "css/css-ruby/ruby-dynamic-insertion-001-ref.html": [
+ []
+ ],
+ "css/css-ruby/ruby-dynamic-insertion-002-ref.html": [
+ []
+ ],
+ "css/css-ruby/ruby-dynamic-insertion-003-ref.html": [
+ []
+ ],
+ "css/css-ruby/ruby-dynamic-insertion-004-ref.html": [
+ []
+ ],
+ "css/css-ruby/ruby-dynamic-insertion-005-ref.html": [
+ []
+ ],
+ "css/css-ruby/ruby-dynamic-removal-001-ref.html": [
+ []
+ ],
+ "css/css-ruby/ruby-dynamic-removal-002-ref.html": [
+ []
+ ],
+ "css/css-ruby/ruby-dynamic-removal-003-ref.html": [
+ []
+ ],
+ "css/css-ruby/ruby-float-handling-001-ref.html": [
+ []
+ ],
+ "css/css-ruby/ruby-intra-level-whitespace-001-ref.html": [
+ []
+ ],
+ "css/css-ruby/ruby-intra-level-whitespace-002-ref.html": [
+ []
+ ],
+ "css/css-ruby/ruby-intra-level-whitespace-003-ref.html": [
+ []
+ ],
+ "css/css-ruby/ruby-intrinsic-isize-001-ref.html": [
+ []
+ ],
+ "css/css-ruby/ruby-intrinsic-isize-002-ref.html": [
+ []
+ ],
+ "css/css-ruby/ruby-justification-001-ref.html": [
+ []
+ ],
+ "css/css-ruby/ruby-justification-002-ref.html": [
+ []
+ ],
+ "css/css-ruby/ruby-lang-specific-style-001-ref.html": [
+ []
+ ],
"css/css-ruby/ruby-layout-internal-boxes-ref.html": [
[]
],
+ "css/css-ruby/ruby-line-break-suppression-001-ref.html": [
+ []
+ ],
+ "css/css-ruby/ruby-line-break-suppression-002-ref.html": [
+ []
+ ],
+ "css/css-ruby/ruby-line-break-suppression-003-ref.html": [
+ []
+ ],
+ "css/css-ruby/ruby-line-break-suppression-004-ref.html": [
+ []
+ ],
+ "css/css-ruby/ruby-line-break-suppression-005-ref.html": [
+ []
+ ],
+ "css/css-ruby/ruby-line-breaking-001-ref.html": [
+ []
+ ],
+ "css/css-ruby/ruby-line-breaking-002-ref.html": [
+ []
+ ],
+ "css/css-ruby/ruby-line-breaking-003-ref.html": [
+ []
+ ],
+ "css/css-ruby/ruby-no-transform-ref.html": [
+ []
+ ],
+ "css/css-ruby/ruby-span-001-ref.html": [
+ []
+ ],
+ "css/css-ruby/ruby-whitespace-001-ref.html": [
+ []
+ ],
+ "css/css-ruby/ruby-whitespace-002-ref.html": [
+ []
+ ],
+ "css/css-ruby/support/ruby-common.css": [
+ []
+ ],
+ "css/css-ruby/support/ruby-dynamic-insertion.js": [
+ []
+ ],
+ "css/css-ruby/support/ruby-dynamic-removal.js": [
+ []
+ ],
"css/css-scoping/META.yml": [
[]
],
@@ -362100,6 +362727,12 @@
{}
]
],
+ "html/rendering/replaced-elements/attributes-for-embedded-content-and-images/content-aspect-ratio.html": [
+ [
+ "html/rendering/replaced-elements/attributes-for-embedded-content-and-images/content-aspect-ratio.html",
+ {}
+ ]
+ ],
"html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-aspect-ratio.html": [
[
"html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-aspect-ratio.html",
@@ -460808,6 +461441,12 @@
{}
]
],
+ "css/css-ruby/ruby-reflow-001-noruby.html": [
+ [
+ "css/css-ruby/ruby-reflow-001-noruby.html",
+ {}
+ ]
+ ],
"css/css-sizing/intrinsic-percent-non-replaced-002.html": [
[
"css/css-sizing/intrinsic-percent-non-replaced-002.html",
@@ -593859,12 +594498,228 @@
"80f49f0dbcf3e3a76ba6f740243e19a5f627bfd2",
"visual"
],
+ "css/css-ruby/ruby-align-001-ref.html": [
+ "eb368b3ae6141ecfa12d57c4c1ed06f388b82b53",
+ "support"
+ ],
+ "css/css-ruby/ruby-align-001.html": [
+ "13c96f53f2f30ecef1a9017cd7f63159dfd9a6e7",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-align-001a.html": [
+ "6e652f172653867d8a9fce5930463fb7fd1832e5",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-align-002-ref.html": [
+ "4c5413aef719dd1e0b5ffb08cbde0a19119495cb",
+ "support"
+ ],
+ "css/css-ruby/ruby-align-002.html": [
+ "ec40be5e105b5e1e64802b56b465a5f3286a761b",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-align-002a.html": [
+ "dfb7ae37ed90232164728b0d47e2273a9e794b48",
+ "reftest"
+ ],
"css/css-ruby/ruby-base-different-size-ref.html": [
- "695ab1cdb7125ae75532a58027a361bd882348c4",
+ "70f47eaa8beb9f23197e2efb3bced5e8ecd0a754",
"support"
],
"css/css-ruby/ruby-base-different-size.html": [
- "dcfde6c16eab415d24c5c1f0404c982dc21a98d6",
+ "f71b5644c626b9835f5c9015c04badb626b336a1",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-bidi-001-ref.html": [
+ "c714921d32ea97dbda15537f11056ce4603dc732",
+ "support"
+ ],
+ "css/css-ruby/ruby-bidi-001.html": [
+ "ba18071150a71aa8dab724eb71f777c1b4825104",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-bidi-002-ref.html": [
+ "874284de998dd056ef74d26f106e88c0770eb4cc",
+ "support"
+ ],
+ "css/css-ruby/ruby-bidi-002.html": [
+ "d6692a333aefd75d600a136545addb100dcc9676",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-box-generation-001-ref.html": [
+ "8d836fe23c830d0aa815dc2291033615a62a0c81",
+ "support"
+ ],
+ "css/css-ruby/ruby-box-generation-001.html": [
+ "ac58d4d43ab966eb1ac57f56c826e309877cebac",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-box-generation-002-ref.html": [
+ "730ab787d30253e11dbe7070ba35a9114829f3a5",
+ "support"
+ ],
+ "css/css-ruby/ruby-box-generation-002.html": [
+ "e09ecf1eb252ea773164527e2a82eb0823c050f0",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-box-generation-003-ref.html": [
+ "e4c92a498bb61b48aabb1bbd21a3f4aef1632f5c",
+ "support"
+ ],
+ "css/css-ruby/ruby-box-generation-003.html": [
+ "6b975afdfbf18db4a8487c4421b4924ee7bf377d",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-box-generation-004-ref.html": [
+ "7a27622cac1600d7969856a0df0400b644c95d54",
+ "support"
+ ],
+ "css/css-ruby/ruby-box-generation-004.html": [
+ "0f6ed72d717a375b861fff1ff067b52c0c2aedcc",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-box-generation-005-ref.html": [
+ "55ba7b2c73faa017ec07203df3284c84667ffece",
+ "support"
+ ],
+ "css/css-ruby/ruby-box-generation-005.html": [
+ "c86b697bf9d6b2c145dcb0871234c48779e03887",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-dynamic-insertion-001-ref.html": [
+ "0a09924c653d80bfb69124ead3d65d6f2f8e411f",
+ "support"
+ ],
+ "css/css-ruby/ruby-dynamic-insertion-001.html": [
+ "be1c5ce50056ecd0ffb3699bd4e47f63c7c6c7bf",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-dynamic-insertion-002-ref.html": [
+ "cd85db944e36786e5b0fe18862dfca4f7d11bf3d",
+ "support"
+ ],
+ "css/css-ruby/ruby-dynamic-insertion-002.html": [
+ "c2a12a041958ce097c44f2d022e1da25b654fae3",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-dynamic-insertion-003-ref.html": [
+ "ef71525479d23fbc221529715b911f001b069899",
+ "support"
+ ],
+ "css/css-ruby/ruby-dynamic-insertion-003.html": [
+ "68984b5568ba969f8caae70e6c1abfbc33137b40",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-dynamic-insertion-004-ref.html": [
+ "9c8120ee3fa73ca360b67a9e57f2c6ace8455a95",
+ "support"
+ ],
+ "css/css-ruby/ruby-dynamic-insertion-004.html": [
+ "9b3c36e3ac88764d44c78b1ba516231a84c9e2d9",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-dynamic-insertion-005-ref.html": [
+ "03e5cabe55c7cfd55527a8a79190b8903915969f",
+ "support"
+ ],
+ "css/css-ruby/ruby-dynamic-insertion-005.html": [
+ "a684d665c8918f5b5b87b36fd6a7c469b7a1653d",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-dynamic-removal-001-ref.html": [
+ "23beda289871a98350d8d0584dd4d2526ee79826",
+ "support"
+ ],
+ "css/css-ruby/ruby-dynamic-removal-001.html": [
+ "090ea43c79a11f58908c481651132bc6a21c99f7",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-dynamic-removal-002-ref.html": [
+ "f9d2fd7240d12c5453f1a2c3553d48b3f5e2d969",
+ "support"
+ ],
+ "css/css-ruby/ruby-dynamic-removal-002.html": [
+ "76846e547bb555956256e3adcf8af8913a6ef397",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-dynamic-removal-003-ref.html": [
+ "0067c014f5d6663f17b6ed0bcbf9cc75452e740c",
+ "support"
+ ],
+ "css/css-ruby/ruby-dynamic-removal-003.html": [
+ "d35b2b968d651ecb7cc4d8a0e461b83f900ddcfc",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-float-handling-001-ref.html": [
+ "245a366172afddb3d8cde9e13b6f03ddb51dbfea",
+ "support"
+ ],
+ "css/css-ruby/ruby-float-handling-001.html": [
+ "5cb56e88aca36dce07fcdf17a690edc13ef8b375",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-intra-level-whitespace-001-ref.html": [
+ "1d9fbb344fd335316c63bdf8530c4be081694df0",
+ "support"
+ ],
+ "css/css-ruby/ruby-intra-level-whitespace-001.html": [
+ "4fceda1fb09b7923bb1eeb27e202e274e8168017",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-intra-level-whitespace-002-ref.html": [
+ "c5949dbeb504787dc27f3cce563796aac42c2d66",
+ "support"
+ ],
+ "css/css-ruby/ruby-intra-level-whitespace-002.html": [
+ "67aab53bfb0d0542da875db4abe9e7a6d0d4f6a5",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-intra-level-whitespace-003-ref.html": [
+ "d1df82371c9f910e713f040b502439de8601ddb3",
+ "support"
+ ],
+ "css/css-ruby/ruby-intra-level-whitespace-003.html": [
+ "716f2e3f0b4f2dbfeed1607272e308a5c1baf2fb",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-intrinsic-isize-001-ref.html": [
+ "9d2889f8116a36fd141faf871c32c4c9672b9a21",
+ "support"
+ ],
+ "css/css-ruby/ruby-intrinsic-isize-001.html": [
+ "84f48e2fc936155628c290bfa83006ef509aa0b7",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-intrinsic-isize-002-ref.html": [
+ "d71de26a259d7bc8784c207980676ac6eb0d5b8e",
+ "support"
+ ],
+ "css/css-ruby/ruby-intrinsic-isize-002.html": [
+ "741d41bec577bfe1aeb2e3e1e56a7973911f92bf",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-justification-001-ref.html": [
+ "eaec8897133ee0527aec706a7a9e1dccc4dcf914",
+ "support"
+ ],
+ "css/css-ruby/ruby-justification-001.html": [
+ "edef72874b6b564e0618eb9e795f863ee4cbf20b",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-justification-002-ref.html": [
+ "c61dae5c62d903323ac956b6d1d70a36bfd5889a",
+ "support"
+ ],
+ "css/css-ruby/ruby-justification-002.html": [
+ "979987c028baed8a7f6cd6de0c481b87ce9f2848",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-lang-specific-style-001-ref.html": [
+ "c0655a5310b183080e0afb259fb65546102d9bb1",
+ "support"
+ ],
+ "css/css-ruby/ruby-lang-specific-style-001.html": [
+ "3206514f0d44855d3a9376ecfa47a6e9c3b62775",
"reftest"
],
"css/css-ruby/ruby-layout-internal-boxes-ref.html": [
@@ -593875,6 +594730,126 @@
"cfd271233e20402a20d7e66d174d6b2f05072c4d",
"reftest"
],
+ "css/css-ruby/ruby-line-break-suppression-001-ref.html": [
+ "1cd43b80018e896085984d53e5c4d1267efd387c",
+ "support"
+ ],
+ "css/css-ruby/ruby-line-break-suppression-001.html": [
+ "11d4d40d43610fbcdbc8df580336eb1a41bfea22",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-line-break-suppression-002-ref.html": [
+ "8281ea1d74fa6c17f820cc4e6024fb742aa45049",
+ "support"
+ ],
+ "css/css-ruby/ruby-line-break-suppression-002.html": [
+ "394b9c27e536eb7dfc7e9b248f9b27d5b848af20",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-line-break-suppression-003-ref.html": [
+ "f8b1e168e11b48e32bb01a584636bb01eb9e392f",
+ "support"
+ ],
+ "css/css-ruby/ruby-line-break-suppression-003.html": [
+ "dadfd562a45ac49ad303ea232a04fa5fe5c66621",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-line-break-suppression-004-ref.html": [
+ "5aa55829574cd3f395b00262b81b6292906ba6ab",
+ "support"
+ ],
+ "css/css-ruby/ruby-line-break-suppression-004.html": [
+ "0314237f07f61c30fa562aa86c3142aaa8057a06",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-line-break-suppression-005-ref.html": [
+ "c40780e37dd9dcf8922f2fd389727525f5ab0e13",
+ "support"
+ ],
+ "css/css-ruby/ruby-line-break-suppression-005.html": [
+ "10d6690b3d8bbea027f250a3a0cfbbbf72da4c43",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-line-breaking-001-ref.html": [
+ "1f3031c59ad413d7fd93b8ce8393a70957e725d2",
+ "support"
+ ],
+ "css/css-ruby/ruby-line-breaking-001.html": [
+ "b6b4d861e21e241852bb97d1671a73d160089ccc",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-line-breaking-002-ref.html": [
+ "08510f7fb056ad928f40c92977c422b0912c7393",
+ "support"
+ ],
+ "css/css-ruby/ruby-line-breaking-002.html": [
+ "dddf41f9309abc3aa0535400a0cd967b97910cdc",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-line-breaking-003-ref.html": [
+ "4f3cecb27ce1f243030edae98fa4ea753a6894ad",
+ "support"
+ ],
+ "css/css-ruby/ruby-line-breaking-003.html": [
+ "27348d0cf11082e875506b9df6a56b0117538e65",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-no-transform-ref.html": [
+ "56afd9366fe787670771a82874f1016335f1b7c6",
+ "support"
+ ],
+ "css/css-ruby/ruby-no-transform.html": [
+ "1cdd4f3bbf5af81309805285a25622f7e444a3ee",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-reflow-001-noruby.html": [
+ "4c00573422b3954853965a3d86ad1464a53a244f",
+ "visual"
+ ],
+ "css/css-ruby/ruby-reflow-001-opaqueruby.html": [
+ "fe4a80423839f6167fa0e42315b6b814cc839b92",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-reflow-001-transparentruby.html": [
+ "3e7112c4d61397e74cd1d75519292f3ecca5e9ee",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-span-001-ref.html": [
+ "3bf873453cd8df2216cd0a318466464b0518e698",
+ "support"
+ ],
+ "css/css-ruby/ruby-span-001.html": [
+ "e7b19667aa9fdbbf25ef662036ed1c0babd8e0fc",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-whitespace-001-ref.html": [
+ "d24e207f8676d010cdfef2ddac1412833944faaf",
+ "support"
+ ],
+ "css/css-ruby/ruby-whitespace-001.html": [
+ "9df61585700777911c19e8336beed37827ce78d4",
+ "reftest"
+ ],
+ "css/css-ruby/ruby-whitespace-002-ref.html": [
+ "8aade20051630ee89d258916b1029a71d91ce0fb",
+ "support"
+ ],
+ "css/css-ruby/ruby-whitespace-002.html": [
+ "bc84919a123c0554d9a6f80bea7d78341eb6cafe",
+ "reftest"
+ ],
+ "css/css-ruby/support/ruby-common.css": [
+ "cf83123281dfa8896339138faab3c6196943832c",
+ "support"
+ ],
+ "css/css-ruby/support/ruby-dynamic-insertion.js": [
+ "0bf6cd969779db94866a58ab7b534d2f53a5b99a",
+ "support"
+ ],
+ "css/css-ruby/support/ruby-dynamic-removal.js": [
+ "c703e7601e4f3a84e7d7739baf5841e16a46e3f0",
+ "support"
+ ],
"css/css-scoping/META.yml": [
"826341652122a40956ccc74288e23f952f1f40e8",
"support"
@@ -658672,7 +659647,11 @@
"testharness"
],
"html/rendering/replaced-elements/attributes-for-embedded-content-and-images/canvas-aspect-ratio.html": [
- "1d231d52cde8b4758cf834db42231720c374b060",
+ "ab36eeede733f094d2e6340ddf6ce4d82d7a24d6",
+ "testharness"
+ ],
+ "html/rendering/replaced-elements/attributes-for-embedded-content-and-images/content-aspect-ratio.html": [
+ "42be8ce7a81b824f0e62553490ae406b6b736f9f",
"testharness"
],
"html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-aspect-ratio.html": [
@@ -716252,7 +717231,7 @@
"support"
],
"tools/wptrunner/wptrunner/manifestinclude.py": [
- "b3ab2c0776571ffe4ca49e599e0a898c4a7c79a3",
+ "79b5b19b3a3f617e5dd40118042da0b3ea8e4115",
"support"
],
"tools/wptrunner/wptrunner/manifestupdate.py": [
diff --git a/tests/wpt/metadata/css/cssom-view/CaretPosition-001.html.ini b/tests/wpt/metadata/css/cssom-view/CaretPosition-001.html.ini
new file mode 100644
index 00000000000..4c79907309b
--- /dev/null
+++ b/tests/wpt/metadata/css/cssom-view/CaretPosition-001.html.ini
@@ -0,0 +1,4 @@
+[CaretPosition-001.html]
+ [Element at (400, 100)]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/cssom-view/MediaQueryList-addListener-removeListener.html.ini b/tests/wpt/metadata/css/cssom-view/MediaQueryList-addListener-removeListener.html.ini
index 628b1fab770..c884dc82eab 100644
--- a/tests/wpt/metadata/css/cssom-view/MediaQueryList-addListener-removeListener.html.ini
+++ b/tests/wpt/metadata/css/cssom-view/MediaQueryList-addListener-removeListener.html.ini
@@ -2,3 +2,6 @@
[listeners are called when <iframe> is resized]
expected: FAIL
+ [listeners are called correct number of times]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini b/tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini
deleted file mode 100644
index e38782d8c85..00000000000
--- a/tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[elementFromPoint-001.html]
- [CSSOM View - 5 - extensions to the Document interface]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/fetch/content-type/response.window.js.ini b/tests/wpt/metadata/fetch/content-type/response.window.js.ini
index bd2b1f9e21b..b497c77e771 100644
--- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini
+++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini
@@ -315,12 +315,15 @@
[<iframe>: separate response Content-Type: text/html;" text/plain]
expected: FAIL
- [<iframe>: combined response Content-Type: text/html */*;charset=gbk]
+ [<iframe>: separate response Content-Type: text/html */*;charset=gbk]
expected: FAIL
- [<iframe>: separate response Content-Type: text/html;" \\" text/plain]
+ [<iframe>: separate response Content-Type: text/html */*]
expected: FAIL
- [<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
+ [<iframe>: separate response Content-Type: text/html;x=" text/plain]
+ expected: FAIL
+
+ [<iframe>: combined response Content-Type: text/html;x=" text/plain]
expected: FAIL
diff --git a/tests/wpt/metadata/fetch/content-type/script.window.js.ini b/tests/wpt/metadata/fetch/content-type/script.window.js.ini
index d2df9b78483..e67f0406fc3 100644
--- a/tests/wpt/metadata/fetch/content-type/script.window.js.ini
+++ b/tests/wpt/metadata/fetch/content-type/script.window.js.ini
@@ -53,6 +53,3 @@
[combined text/javascript ]
expected: FAIL
- [separate text/javascript x/x]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini b/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini
index 87c807a49ff..b7052af5b5c 100644
--- a/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini
+++ b/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini
@@ -11,3 +11,6 @@
[X-Content-Type-Options%3A%20nosniff%0C]
expected: FAIL
+ [X-Content-Type-Options%3A%0D%0AX-Content-Type-Options%3A%20nosniff]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/fetch/security/embedded-credentials.tentative.sub.html.ini b/tests/wpt/metadata/fetch/security/embedded-credentials.tentative.sub.html.ini
index 6bd06899fdd..80ebd73cb00 100644
--- a/tests/wpt/metadata/fetch/security/embedded-credentials.tentative.sub.html.ini
+++ b/tests/wpt/metadata/fetch/security/embedded-credentials.tentative.sub.html.ini
@@ -8,7 +8,7 @@
expected: FAIL
[Embedded credentials are treated as network errors in new windows.]
- expected: FAIL
+ expected: TIMEOUT
[Embedded credentials matching the top-level are treated as network errors for cross-origin URLs.]
expected: TIMEOUT
diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini
new file mode 100644
index 00000000000..385376c7321
--- /dev/null
+++ b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini
@@ -0,0 +1,4 @@
+[traverse_the_history_4.html]
+ [Multiple history traversals, last would be aborted]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/execution-timing/077.html.ini b/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/execution-timing/077.html.ini
new file mode 100644
index 00000000000..bcd2fd0eab8
--- /dev/null
+++ b/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/execution-timing/077.html.ini
@@ -0,0 +1,4 @@
+[077.html]
+ [ adding several types of scripts through the DOM and removing some of them confuses scheduler ]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini b/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini
index f584fce5df1..268949ced5c 100644
--- a/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini
+++ b/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini
@@ -1,5 +1,4 @@
[005.html]
- expected: ERROR
[dedicated worker in shared worker in dedicated worker]
expected: FAIL
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-align-001-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-align-001-ref.html
new file mode 100644
index 00000000000..eb368b3ae61
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-align-001-ref.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Tests for ruby-align</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="stylesheet" href="/fonts/ahem.css">
+<link rel="stylesheet" href="support/ruby-common.css">
+<style>
+ div { width: 160px; box-sizing: border-box; }
+</style>
+<body style="font: 16px/3 Ahem">
+<div>X X X</div>
+<div style="text-align: center">X X X</div>
+<div style="text-align-last: justify">X X X</div>
+<!-- 8px = (width: 160px - 5 * font-size: 16px) /
+ (1 + justification opportunities: 4) / 2 -->
+<div style="text-align-last: justify; padding: 0 8px">X X X</div>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-align-001.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-align-001.html
new file mode 100644
index 00000000000..13c96f53f2f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-align-001.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Tests for ruby-align</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#ruby-align-property">
+<link rel="match" href="ruby-align-001-ref.html">
+<link rel="stylesheet" href="/fonts/ahem.css">
+<link rel="stylesheet" href="support/ruby-common.css">
+<style>
+ ruby { line-height: 0; }
+ rt > div { width: 160px; }
+</style>
+<body style="font: 16px/3 Ahem">
+<ruby style="ruby-align: start">
+ <rb>X X X<rt><div></div></rt>
+</ruby><br>
+<ruby style="ruby-align: center">
+ <rb>X X X<rt><div></div></rt>
+</ruby><br>
+<ruby style="ruby-align: space-between">
+ <rb>X X X<rt><div></div></rt>
+</ruby><br>
+<ruby style="ruby-align: space-around">
+ <rb>X X X<rt><div></div></rt>
+</ruby>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-align-001a.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-align-001a.html
new file mode 100644
index 00000000000..6e652f17265
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-align-001a.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Tests for ruby-align</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#ruby-align-property">
+<link rel="match" href="ruby-align-001-ref.html">
+<link rel="stylesheet" href="/fonts/ahem.css">
+<link rel="stylesheet" href="support/ruby-common.css">
+<style>
+ ruby { line-height: 0; }
+ rt > div { width: 160px; }
+</style>
+<body style="font: 16px/3 Ahem">
+<ruby>
+ <rb style="ruby-align: start">X X X<rt><div></div></rt>
+</ruby><br>
+<ruby>
+ <rb style="ruby-align: center">X X X<rt><div></div></rt>
+</ruby><br>
+<ruby>
+ <rb style="ruby-align: space-between">X X X<rt><div></div></rt>
+</ruby><br>
+<ruby>
+ <rb style="ruby-align: space-around">X X X<rt><div></div></rt>
+</ruby>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-align-002-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-align-002-ref.html
new file mode 100644
index 00000000000..4c5413aef71
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-align-002-ref.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Tests for ruby-align</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="stylesheet" href="/fonts/ahem.css">
+<link rel="stylesheet" href="support/ruby-common.css">
+<style>
+ ruby { line-height: 0; }
+ rt { font-size: 100%; }
+ rt > div { width: 160px; box-sizing: border-box; }
+</style>
+<body style="font: 16px/3 Ahem">
+<ruby>
+ <rt><div>X X X</div></rt>
+</ruby><br>
+<ruby>
+ <rt><div style="text-align: center">X X X</div></rt>
+</ruby><br>
+<ruby>
+ <rt><div style="text-align-last: justify">X X X</div></rt>
+</ruby><br>
+<!-- 8px = (width: 160px - 5 * font-size: 16px) /
+ (1 + justification opportunities: 4) / 2 -->
+<ruby>
+ <rt><div style="text-align-last: justify; padding: 0 8px">X X X</div></rt>
+</ruby>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-align-002.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-align-002.html
new file mode 100644
index 00000000000..ec40be5e105
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-align-002.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Tests for ruby-align</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#ruby-align-property">
+<link rel="match" href="ruby-align-002-ref.html">
+<link rel="stylesheet" href="/fonts/ahem.css">
+<link rel="stylesheet" href="support/ruby-common.css">
+<style>
+ ruby { line-height: 0; }
+ rt { font-size: 100%; }
+ rb { font-size: 0; }
+ rb > div { width: 160px; }
+</style>
+<body style="font: 16px/3 Ahem">
+<ruby style="ruby-align: start">
+ <rb><div></div><rt>X X X</rt>
+</ruby><br>
+<ruby style="ruby-align: center">
+ <rb><div></div><rt>X X X</rt>
+</ruby><br>
+<ruby style="ruby-align: space-between">
+ <rb><div></div><rt>X X X</rt>
+</ruby><br>
+<ruby style="ruby-align: space-around">
+ <rb><div></div><rt>X X X</rt>
+</ruby>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-align-002a.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-align-002a.html
new file mode 100644
index 00000000000..dfb7ae37ed9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-align-002a.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Tests for ruby-align</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#ruby-align-property">
+<link rel="match" href="ruby-align-002-ref.html">
+<link rel="stylesheet" href="/fonts/ahem.css">
+<link rel="stylesheet" href="support/ruby-common.css">
+<style>
+ ruby { line-height: 0; }
+ rt { font-size: 100%; }
+ rb { font-size: 0; }
+ rb > div { width: 160px; }
+</style>
+<body style="font: 16px/3 Ahem">
+<ruby>
+ <rb><div></div><rt style="ruby-align: start">X X X</rt>
+</ruby><br>
+<ruby>
+ <rb><div></div><rt style="ruby-align: center">X X X</rt>
+</ruby><br>
+<ruby>
+ <rb><div></div><rt style="ruby-align: space-between">X X X</rt>
+</ruby><br>
+<ruby>
+ <rb><div></div><rt style="ruby-align: space-around">X X X</rt>
+</ruby>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-base-different-size-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-base-different-size-ref.html
index 695ab1cdb71..70f47eaa8be 100644
--- a/tests/wpt/web-platform-tests/css/css-ruby/ruby-base-different-size-ref.html
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-base-different-size-ref.html
@@ -3,6 +3,7 @@
<meta charset="UTF-8">
<title>CSS Ruby Reference</title>
<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
<link rel="stylesheet" href="/fonts/ahem.css">
<style>
body {
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-base-different-size.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-base-different-size.html
index dcfde6c16ea..f71b5644c62 100644
--- a/tests/wpt/web-platform-tests/css/css-ruby/ruby-base-different-size.html
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-base-different-size.html
@@ -3,6 +3,7 @@
<meta charset="UTF-8">
<title>CSS Ruby Test: sizing and positioning of ruby containers when size of ruby bases and the base container differ</title>
<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#ruby-layout">
<link rel="match" href="ruby-base-different-size-ref.html">
<link rel="stylesheet" href="/fonts/ahem.css">
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-bidi-001-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-bidi-001-ref.html
new file mode 100644
index 00000000000..c714921d32e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-bidi-001-ref.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Position of ruby annotation in RTL text</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<style>
+ body { color: transparent; }
+ rb { background: green; }
+ rtc { background: red; }
+ rt { background: cyan; }
+</style>
+<body style="text-align: right">
+ <ruby><rb>base<rtc><rt>text</ruby>
+</body>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-bidi-001.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-bidi-001.html
new file mode 100644
index 00000000000..ba18071150a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-bidi-001.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Position of ruby annotation in RTL text</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#bidi">
+<link rel="match" href="ruby-bidi-001-ref.html">
+<style>
+ body { color: transparent; }
+ rb { background: green; }
+ rtc { background: red; }
+ rt { background: cyan; }
+</style>
+<body dir="rtl">
+ <ruby><rb>base<rtc><rt>text</ruby>
+</body>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-bidi-002-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-bidi-002-ref.html
new file mode 100644
index 00000000000..874284de998
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-bidi-002-ref.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Bidi reordering of ruby</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="stylesheet" href="support/ruby-common.css">
+<style> rb { margin: 0 5px; } </style>
+<p>
+ <ruby>
+ <rb>base1</rb><rb>base2</rb>
+ <rt>text1</rt><rt>text2</rt>
+ <rb>base4</rb><rb>base3</rb>
+ <rt>text4</rt><rt>text3</rt>
+ </ruby>
+ <ruby>
+ <rb>base7</rb><rb>base8</rb>
+ <rt>text7</rt><rt>text8</rt>
+ <rb>base6</rb><rb>base5</rb>
+ <rt>text6</rt><rt>text5</rt>
+ </ruby>
+</p>
+<p style="text-align: right">
+ <ruby>
+ <rb>base5</rb><rb>base6</rb>
+ <rt>text5</rt><rt>text6</rt>
+ <rb>base8</rb><rb>base7</rb>
+ <rt>text8</rt><rt>text7</rt>
+ </ruby>
+ <ruby>
+ <rb>base3</rb><rb>base4</rb>
+ <rt>text3</rt><rt>text4</rt>
+ <rb>base2</rb><rb>base1</rb>
+ <rt>text2</rt><rt>text1</rt>
+ </ruby>
+</p>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-bidi-002.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-bidi-002.html
new file mode 100644
index 00000000000..d6692a333ae
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-bidi-002.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Bidi reordering of ruby</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#bidi">
+<link rel="match" href="ruby-bidi-002-ref.html">
+<link rel="stylesheet" href="support/ruby-common.css">
+<style> rb { margin: 0 5px; } </style>
+<p>
+ <ruby>
+ <rb>base1</rb><rb>base2</rb>
+ <rtc dir="rtl">
+ <rt>text1</rt><rt>text2</rt>
+ </rtc>
+ <rbc dir="rtl">
+ <rb>base3</rb><rb>base4</rb>
+ </rbc>
+ <rt>text3</rt><rt>text4</rt>
+ </ruby>
+ <ruby dir="rtl">
+ <rb>base5</rb><rb>base6</rb>
+ <rt>text5</rt><rt>text6</rt>
+ <rbc dir="ltr">
+ <rb>base7</rb><rb>base8</rb>
+ </rbc>
+ <rt>text7</rt><rt>text8</rt>
+ </ruby>
+</p>
+<p dir="rtl">
+ <ruby>
+ <rb>base1</rb><rb>base2</rb>
+ <rtc dir="ltr">
+ <rt>text1</rt><rt>text2</rt>
+ </rtc>
+ <rbc dir="ltr">
+ <rb>base3</rb><rb>base4</rb>
+ </rbc>
+ <rt>text3</rt><rt>text4</rt>
+ </ruby>
+ <ruby dir="ltr">
+ <rb>base5</rb><rb>base6</rb>
+ <rt>text5</rt><rt>text6</rt>
+ <rbc dir="rtl">
+ <rb>base7</rb><rb>base8</rb>
+ </rbc>
+ <rt>text7</rt><rt>text8</rt>
+ </ruby>
+</p>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-001-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-001-ref.html
new file mode 100644
index 00000000000..8d836fe23c8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-001-ref.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for pseudo ruby box generation</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="stylesheet" href="support/ruby-common.css">
+<body class="large">
+
+ <p>|<ruby><rbc><rb>a</rb><rb><span> </span></rb><rb>b</rb></rbc
+ ><rtc pseudo><rt>c</rt><rt pseudo><span> </span></rt><rt>d</rt></rtc><rbc><rb><span>
+ </span></rb></rbc><rbc><rb>e</rb></rbc
+ ><rbc><rb><span> </span></rb></rbc><rbc><rb>f</rb></rbc><rbc><rb><span>
+ </span></rb></rbc><rbc><rb>g</rb></rbc><rtc><rt>h</rt></rtc><rbc><rb><span>
+ </span></rb></rbc><rbc><rb>i</rb><rb><span> <span>j</span>
+ </span></rb></rbc><rtc pseudo><rt>k</rt></rtc><rbc><rb><span> <span>l</span>
+ </span></rb></rbc><rbc><rb>m</rb></rbc
+ ><rbc><rb><span> </span></rb></rbc><rbc><rb>n</rb></rbc
+ ><rtc><rt>o</rt></rtc><rtc><rt>p</rt></rtc><rbc><rb><span>
+ </span></rb></rbc><rbc><rb>q</rb></rbc><rtc pseudo><rt>r</rt></rtc
+ ><rtc><rt>s</rt></rtc><rtc pseudo><rt>t</rt></rtc><rbc><rb><span>
+ </span></rb></rbc><rbc><rb>u</rb></rbc><rbc><rb><span> <span>v</span>
+ <span>w</span> </span></rb></rbc><rtc><rt>x</rt></rtc><rbc><rb><span>
+ <span>y</span> </span></rb><rb>z</rb></rbc></ruby>|</p>
+
+ <p>|<span> </span><ruby><rbc><rb>a</rb><rb><span> </span></rb><rb>b</rb></rbc
+ ><rtc pseudo><rt>c</rt><rt pseudo><span> </span></rt><rt>d</rt></rtc><rbc><rb><span>
+ </span></rb></rbc><rbc><rb>e</rb></rbc
+ ><rbc><rb><span> </span></rb></rbc><rbc><rb>f</rb></rbc><rbc><rb><span>
+ </span></rb></rbc><rbc><rb>g</rb></rbc><rtc><rt>h</rt></rtc><rbc><rb><span>
+ </span></rb></rbc><rbc><rb>i</rb></rbc></ruby><span> <span>j</span>
+ </span><ruby><rbc></rbc><rtc pseudo><rt>k</rt></rtc></ruby><span> <span>l</span>
+ </span><ruby><rbc><rb>m</rb></rbc
+ ><rbc><rb><span> </span></rb></rbc><rbc><rb>n</rb></rbc
+ ><rtc><rt>o</rt></rtc><rtc><rt>p</rt></rtc><rbc><rb><span>
+ </span></rb></rbc><rbc><rb>q</rb></rbc><rtc pseudo><rt>r</rt></rtc
+ ><rtc><rt>s</rt></rtc><rtc pseudo><rt>t</rt></rtc><rbc><rb><span>
+ </span></rb></rbc><rbc><rb>u</rb></rbc></ruby><span> <span>v</span>
+ <span>w</span> </span><ruby><rbc></rbc><rtc><rt>x</rt></rtc></ruby><span>
+ <span>y</span> </span><ruby><rbc><rb>z</rb></rbc></ruby><span> </span>|</p>
+
+</body>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-001.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-001.html
new file mode 100644
index 00000000000..ac58d4d43ab
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-001.html
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for pseudo ruby box generation</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#box-fixup">
+<link rel="stylesheet" href="support/ruby-common.css">
+<link rel="match" href="ruby-box-generation-001-ref.html">
+<body class="large">
+
+ <!--
+ The tests are written in this way:
+ there are five different elements may appear in a ruby container: rb, rt,
+ rbc, rtc, and inline content.
+
+ In each test file, there are two parts: all elements are wrapped inside a
+ <ruby> in one part, they are directly contained by a <p> in the other part.
+
+ In each part, all permutations of pairs of two adjacent elements are
+ presented, so there are 5*5+1=26 elements.
+
+ The five test files share the same structure, but with different element
+ type order.
+ -->
+
+ <p>|<ruby>
+ <rb>a</rb> <rb>b</rb>
+ <rt>c</rt> <rt>d</rt>
+ <rb>e</rb> <rbc><rb>f</rb></rbc>
+ <rb>g</rb> <rtc><rt>h</rt></rtc>
+ <rb>i</rb> <span>j</span>
+ <rt>k</rt> <span>l</span>
+ <rbc><rb>m</rb></rbc> <rbc><rb>n</rb></rbc>
+ <rtc><rt>o</rt></rtc> <rtc><rt>p</rt></rtc>
+ <rbc><rb>q</rb></rbc> <rt>r</rt>
+ <rtc><rt>s</rt></rtc> <rt>t</rt>
+ <rbc><rb>u</rb></rbc> <span>v</span>
+ <span>w</span> <rtc><rt>x</rt></rtc>
+ <span>y</span> <rb>z</rb>
+ </ruby>|</p>
+
+ <p>| <rb>a</rb> <rb>b</rb>
+ <rt>c</rt> <rt>d</rt>
+ <rb>e</rb> <rbc><rb>f</rb></rbc>
+ <rb>g</rb> <rtc><rt>h</rt></rtc>
+ <rb>i</rb> <span>j</span>
+ <rt>k</rt> <span>l</span>
+ <rbc><rb>m</rb></rbc> <rbc><rb>n</rb></rbc>
+ <rtc><rt>o</rt></rtc> <rtc><rt>p</rt></rtc>
+ <rbc><rb>q</rb></rbc> <rt>r</rt>
+ <rtc><rt>s</rt></rtc> <rt>t</rt>
+ <rbc><rb>u</rb></rbc> <span>v</span>
+ <span>w</span> <rtc><rt>x</rt></rtc>
+ <span>y</span> <rb>z</rb> |</p>
+
+</body>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-002-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-002-ref.html
new file mode 100644
index 00000000000..730ab787d30
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-002-ref.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for pseudo ruby box generation</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="stylesheet" href="support/ruby-common.css">
+<body class="large">
+
+ <p>|<ruby><rbc></rbc
+ ><rtc pseudo><rt>a</rt><rt pseudo><span> </span></rt><rt>b</rt></rtc><rbc><rb><span>
+ </span></rb></rbc><rbc><rb>c</rb></rbc
+ ><rbc><rb><span> </span></rb></rbc><rbc><rb>d</rb></rbc
+ ><rtc pseudo><rt>e</rt></rtc><rtc><rt>f</rt></rtc
+ ><rtc pseudo><rt>g</rt></rtc><rbc><rb><span> h
+ </span></rb></rbc><rtc pseudo><rt>i</rt></rtc><rbc><rb><span> </span></rb></rbc
+ ><rbc><rb>j</rb></rbc><rbc><rb><span>
+ </span></rb></rbc><rbc><rb>k</rb></rbc><rbc><rb><span> </span></rb></rbc
+ ><rbc><rb>l</rb></rbc
+ ><rtc><rt>m</rt></rtc><rtc><rt>n</rt></rtc><rbc><rb><span>
+ o p
+ </span></rb></rbc><rtc><rt>q</rt></rtc><rbc><rb><span> </span></rb></rbc
+ ><rbc><rb>r</rb></rbc><rbc><rb><span>
+ s </span></rb></rbc><rbc><rb>t</rb></rbc
+ ><rtc><rt>u</rt></rtc><rbc><rb><span> </span></rb></rbc><rbc><rb>v</rb><rb><span>
+ </span></rb><rb>w</rb><rb><span> x
+ </span></rb><rb>y</rb></rbc><rtc pseudo><rt>z</rt></rtc></ruby>|</p>
+
+ <p>|<span> </span><ruby><rbc></rbc
+ ><rtc pseudo><rt>a</rt><rt pseudo><span> </span></rt><rt>b</rt></rtc><rbc><rb><span>
+ </span></rb></rbc><rbc><rb>c</rb></rbc
+ ><rbc><rb><span> </span></rb></rbc><rbc><rb>d</rb></rbc
+ ><rtc pseudo><rt>e</rt></rtc><rtc><rt>f</rt></rtc
+ ><rtc pseudo><rt>g</rt></rtc></ruby><span> h
+ </span><ruby><rbc></rbc><rtc pseudo><rt>i</rt></rtc
+ ><rbc><rb><span> </span></rb></rbc><rbc><rb>j</rb></rbc><rbc><rb><span>
+ </span></rb></rbc><rbc><rb>k</rb></rbc
+ ><rbc><rb><span> </span></rb></rbc><rbc><rb>l</rb></rbc
+ ><rtc><rt>m</rt></rtc><rtc><rt>n</rt></rtc></ruby><span>
+ o p
+ </span><ruby><rbc></rbc><rtc><rt>q</rt></rtc
+ ><rbc><rb><span> </span></rb></rbc><rbc><rb>r</rb></rbc></ruby><span>
+ s </span><ruby><rbc><rb>t</rb></rbc
+ ><rtc><rt>u</rt></rtc><rbc><rb><span> </span></rb></rbc><rbc><rb>v</rb><rb><span>
+ </span></rb><rb>w</rb></rbc></ruby><span> x
+ </span><ruby><rbc><rb>y</rb></rbc><rtc pseudo><rt>z</rt></rtc></ruby><span> </span>|</p>
+
+</body>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-002.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-002.html
new file mode 100644
index 00000000000..e09ecf1eb25
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-002.html
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for pseudo ruby box generation</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#box-fixup">
+<link rel="stylesheet" href="support/ruby-common.css">
+<link rel="match" href="ruby-box-generation-002-ref.html">
+<body class="large">
+
+ <!--
+ The tests are written in this way:
+ there are five different elements may appear in a ruby container: rb, rt,
+ rbc, rtc, and inline content.
+
+ In each test file, there are two parts: all elements are wrapped inside a
+ <ruby> in one part, they are directly contained by a <p> in the other part.
+
+ In each part, all permutations of pairs of two adjacent elements are
+ presented, so there are 5*5+1=26 elements.
+
+ The five test files share the same structure, but with different element
+ type order.
+ -->
+
+ <p>|<ruby>
+ <rt>a</rt> <rt>b</rt>
+ <rbc><rb>c</rb></rbc> <rbc><rb>d</rb></rbc>
+ <rt>e</rt> <rtc><rt>f</rt></rtc>
+ <rt>g</rt> <span>h</span>
+ <rt>i</rt> <rb>j</rb>
+ <rbc><rb>k</rb></rbc> <rb>l</rb>
+ <rtc><rt>m</rt></rtc> <rtc><rt>n</rt></rtc>
+ <span>o</span> <span>p</span>
+ <rtc><rt>q</rt></rtc> <rbc><rb>r</rb></rbc>
+ <span>s</span> <rbc><rb>t</rb></rbc>
+ <rtc><rt>u</rt></rtc> <rb>v</rb>
+ <rb>w</rb> <span>x</span>
+ <rb>y</rb> <rt>z</rt>
+ </ruby>|</p>
+
+ <p>| <rt>a</rt> <rt>b</rt>
+ <rbc><rb>c</rb></rbc> <rbc><rb>d</rb></rbc>
+ <rt>e</rt> <rtc><rt>f</rt></rtc>
+ <rt>g</rt> <span>h</span>
+ <rt>i</rt> <rb>j</rb>
+ <rbc><rb>k</rb></rbc> <rb>l</rb>
+ <rtc><rt>m</rt></rtc> <rtc><rt>n</rt></rtc>
+ <span>o</span> <span>p</span>
+ <rtc><rt>q</rt></rtc> <rbc><rb>r</rb></rbc>
+ <span>s</span> <rbc><rb>t</rb></rbc>
+ <rtc><rt>u</rt></rtc> <rb>v</rb>
+ <rb>w</rb> <span>x</span>
+ <rb>y</rb> <rt>z</rt> |</p>
+
+</body>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-003-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-003-ref.html
new file mode 100644
index 00000000000..e4c92a498bb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-003-ref.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for pseudo ruby box generation</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="stylesheet" href="support/ruby-common.css">
+<body class="large">
+
+ <p>|<ruby><rbc><rb>a</rb></rbc
+ ><rbc><rb><span> </span></rb></rbc><rbc><rb>b</rb></rbc
+ ><rtc><rt>c</rt></rtc><rtc><rt>d</rt></rtc><rbc><rb><span>
+ </span></rb></rbc><rbc><rb>e</rb></rbc><rbc><rb><span> <span>f</span>
+ </span></rb></rbc><rbc><rb>g</rb></rbc
+ ><rbc><rb><span> </span></rb></rbc><rbc><rb>h</rb></rbc><rbc><rb><span>
+ </span></rb></rbc><rbc><rb>i</rb></rbc><rtc pseudo><rt>j</rt></rtc
+ ><rtc><rt>k</rt></rtc><rtc pseudo><rt>l</rt></rtc><rbc><rb><span>
+ <span>m</span> <span>n</span>
+ </span></rb><rb>o</rb><rb><span> </span></rb><rb>p</rb><rb><span>
+ <span>q</span> </span></rb></rbc><rtc><rt>r</rt></rtc><rbc><rb><span>
+ </span></rb></rbc><rbc><rb>s</rb></rbc><rtc><rt>t</rt></rtc><rbc><rb><span>
+ <span>u</span> </span></rb></rbc><rtc pseudo><rt>v</rt><rt pseudo><span>
+ </span></rt><rt>w</rt></rtc><rbc><rb><span> </span></rb></rbc><rbc><rb>x</rb></rbc
+ ><rtc pseudo><rt>y</rt></rtc><rbc><rb><span> </span></rb></rbc><rbc><rb>z</rb></rbc
+ ></ruby>|</p>
+
+ <p>|<span> </span><ruby><rbc><rb>a</rb></rbc
+ ><rbc><rb><span> </span></rb></rbc><rbc><rb>b</rb></rbc
+ ><rtc><rt>c</rt></rtc><rtc><rt>d</rt></rtc><rbc><rb><span>
+ </span></rb></rbc><rbc><rb>e</rb></rbc></ruby><span> <span>f</span>
+ </span><ruby><rbc><rb>g</rb></rbc
+ ><rbc><rb><span> </span></rb></rbc><rbc><rb>h</rb></rbc><rbc><rb><span>
+ </span></rb></rbc><rbc><rb>i</rb></rbc><rtc pseudo><rt>j</rt></rtc
+ ><rtc><rt>k</rt></rtc><rtc pseudo><rt>l</rt></rtc></ruby><span>
+ <span>m</span> <span>n</span>
+ </span><ruby><rbc><rb>o</rb><rb><span> </span></rb><rb>p</rb></rbc></ruby><span>
+ <span>q</span> </span><ruby><rbc></rbc><rtc><rt>r</rt></rtc><rbc><rb><span>
+ </span></rb></rbc><rbc><rb>s</rb></rbc><rtc><rt>t</rt></rtc></ruby><span>
+ <span>u</span> </span><ruby><rbc></rbc><rtc pseudo><rt>v</rt><rt pseudo><span>
+ </span><rt>w</rt></rtc><rbc><rb><span> </span></rb></rbc><rbc><rb>x</rb></rbc
+ ><rtc pseudo><rt>y</rt></rtc><rbc><rb><span> </span></rb></rbc><rbc><rb>z</rb></rbc></ruby
+ ><span> </span>|</p>
+
+</body>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-003.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-003.html
new file mode 100644
index 00000000000..6b975afdfbf
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-003.html
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for pseudo ruby box generation</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#box-fixup">
+<link rel="stylesheet" href="support/ruby-common.css">
+<link rel="match" href="ruby-box-generation-003-ref.html">
+<body class="large">
+
+ <!--
+ The tests are written in this way:
+ there are five different elements may appear in a ruby container: rb, rt,
+ rbc, rtc, and inline content.
+
+ In each test file, there are two parts: all elements are wrapped inside a
+ <ruby> in one part, they are directly contained by a <p> in the other part.
+
+ In each part, all permutations of pairs of two adjacent elements are
+ presented, so there are 5*5+1=26 elements.
+
+ The five test files share the same structure, but with different element
+ type order.
+ -->
+
+ <p>|<ruby>
+ <rbc><rb>a</rb></rbc> <rbc><rb>b</rb></rbc>
+ <rtc><rt>c</rt></rtc> <rtc><rt>d</rt></rtc>
+ <rbc><rb>e</rb></rbc> <span>f</span>
+ <rbc><rb>g</rb></rbc> <rb>h</rb>
+ <rbc><rb>i</rb></rbc> <rt>j</rt>
+ <rtc><rt>k</rt></rtc> <rt>l</rt>
+ <span>m</span> <span>n</span>
+ <rb>o</rb> <rb>p</rb>
+ <span>q</span> <rtc><rt>r</rt></rtc>
+ <rb>s</rb> <rtc><rt>t</rt></rtc>
+ <span>u</span> <rt>v</rt>
+ <rt>w</rt> <rb>x</rb>
+ <rt>y</rt> <rbc><rb>z</rb></rbc>
+ </ruby>|</p>
+
+ <p>| <rbc><rb>a</rb></rbc> <rbc><rb>b</rb></rbc>
+ <rtc><rt>c</rt></rtc> <rtc><rt>d</rt></rtc>
+ <rbc><rb>e</rb></rbc> <span>f</span>
+ <rbc><rb>g</rb></rbc> <rb>h</rb>
+ <rbc><rb>i</rb></rbc> <rt>j</rt>
+ <rtc><rt>k</rt></rtc> <rt>l</rt>
+ <span>m</span> <span>n</span>
+ <rb>o</rb> <rb>p</rb>
+ <span>q</span> <rtc><rt>r</rt></rtc>
+ <rb>s</rb> <rtc><rt>t</rt></rtc>
+ <span>u</span> <rt>v</rt>
+ <rt>w</rt> <rb>x</rb>
+ <rt>y</rt> <rbc><rb>z</rb></rbc> |</p>
+
+</body>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-004-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-004-ref.html
new file mode 100644
index 00000000000..7a27622cac1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-004-ref.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for pseudo ruby box generation</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="stylesheet" href="support/ruby-common.css">
+<body class="large">
+
+ <p>|<ruby><rbc></rbc
+ ><rtc><rt>a</rt></rtc><rtc><rt>b</rt></rtc><rbc><rb><span>
+ <span>c</span> <span>d</span>
+ </span></rb></rbc><rtc><rt>e</rt></rtc
+ ><rbc><rb><span> </span></rb></rbc><rbc><rb>f</rb></rbc
+ ><rtc><rt>g</rt></rtc><rtc pseudo><rt>h</rt></rtc
+ ><rtc><rt>i</rt></rtc><rbc><rb><span> </span></rb></rbc
+ ><rbc><rb>j</rb></rbc><rbc><rb><span>
+ <span>k</span> </span></rb></rbc><rbc><rb>l</rb></rbc><rbc><rb><span>
+ </span></rb></rbc><rbc><rb>m</rb><rb><span> </span></rb><rb>n</rb></rbc
+ ><rtc pseudo><rt>o</rt><rt pseudo><span> </span></rt><rt>p</rt></rtc><rbc><rb><span>
+ </span></rb></rbc><rbc><rb>q</rb><rb><span> <span>r</span>
+ </span></rb></rbc><rtc pseudo><rt>s</rt></rtc><rbc><rb><span> <span>t</span>
+ </span></rb></rbc><rbc><rb>u</rb></rbc
+ ><rbc><rb><span> </span></rb></rbc><rbc><rb>v</rb></rbc><rbc><rb><span>
+ </span></rb></rbc><rbc><rb>w</rb></rbc><rtc pseudo><rt>x</rt></rtc><rbc><rb><span>
+ </span></rb></rbc><rbc><rb>y</rb></rbc><rtc><rt>z</rt></rtc
+ ></ruby>|</p>
+
+ <p>|<span> </span><ruby><rbc></rbc
+ ><rtc><rt>a</rt></rtc><rtc><rt>b</rt></rtc></ruby><span>
+ <span>c</span> <span>d</span>
+ </span><ruby><rbc></rbc><rtc><rt>e</rt></rtc
+ ><rbc><rb><span> </span></rb></rbc><rbc><rb>f</rb></rbc
+ ><rtc><rt>g</rt></rtc><rtc pseudo><rt>h</rt></rtc
+ ><rtc><rt>i</rt></rtc><rbc><rb><span> </span></rb></rbc
+ ><rbc><rb>j</rb></rbc></ruby><span>
+ <span>k</span> </span><ruby><rbc><rb>l</rb></rbc><rbc><rb><span>
+ </span></rb></rbc><rbc><rb>m</rb><rb><span> </span></rb><rb>n</rb></rbc
+ ><rtc pseudo><rt>o</rt><rt pseudo><span> </span></rt><rt>p</rt></rtc><rbc><rb><span>
+ </span></rb></rbc><rbc><rb>q</rb></rbc></ruby><span> <span>r</span>
+ </span><ruby><rbc></rbc><rtc pseudo><rt>s</rt></rtc></ruby><span> <span>t</span>
+ </span><ruby><rbc><rb>u</rb></rbc><rbc><rb><span> </span></rb></rbc
+ ><rbc><rb>v</rb></rbc><rbc><rb><span>
+ </span></rb></rbc><rbc><rb>w</rb></rbc><rtc pseudo><rt>x</rt></rtc><rbc><rb><span>
+ </span></rb></rbc><rbc><rb>y</rb></rbc><rtc><rt>z</rt></rtc></ruby
+ ><span> </span>|</p>
+
+</body>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-004.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-004.html
new file mode 100644
index 00000000000..0f6ed72d717
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-004.html
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for pseudo ruby box generation</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#box-fixup">
+<link rel="stylesheet" href="support/ruby-common.css">
+<link rel="match" href="ruby-box-generation-004-ref.html">
+<body class="large">
+
+ <!--
+ The tests are written in this way:
+ there are five different elements may appear in a ruby container: rb, rt,
+ rbc, rtc, and inline content.
+
+ In each test file, there are two parts: all elements are wrapped inside a
+ <ruby> in one part, they are directly contained by a <p> in the other part.
+
+ In each part, all permutations of pairs of two adjacent elements are
+ presented, so there are 5*5+1=26 elements.
+
+ The five test files share the same structure, but with different element
+ type order.
+ -->
+
+ <p>|<ruby>
+ <rtc><rt>a</rt></rtc> <rtc><rt>b</rt></rtc>
+ <span>c</span> <span>d</span>
+ <rtc><rt>e</rt></rtc> <rb>f</rb>
+ <rtc><rt>g</rt></rtc> <rt>h</rt>
+ <rtc><rt>i</rt></rtc> <rbc><rb>j</rb></rbc>
+ <span>k</span> <rbc><rb>l</rb></rbc>
+ <rb>m</rb> <rb>n</rb>
+ <rt>o</rt> <rt>p</rt>
+ <rb>q</rb> <span>r</span>
+ <rt>s</rt> <span>t</span>
+ <rb>u</rb> <rbc><rb>v</rb></rbc>
+ <rbc><rb>w</rb></rbc> <rt>x</rt>
+ <rbc><rb>y</rb></rbc> <rtc><rt>z</rt></rtc>
+ </ruby>|</p>
+
+ <p>| <rtc><rt>a</rt></rtc> <rtc><rt>b</rt></rtc>
+ <span>c</span> <span>d</span>
+ <rtc><rt>e</rt></rtc> <rb>f</rb>
+ <rtc><rt>g</rt></rtc> <rt>h</rt>
+ <rtc><rt>i</rt></rtc> <rbc><rb>j</rb></rbc>
+ <span>k</span> <rbc><rb>l</rb></rbc>
+ <rb>m</rb> <rb>n</rb>
+ <rt>o</rt> <rt>p</rt>
+ <rb>q</rb> <span>r</span>
+ <rt>s</rt> <span>t</span>
+ <rb>u</rb> <rbc><rb>v</rb></rbc>
+ <rbc><rb>w</rb></rbc> <rt>x</rt>
+ <rbc><rb>y</rb></rbc> <rtc><rt>z</rt></rtc> |</p>
+
+</body>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-005-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-005-ref.html
new file mode 100644
index 00000000000..55ba7b2c73f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-005-ref.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for pseudo ruby box generation</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="stylesheet" href="support/ruby-common.css">
+<body class="large">
+
+ <p>|<ruby><rbc><rb><span><span>a</span> <span>b</span>
+ </span></rb><rb>c</rb><rb><span> </span></rb><rb>d</rb><rb><span>
+ <span>e</span> </span></rb></rbc><rtc pseudo><rt>f</rt></rtc><rbc><rb><span>
+ <span>g</span> </span></rb></rbc><rbc><rb>h</rb></rbc><rbc><rb><span>
+ <span>i</span> </span></rb></rbc><rtc><rt>j</rt></rtc><rbc><rb><span>
+ </span></rb></rbc><rbc><rb>k</rb></rbc><rtc><rt>l</rt></rtc
+ ><rtc pseudo><rt>m</rt><rt pseudo><span> </span></rt><rt>n</rt></rtc><rbc><rb><span>
+ </span></rb></rbc><rbc><rb>o</rb></rbc
+ ><rbc><rb><span> </span></rb></rbc><rbc><rb>p</rb></rbc
+ ><rtc pseudo><rt>q</rt></rtc><rbc><rb><span> </span></rb></rbc
+ ><rbc><rb>r</rb></rbc><rbc><rb><span>
+ </span></rb></rbc><rbc><rb>s</rb></rbc><rbc><rb><span> </span></rb></rbc
+ ><rbc><rb>t</rb></rbc
+ ><rtc pseudo><rt>u</rt></rtc><rtc><rt>v</rt></rtc
+ ><rtc><rt>w</rt></rtc><rbc><rb><span> </span></rb></rbc><rbc><rb>x</rb></rbc
+ ><rtc><rt>y</rt></rtc><rbc><rb><span> <span>z</span></span></rb></rbc
+ ></ruby>|</p>
+
+ <p>|<span> <span>a</span> <span>b</span>
+ </span><ruby
+ ><rbc><rb>c</rb><rb><span> </span></rb><rb>d</rb></rbc></ruby><span>
+ <span>e</span> </span><ruby><rbc></rbc><rtc pseudo><rt>f</rt></rtc></ruby><span>
+ <span>g</span> </span><ruby><rbc><rb>h</rb></rbc></ruby><span>
+ <span>i</span> </span><ruby><rbc></rbc><rtc><rt>j</rt></rtc><rbc><rb><span>
+ </span></rb></rbc><rbc><rb>k</rb></rbc><rtc><rt>l</rt></rtc
+ ><rtc pseudo><rt>m</rt><rt pseudo><span> </span></rt><rt>n</rt></rtc><rbc><rb><span>
+ </span></rb></rbc><rbc><rb>o</rb></rbc
+ ><rbc><rb><span> </span></rb></rbc><rbc><rb>p</rb></rbc
+ ><rtc pseudo><rt>q</rt></rtc><rbc><rb><span> </span></rb></rbc
+ ><rbc><rb>r</rb></rbc><rbc><rb><span>
+ </span></rb></rbc><rbc><rb>s</rb></rbc><rbc><rb><span> </span></rb></rbc
+ ><rbc><rb>t</rb></rbc
+ ><rtc pseudo><rt>u</rt></rtc><rtc><rt>v</rt></rtc
+ ><rtc><rt>w</rt></rtc><rbc><rb><span> </span></rb></rbc><rbc><rb>x</rb></rbc
+ ><rtc><rt>y</rt></rtc></ruby><span> <span>z</span> </span>|</p>
+
+</body>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-005.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-005.html
new file mode 100644
index 00000000000..c86b697bf9d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-box-generation-005.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for pseudo ruby box generation</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#box-fixup">
+<link rel="stylesheet" href="support/ruby-common.css">
+<link rel="match" href="ruby-box-generation-005-ref.html">
+<body class="large">
+
+ <p>|<ruby>
+ <span>a</span> <span>b</span>
+ <rb>c</rb> <rb>d</rb>
+ <span>e</span> <rt>f</rt>
+ <span>g</span> <rbc><rb>h</rb></rbc>
+ <span>i</span> <rtc><rt>j</rt></rtc>
+ <rb>k</rb> <rtc><rt>l</rt></rtc>
+ <rt>m</rt> <rt>n</rt>
+ <rbc><rb>o</rb></rbc> <rbc><rb>p</rb></rbc>
+ <rt>q</rt> <rb>r</rb>
+ <rbc><rb>s</rb></rbc> <rb>t</rb>
+ <rt>u</rt> <rtc><rt>v</rt></rtc>
+ <rtc><rt>w</rt></rtc> <rbc><rb>x</rb></rbc>
+ <rtc><rt>y</rt></rtc> <span>z</span>
+ </ruby>|</p>
+
+ <p>| <span>a</span> <span>b</span>
+ <rb>c</rb> <rb>d</rb>
+ <span>e</span> <rt>f</rt>
+ <span>g</span> <rbc><rb>h</rb></rbc>
+ <span>i</span> <rtc><rt>j</rt></rtc>
+ <rb>k</rb> <rtc><rt>l</rt></rtc>
+ <rt>m</rt> <rt>n</rt>
+ <rbc><rb>o</rb></rbc> <rbc><rb>p</rb></rbc>
+ <rt>q</rt> <rb>r</rb>
+ <rbc><rb>s</rb></rbc> <rb>t</rb>
+ <rt>u</rt> <rtc><rt>v</rt></rtc>
+ <rtc><rt>w</rt></rtc> <rbc><rb>x</rb></rbc>
+ <rtc><rt>y</rt></rtc> <span>z</span> |</p>
+
+</body>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-001-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-001-ref.html
new file mode 100644
index 00000000000..0a09924c653
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-001-ref.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for dynamic insertion of ruby frames</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="stylesheet" href="support/ruby-common.css">
+
+<p>One space should exist between 'a' and 'b':</p>
+
+<p>a<rbc><rb></rb> <rb></rb></rbc>b</p>
+<p>a<ruby><rb></rb> <rb></rb></ruby>b</p>
+<p>a<ruby><rbc></rbc> <rbc></rbc></ruby>b</p>
+<p>a<rtc><rt></rt> <rt></rt></rtc>b</p>
+<p>a<ruby><rt></rt> <rt></rt></ruby>b</p>
+
+<p>a<rbc><rb></rb> <rb></rb></rbc>b</p>
+<p>a<ruby><rb></rb> <rb></rb></ruby>b</p>
+<p>a<ruby><rbc></rbc> <rbc></rbc></ruby>b</p>
+<p>a<rtc><rt></rt> <rt></rt></rtc>b</p>
+<p>a<ruby><rt></rt> <rt></rt></ruby>b</p>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-001.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-001.html
new file mode 100644
index 00000000000..be1c5ce5005
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-001.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for dynamic insertion of ruby frames</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#box-fixup">
+<link rel="match" href="ruby-dynamic-insertion-001-ref.html">
+<link rel="stylesheet" href="support/ruby-common.css">
+<script src="support/ruby-dynamic-insertion.js"></script>
+<p>One space should exist between 'a' and 'b':</p>
+
+<!-- leading white space -->
+<!-- => inter-base white space -->
+<p>a<rbc data-insert="start" data-tag="rb"> <rb></rb></rbc>b</p>
+<p>a<ruby data-insert="start" data-tag="rb"> <rb></rb></ruby>b</p>
+<!-- => inter-segment white space -->
+<p>a<ruby data-insert="start" data-tag="rbc"> <rbc></rbc></ruby>b</p>
+<!-- => inter-annotation white space -->
+<p>a<rtc data-insert="start" data-tag="rt"> <rt></rt></rtc>b</p>
+<p>a<ruby data-insert="start" data-tag="rt"> <rt></rt></ruby>b</p>
+
+<!-- trailing white space -->
+<!-- => inter-base white space -->
+<p>a<rbc data-insert="end" data-tag="rb"><rb></rb> </rbc>b</p>
+<p>a<ruby data-insert="end" data-tag="rb"><rb></rb> </ruby>b</p>
+<!-- => inter-segment white space -->
+<p>a<ruby data-insert="end" data-tag="rbc"><rbc></rbc> </ruby>b</p>
+<!-- => inter-annotation white space -->
+<p>a<rtc data-insert="end" data-tag="rt"><rt></rt> </rtc>b</p>
+<p>a<ruby data-insert="end" data-tag="rt"><rt></rt> </ruby>b</p>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-002-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-002-ref.html
new file mode 100644
index 00000000000..cd85db944e3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-002-ref.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for dynamic insertion of ruby frames</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="stylesheet" href="support/ruby-common.css">
+
+<p>One space should exist between 'a' and 'b':</p>
+
+<p>a<rb></rb><span></span> <rt></rt>b</p>
+<p>a<rb></rb> <span></span><rt></rt>b</p>
+<p>a<rb></rb> <rb></rb><rt></rt>b</p>
+<p>a<rt></rt><rb></rb> <rb></rb>b</p>
+<p>a<rbc></rbc> <rbc></rbc><rt></rt>b</p>
+<p>a<rb></rb><rt></rt> <rt></rt>b</p>
+<p>a<rt></rt> <rt></rt><rb></rb>b</p>
+
+<p>a<rb></rb> <rb></rb>b</p>
+<p>a<rbc></rbc> <rbc></rbc>b</p>
+<p>a<rt></rt> <rt></rt>b</p>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-002.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-002.html
new file mode 100644
index 00000000000..c2a12a04195
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-002.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for dynamic insertion of ruby frames</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#box-fixup">
+<link rel="match" href="ruby-dynamic-insertion-002-ref.html">
+<link rel="stylesheet" href="support/ruby-common.css">
+<script src="support/ruby-dynamic-insertion.js"></script>
+<p>One space should exist between 'a' and 'b':</p>
+
+<!-- inter-level white space -->
+<!-- => normal white space -->
+<p>a<rb data-insert="after" data-tag="span"></rb> <rt></rt>b</p>
+<p>a<rb></rb> <rt data-insert="before" data-tag="span"></rt>b</p>
+<!-- => inter-base white space -->
+<p>a<rb></rb> <rt data-insert="before" data-tag="rb"></rt>b</p>
+<p>a<rt data-insert="after" data-tag="rb"></rt> <rb></rb>b</p>
+<!-- => inter-segment white space -->
+<p>a<rbc></rbc> <rt data-insert="before" data-tag="rbc"></rt>b</p>
+<!-- => inter-annotation white space -->
+<p>a<rb data-insert="after" data-tag="rt"></rb> <rt></rt>b</p>
+<p>a<rt></rt> <rb data-insert="before" data-tag="rt"></rb>b</p>
+
+<!-- insert white space -->
+<!-- inter-base white space -->
+<p>a<rb data-insert="after" data-text=" "></rb><rb></rb>b</p>
+<!-- inter-segment white space -->
+<p>a<rbc data-insert="after" data-text=" "></rbc><rbc></rbc>b</p>
+<!-- inter-annotation white space -->
+<p>a<rt data-insert="after" data-text=" "></rt><rt></rt>b</p>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-003-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-003-ref.html
new file mode 100644
index 00000000000..ef71525479d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-003-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for dynamic insertion of ruby frames</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="stylesheet" href="support/ruby-common.css">
+<p>No space should exist between 'a' and 'b':</p>
+
+<p><span>a</span><rb></rb> <rt></rt>b</p>
+<p>a<rb></rb> <rt></rt><span>b</span></p>
+<p>a<rb></rb> <rt></rt><rb></rb>b</p>
+<p>a<rbc></rbc> <rt></rt><rb></rb>b</p>
+<p>a<rt></rt><rb></rb> <rt></rt>b</p>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-003.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-003.html
new file mode 100644
index 00000000000..68984b5568b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-003.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for dynamic insertion of ruby frames</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#box-fixup">
+<link rel="match" href="ruby-dynamic-insertion-003-ref.html">
+<link rel="stylesheet" href="support/ruby-common.css">
+<script src="support/ruby-dynamic-insertion.js"></script>
+<p>No space should exist between 'a' and 'b':</p>
+
+<!-- inter-level white space -->
+<!-- <= normal white space -->
+<p><span data-insert="after" data-tag="rb">a</span> <rt></rt>b</p>
+<p>a<rb></rb> <span data-insert="before" data-tag="rt">b</span></p>
+<!-- <= inter-base white space -->
+<p>a<rb></rb> <rb data-insert="before" data-tag="rt"></rb>b</p>
+<!-- <= inter-segment white space -->
+<p>a<rbc></rbc> <rb data-insert="before" data-tag="rt"></rb>b</p>
+<!-- <= inter-annotation white space -->
+<p>a<rt data-insert="after" data-tag="rb"></rt> <rt></rt>b</p>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-004-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-004-ref.html
new file mode 100644
index 00000000000..9c8120ee3fa
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-004-ref.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for dynamic insertion of ruby frames</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="stylesheet" href="support/ruby-common.css">
+<p>No space should exist between 'a' and 'b':</p>
+
+<p>a<ruby> <rb></rb></ruby>b</p>
+<p>a<rbc> <rb></rb></rbc>b</p>
+<p>a<rtc> <rt></rt></rtc>b</p>
+<p>a<ruby><rb></rb> </ruby>b</p>
+<p>a<rbc><rb></rb> </rbc>b</p>
+<p>a<rtc><rt></rt> </rtc>b</p>
+<p>a<rb></rb> <rt></rt>b</p>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-004.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-004.html
new file mode 100644
index 00000000000..9b3c36e3ac8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-004.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for dynamic insertion of ruby frames</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#box-fixup">
+<link rel="match" href="ruby-dynamic-insertion-004-ref.html">
+<link rel="stylesheet" href="support/ruby-common.css">
+<script src="support/ruby-dynamic-insertion.js"></script>
+<p>No space should exist between 'a' and 'b':</p>
+
+<!-- insert white space -->
+<!-- leading white space -->
+<p>a<ruby data-insert="start" data-text=" "><rb></rb></ruby>b</p>
+<p>a<rbc data-insert="start" data-text=" "><rb></rb></rbc>b</p>
+<p>a<rtc data-insert="start" data-text=" "><rt></rt></rtc>b</p>
+<!-- trailing white space -->
+<p>a<ruby data-insert="end" data-text=" "><rb></rb></ruby>b</p>
+<p>a<rbc data-insert="end" data-text=" "><rb></rb></rbc>b</p>
+<p>a<rtc data-insert="end" data-text=" "><rt></rt></rtc>b</p>
+<!-- inter-level white space -->
+<p>a<rb data-insert="after" data-text=" "></rb><rt></rt>b</p>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-005-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-005-ref.html
new file mode 100644
index 00000000000..03e5cabe55c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-005-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for dynamic insertion of ruby frames</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="stylesheet" href="support/ruby-common.css">
+<p>'a' and 'b' should be paired with 'x' and 'y' respectively:</p>
+
+<p><rb></rb><span></span><rb>a</rb><rb>b</rb><rt>x</rt><rt>y</rt></p>
+<p><rb></rb><rt></rt><rb>a</rb><rb>b</rb><rt>x</rt><rt>y</rt></p>
+<p><rb>a</rb><rt>x</rt><rb>b</rb><rt>y</rt></p>
+<p><rbc><span>a</span><rb></rb>b</rbc><rt>x</rt><rt></rt><rt>y</rt></p>
+<p><rb>a</rb><rb></rb><rb>b</rb><rtc><span>x</span><rt></rt>y</rtc></p>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-005.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-005.html
new file mode 100644
index 00000000000..a684d665c89
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-insertion-005.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for dynamic insertion of ruby frames</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#box-fixup">
+<link rel="match" href="ruby-dynamic-insertion-005-ref.html">
+<link rel="stylesheet" href="support/ruby-common.css">
+<script src="support/ruby-dynamic-insertion.js"></script>
+<p>'a' and 'b' should be paired with 'x' and 'y' respectively:</p>
+
+<!-- split -->
+<!-- pseudo ruby -->
+<p><rb data-insert="after" data-tag="span"></rb><rb>a</rb><rb>b</rb><rt>x</rt><rt>y</rt></p>
+<!-- pseudo ruby base container -->
+<p><rb data-insert="after" data-tag="rt"></rb><rb>a</rb><rb>b</rb><rt>x</rt><rt>y</rt></p>
+<!-- pseudo ruby text container -->
+<p><rb>a</rb><rt data-insert="after" data-tag="rb" data-text="b">x</rt><rt>y</rt></p>
+<!-- pseudo ruby base -->
+<p><rbc><span data-insert="after" data-tag="rb">a</span>b</rbc><rt>x</rt><rt></rt><rt>y</rt></p>
+<!-- pseudo ruby text -->
+<p><rb>a</rb><rb></rb><rb>b</rb><rtc><span data-insert="after" data-tag="rt">x</span>y</rtc></p>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-removal-001-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-removal-001-ref.html
new file mode 100644
index 00000000000..23beda28987
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-removal-001-ref.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for dynamic removal of ruby frames</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="stylesheet" href="support/ruby-common.css">
+<p>No space should exist between 'a' and 'b':</p>
+
+<p>a<ruby> <rb></rb></ruby>b</p>
+<p>a<ruby><rb></rb> </ruby>b</p>
+<p>a<ruby><rb></rb> <rt></rt></ruby>b</p>
+
+<p>a<ruby> <rbc></rbc></ruby>b</p>
+<p>a<ruby><rbc></rbc> </ruby>b</p>
+<p>a<rbc></rbc> <rtc></rtc>b</p>
+
+<p><rb>a</rb><rb>b</rb><rtc> <rt>x</rt></rtc></p>
+<p><rb>a</rb><rb>b</rb><rtc><rt>x</rt> </rtc></p>
+<p><rb>a</rb><rb>b</rb> <rt>x</rt></p>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-removal-001.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-removal-001.html
new file mode 100644
index 00000000000..090ea43c79a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-removal-001.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for dynamic removal of ruby frames</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#box-fixup">
+<link rel="match" href="ruby-dynamic-removal-001-ref.html">
+<link rel="stylesheet" href="support/ruby-common.css">
+<script src="support/ruby-dynamic-removal.js"></script>
+<p>No space should exist between 'a' and 'b':</p>
+
+<!-- inter-base white space -->
+<!-- => leading white space -->
+<p>a<ruby><rb class="remove"></rb> <rb></rb></ruby>b</p>
+<!-- => trailing white space -->
+<p>a<ruby><rb></rb> <rb class="remove"></rb></ruby>b</p>
+<!-- => inter-level white space -->
+<p>a<ruby><rb></rb> <rb class="remove"></rb><rt></rt></ruby>b</p>
+
+<!-- inter-segment white space -->
+<!-- => leading white space -->
+<p>a<ruby><rbc class="remove"></rbc> <rbc></rbc></ruby>b</p>
+<!-- => trailing white space -->
+<p>a<ruby><rbc></rbc> <rbc class="remove"></rbc></ruby>b</p>
+<!-- => inter-level white space -->
+<p>a<rbc></rbc> <rbc class="remove"></rbc><rtc></rtc>b</p>
+
+<!-- inter-annotation white space -->
+<!-- => leading white space -->
+<p><rb>a</rb><rb>b</rb><rtc><rt class="remove"></rt> <rt>x</rt></rtc></p>
+<!-- => trailing white space -->
+<p><rb>a</rb><rb>b</rb><rtc><rt>x</rt> <rt class="remove"></rt></rtc></p>
+<!-- => inter-level white space -->
+<p><rb>a</rb><rb>b</rb><rt class="remove"></rt> <rt>x</rt></p>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-removal-002-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-removal-002-ref.html
new file mode 100644
index 00000000000..f9d2fd7240d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-removal-002-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for dynamic removal of ruby frames</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="stylesheet" href="support/ruby-common.css">
+<p>One space should exist between 'a' and 'b':</p>
+
+<p>a <rt></rt>b</p>
+<p>a<rb></rb> b</p>
+<p>a<rb></rb> <rb></rb>b</p>
+<p>a<rbc></rbc> <rbc></rbc>b</p>
+<p><rb>a</rb> <rb>b</rb><rt>x</rt> <rt>y</rt></p>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-removal-002.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-removal-002.html
new file mode 100644
index 00000000000..76846e547bb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-removal-002.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for dynamic removal of ruby frames</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#box-fixup">
+<link rel="match" href="ruby-dynamic-removal-002-ref.html">
+<link rel="stylesheet" href="support/ruby-common.css">
+<script src="support/ruby-dynamic-removal.js"></script>
+<p>One space should exist between 'a' and 'b':</p>
+
+<!-- inter-level white space -->
+<!-- => normal white space -->
+<p>a<rb class="remove"></rb> <rt></rt>b</p>
+<p>a<rb></rb> <rt class="remove"></rt>b</p>
+<!-- => inter-base white space -->
+<p>a<rb></rb> <rt class="remove"></rt><rb></rb>b</p>
+<!-- => inter-segment white space -->
+<p>a<rbc></rbc> <rtc class="remove"></rtc><rbc></rbc>b</p>
+<!-- => inter-annotation white space -->
+<p><rb>a</rb> <rb>b</rb><rt>x</rt><rb class="remove"></rb> <rt>y</rt></p>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-removal-003-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-removal-003-ref.html
new file mode 100644
index 00000000000..0067c014f5d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-removal-003-ref.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for dynamic removal of ruby frames</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="stylesheet" href="support/ruby-common.css">
+<p>'a' and 'b' should be paired with 'x' and 'y' respectively:</p>
+
+
+<p><rb>a</rb><rb>b</rb><rt>x</rt><rt>y</rt></p>
+<p><rb>a</rb><rb>b</rb><rt>x</rt><rt>y</rt></p>
+<p><rb>a</rb><rb>b</rb><rt>x</rt><rt>y</rt></p>
+
+<p><rb>a</rb><rb>b</rb><rt>x</rt><rt>y</rt></p>
+<p><rb>a</rb><rb>b</rb><rt>x</rt><rt>y</rt></p>
+
+<p>'ab' should be paried with 'xy':</p>
+
+<p><rbc>ab</rbc><rt>xy</rt></p>
+<p><rb>ab</rb><rtc style="letter-spacing: 1px">xy</rtc></p>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-removal-003.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-removal-003.html
new file mode 100644
index 00000000000..d35b2b968d6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-dynamic-removal-003.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for dynamic removal of ruby frames</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#box-fixup">
+<link rel="match" href="ruby-dynamic-removal-003-ref.html">
+<link rel="stylesheet" href="support/ruby-common.css">
+<script src="support/ruby-dynamic-removal.js"></script>
+<p>'a' and 'b' should be paired with 'x' and 'y' respectively:</p>
+
+<!-- merge -->
+<!-- pseudo ruby -->
+<p><rb>a</rb><span class="remove"></span><rb>b</rb><rt>x</rt><rt>y</rt></p>
+<!-- pseudo ruby base container -->
+<p><rb>a</rb><rt class="remove"></rt><rb>b</rb><rt>x</rt><rt>y</rt></p>
+<!-- pseudo ruby text container -->
+<p><rb>a</rb><rb>b</rb><rt>x</rt><rb class="remove"></rb><rt>y</rt></p>
+
+<!-- white space removal -->
+<!-- inter-base white space -->
+<p><rb class="remove-after">a</rb> <rb>b</rb><rt>x</rt><rt>y</rt></p>
+<!-- inter-annotation white space -->
+<p><rb>a</rb><rb>b</rb><rt class="remove-after">x</rt> <rt>y</rt></p>
+
+<p>'ab' should be paried with 'xy':</p>
+
+<!-- merge -->
+<!-- pseudo ruby base -->
+<p><rbc>a<rb class="remove"></rb>b</rbc><rt>xy</rt></p>
+<!-- pseudo ruby text -->
+<!-- letter-spacing is added here to avoid fuzzy on Windows. See bug 1111891 -->
+<p><rb>ab</rb><rtc style="letter-spacing: 1px">x<rt class="remove"></rt>y</rtc></p>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-float-handling-001-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-float-handling-001-ref.html
new file mode 100644
index 00000000000..245a366172a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-float-handling-001-ref.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for float handling in ruby</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="stylesheet" href="support/ruby-common.css">
+<style>
+ ruby div {
+ width: 10px; height: 10px;
+ background-color: grey;
+ margin: 2px;
+ }
+ .left { float: left; }
+ .right { float: right; }
+</style>
+<div><ruby><rb><div class="left"></div>HELLO WORLD</rb><rt>hello world</rt></ruby></div>
+<div><ruby><rb><div class="left"></div>HELLO WORLD</rb><rt>hello world</rt></ruby></div>
+<div><ruby><rb><div class="right"></div>HELLO WORLD</rb><rt>hello world</rt></ruby></div>
+<div><ruby><rb><div class="right"></div>HELLO WORLD</rb><rt>hello world</rt></ruby></div>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-float-handling-001.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-float-handling-001.html
new file mode 100644
index 00000000000..5cb56e88aca
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-float-handling-001.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for float handling in ruby</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#formatting-context">
+<link rel="match" href="ruby-float-handling-001-ref.html">
+<link rel="stylesheet" href="support/ruby-common.css">
+<style>
+ ruby div {
+ width: 10px; height: 10px;
+ background-color: grey;
+ margin: 2px;
+ }
+ .left { float: left; }
+ .right { float: right; }
+</style>
+<div><ruby><rb>HELLO WORLD</rb><rt><div class="left"></div>hello world</rt></ruby></div>
+<div><ruby><rb>HELLO WORLD</rb><rt>hello<div class="left"></div> world</rt></ruby></div>
+<div><ruby><rb>HELLO WORLD</rb><rt><div class="right"></div>hello world</rt></ruby></div>
+<div><ruby><rb>HELLO WORLD</rb><rt>hello<div class="right"></div> world</rt></ruby></div>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-intra-level-whitespace-001-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-intra-level-whitespace-001-ref.html
new file mode 100644
index 00000000000..1d9fbb344fd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-intra-level-whitespace-001-ref.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Intra-level whitespace pairing</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="stylesheet" href="support/ruby-common.css">
+<p><ruby>
+ <rb>a</rb><rb pseudo><span> </span></rb><rb>b</rb>
+ <rt>x</rt><rt pseudo><span> </span></rt><rt>y</rt>
+</ruby></p>
+<p><ruby>
+ <rb>a</rb><rb pseudo><span> </span></rb><rb>b</rb>
+ <rt>x</rt><rt></rt><rt>y</rt>
+</ruby></p>
+<p><ruby>
+ <rb>a</rb><rb pseudo></rb><rb>b</rb>
+ <rt>x</rt><rt pseudo><span> </span></rt><rt>y</rt>
+</ruby></p>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-intra-level-whitespace-001.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-intra-level-whitespace-001.html
new file mode 100644
index 00000000000..4fceda1fb09
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-intra-level-whitespace-001.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Intra-level whitespace pairing</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#ruby-pairing">
+<link rel="match" href="ruby-intra-level-whitespace-001-ref.html">
+<link rel="stylesheet" href="support/ruby-common.css">
+<p><ruby>
+ <rb>a</rb> <rb>b</rb>
+ <rt>x</rt> <rt>y</rt>
+</ruby></p>
+<p><ruby>
+ <rb>a</rb> <rb>b</rb>
+ <rt>x</rt><rt>y</rt>
+</ruby></p>
+<p><ruby>
+ <rb>a</rb><rb>b</rb>
+ <rt>x</rt> <rt>y</rt>
+</ruby></p>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-intra-level-whitespace-002-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-intra-level-whitespace-002-ref.html
new file mode 100644
index 00000000000..c5949dbeb50
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-intra-level-whitespace-002-ref.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Intra-level whitespace pairing</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="stylesheet" href="support/ruby-common.css">
+<style>
+ body { font-family: monospace; }
+ .container { border: 1px solid blue; margin: 20px; }
+</style>
+<style id="style"></style>
+<span id="ref1">12345</span> <span id="ref2">12345 67890</span>
+<div class="container"><ruby><rb>12345</rb> <rb>67890</rb><rt>09876</rt><rt>54321</rt></ruby></div>
+<div class="container"><ruby><rb>12345</rb><rb>67890</rb><rt>09876</rt> <rt>54321</rt></ruby></div>
+<div class="container"><ruby><rb>12345</rb> <rb>67890</rb><rt>09876</rt> <rt>54321</rt></ruby></div>
+<script type="text/javascript">
+ var ref2 = document.getElementById('ref2');
+ var style = document.getElementById('style');
+ var width2 = ref2.getBoundingClientRect().width + 'px';
+ // This is the same as the script in the corresponding
+ // testcase, except that here we skip the intermediate
+ // size and jump straight to the final size.
+ style.textContent = '.container { width: ' + width2 + '; }';
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-intra-level-whitespace-002.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-intra-level-whitespace-002.html
new file mode 100644
index 00000000000..67aab53bfb0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-intra-level-whitespace-002.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Intra-level whitespace pairing</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#ruby-pairing">
+<link rel="match" href="ruby-intra-level-whitespace-002-ref.html">
+<link rel="stylesheet" href="support/ruby-common.css">
+<style>
+ body { font-family: monospace; }
+ .container { border: 1px solid blue; margin: 20px; }
+</style>
+<style id="style"></style>
+<span id="ref1">12345</span> <span id="ref2">12345 67890</span>
+<div class="container"><ruby><rb>12345</rb> <rb>67890</rb><rt>09876</rt><rt>54321</rt></ruby></div>
+<div class="container"><ruby><rb>12345</rb><rb>67890</rb><rt>09876</rt> <rt>54321</rt></ruby></div>
+<div class="container"><ruby><rb>12345</rb> <rb>67890</rb><rt>09876</rt> <rt>54321</rt></ruby></div>
+<script type="text/javascript">
+ var ref1 = document.getElementById('ref1');
+ var ref2 = document.getElementById('ref2');
+ var style = document.getElementById('style');
+ var width1 = ref1.getBoundingClientRect().width + 'px';
+ var width2 = ref2.getBoundingClientRect().width + 'px';
+ // It changes the width of the containers to test incremental
+ // layout with intra-level whitespace columns being pushed and
+ // pulled up across a line-break.
+ style.textContent = '.container { width: ' + width1 + '; }';
+ document.body.offsetHeight; // force reflow
+ style.textContent = '.container { width: ' + width2 + '; }';
+ document.body.offsetHeight; // force reflow
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-intra-level-whitespace-003-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-intra-level-whitespace-003-ref.html
new file mode 100644
index 00000000000..d1df82371c9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-intra-level-whitespace-003-ref.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Intra-level whitespace pairing</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="stylesheet" href="support/ruby-common.css">
+|<ruby>
+ <rbc><rb>before</rb><rb>base</rb><rb> </rb></rbc>
+ <rtc><rt> </rt><rt>text</rt><rt>after</rt></rtc>
+</ruby>|
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-intra-level-whitespace-003.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-intra-level-whitespace-003.html
new file mode 100644
index 00000000000..716f2e3f0b4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-intra-level-whitespace-003.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Intra-level whitespace pairing</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#ruby-pairing">
+<link rel="match" href="ruby-intra-level-whitespace-003-ref.html">
+<link rel="stylesheet" href="support/ruby-common.css">
+<style>
+ rbc::before {
+ display: ruby-base;
+ content: "before";
+ }
+ rbc::after {
+ display: ruby-base;
+ content: " ";
+ }
+ rtc::before {
+ display: ruby-text;
+ content: " ";
+ }
+ rtc::after {
+ display: ruby-text;
+ content: "after";
+ }
+</style>
+<!-- This test ensures that we don't treat all-whitespace
+ ::before/::after content as intra-level whitespace -->
+|<ruby>
+ <rbc><rb>base</rb></rbc>
+ <rtc><rt>text</rt></rtc>
+</ruby>|
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-intrinsic-isize-001-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-intrinsic-isize-001-ref.html
new file mode 100644
index 00000000000..9d2889f8116
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-intrinsic-isize-001-ref.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<html lang="ja">
+<meta charset="UTF-8">
+<title>Intrinsic ISize calculation of ruby</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<style>
+ div {
+ display: inline-block;
+ border: 1px solid black;
+ font-kerning: none; /* disable kerning, because in the reference file
+ it might occur across <span> boundaries */
+ }
+ span {
+ white-space: nowrap;
+ }
+</style>
+<div style="width: min-content">
+ <span>ABC</span><span>DEF</span>
+</div>
+<div style="width: max-content">
+ <span>ABC</span><span>DEF</span>
+</div>
+<br>
+
+<div style="width: min-content">
+ XYZ<span>ABC</span><span>DEF</span>XYZ
+</div>
+<div style="width: max-content">
+ XYZ<span>ABC</span><span>DEF</span>XYZ
+</div>
+<br>
+
+<div style="width: min-content">
+ <span>あい</span><span>うえ</span>
+</div>
+<div style="width: max-content">
+ <span>あい</span><span>うえ</span>
+</div>
+<br>
+
+<div style="width: min-content">
+ お<span>あい</span><span>うえ</span>お
+</div>
+<div style="width: max-content">
+ お<span>あい</span><span>うえ</span>お
+</div>
+<br>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-intrinsic-isize-001.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-intrinsic-isize-001.html
new file mode 100644
index 00000000000..84f48e2fc93
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-intrinsic-isize-001.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html lang="ja">
+<meta charset="UTF-8">
+<title>Intrinsic ISize calculation of ruby</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#line-breaks">
+<link rel="match" href="ruby-intrinsic-isize-001-ref.html">
+<style>
+ div {
+ display: inline-block;
+ border: 1px solid black;
+ font-kerning: none; /* disable kerning, because in the reference file
+ it might occur across <span> boundaries */
+ }
+</style>
+<div style="width: min-content">
+ <ruby><rb>ABC<rb>DEF</ruby>
+</div>
+<div style="width: max-content">
+ <ruby><rb>ABC<rb>DEF</ruby>
+</div>
+<br>
+
+<div style="width: min-content">
+ XYZ<ruby><rb>ABC<rb>DEF</ruby>XYZ
+</div>
+<div style="width: max-content">
+ XYZ<ruby><rb>ABC<rb>DEF</ruby>XYZ
+</div>
+<br>
+
+<div style="width: min-content">
+ <ruby><rb>あい<rb>うえ</ruby>
+</div>
+<div style="width: max-content">
+ <ruby><rb>あい<rb>うえ</ruby>
+</div>
+<br>
+
+<div style="width: min-content">
+ お<ruby><rb>あい<rb>うえ</ruby>お
+</div>
+<div style="width: max-content">
+ お<ruby><rb>あい<rb>うえ</ruby>お
+</div>
+<br>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-intrinsic-isize-002-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-intrinsic-isize-002-ref.html
new file mode 100644
index 00000000000..d71de26a259
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-intrinsic-isize-002-ref.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html lang="ja">
+<meta charset="UTF-8">
+<title>Intrinsic ISize calculation of ruby</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<style>
+ div {
+ display: inline-block;
+ border: 1px solid black;
+ }
+</style>
+<p>No line break should happen in any block, and the content should just fit in the block.</p>
+
+<div>
+ ABC DEF
+</div>
+<div>
+ XYZ ABCDEF XYZ
+</div>
+
+<div>
+ あい うえ
+</div>
+<div>
+ お あいうえ お
+</div>
+<br>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-intrinsic-isize-002.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-intrinsic-isize-002.html
new file mode 100644
index 00000000000..741d41bec57
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-intrinsic-isize-002.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html lang="ja">
+<meta charset="UTF-8">
+<title>Intrinsic ISize calculation of ruby</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#line-breaks">
+<link rel="match" href="ruby-intrinsic-isize-002-ref.html">
+<style>
+ div {
+ display: inline-block;
+ border: 1px solid black;
+ }
+</style>
+<p>No line break should happen in any block, and the content should just fit in the block.</p>
+
+<div>
+ <ruby><rb>ABC</rb> <rb>DEF</rb></ruby>
+</div>
+<div>
+ XYZ <ruby><rb>ABC</rb><rb>DEF</rb></ruby> XYZ
+</div>
+
+<div>
+ <ruby><rb>あい</rb> <rb>うえ</rb></ruby>
+</div>
+<div>
+ お <ruby><rb>あい</rb><rb>うえ</rb></ruby> お
+</div>
+<br>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-justification-001-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-justification-001-ref.html
new file mode 100644
index 00000000000..eaec8897133
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-justification-001-ref.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Justification with ruby span</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="stylesheet" href="support/ruby-common.css">
+<style>
+ body { line-height: 3; }
+</style>
+<div style="width: 200px; height: 100px; text-align-last: justify; overflow: auto;"><ruby>
+ <rb>a</rb><rb>b</rb>
+</ruby></div>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-justification-001.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-justification-001.html
new file mode 100644
index 00000000000..edef72874b6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-justification-001.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Justification with ruby span</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#base-annotation-pairing">
+<link rel="match" href="ruby-justification-001-ref.html">
+<link rel="stylesheet" href="support/ruby-common.css">
+<style>
+ body { line-height: 3; }
+</style>
+<div style="width: 200px; height: 100px; text-align-last: justify; overflow: auto;"><ruby>
+ <rb>a</rb><rb>b</rb>
+ <rtc><div style="width: 100px;"></div></rtc>
+</ruby></div>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-justification-002-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-justification-002-ref.html
new file mode 100644
index 00000000000..c61dae5c62d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-justification-002-ref.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html lang="ja">
+<meta charset="UTF-8">
+<title>Justification with ruby span</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="stylesheet" href="support/ruby-common.css">
+<style>
+ div {
+ ruby-position: under;
+ width: 300px; height: 100px;
+ text-align-last: justify;
+ overflow: auto;
+ text-decoration: underline;
+ }
+</style>
+<div><rb>仮</rb><rb>名</rb><rt>が</rt><rt>な</rt></div>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-justification-002.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-justification-002.html
new file mode 100644
index 00000000000..979987c028b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-justification-002.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html lang="ja">
+<meta charset="UTF-8">
+<title>Justification with ruby span</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#base-annotation-pairing">
+<link rel="match" href="ruby-justification-002-ref.html">
+<link rel="stylesheet" href="support/ruby-common.css">
+<style>
+ div {
+ ruby-position: under;
+ width: 300px; height: 100px;
+ text-align-last: justify;
+ overflow: auto;
+ text-decoration: underline;
+ }
+</style>
+<div>
+ <rb>仮</rb><rb>名</rb>
+ <rt>が</rt><rt>な</rt>
+ <!-- -->
+</div>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-lang-specific-style-001-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-lang-specific-style-001-ref.html
new file mode 100644
index 00000000000..c0655a5310b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-lang-specific-style-001-ref.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for lang-specific default stylesheet for ruby</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="stylesheet" href="/fonts/ahem.css">
+<link rel="stylesheet" href="support/ruby-common.css">
+<body style="font: 200%/normal Ahem !important">
+<p><ruby><rb>base x x<rt style="ruby-align: space-around; font-size: 50%">text x x</ruby></p>
+<p><ruby><rb>base x x<rt style="ruby-align: space-around; font-size: 50%">text x x</ruby></p>
+<p><ruby><rb>base x x<rt style="ruby-align: center; font-size: 50%">text x x</ruby></p>
+<p><ruby><rb>base x x<rt style="ruby-align: center; font-size: 30%">text x x</ruby></p>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-lang-specific-style-001.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-lang-specific-style-001.html
new file mode 100644
index 00000000000..3206514f0d4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-lang-specific-style-001.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for lang-specific default stylesheet for ruby</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#default-stylesheet">
+<link rel="match" href="ruby-lang-specific-style-001-ref.html">
+<link rel="stylesheet" href="/fonts/ahem.css">
+<link rel="stylesheet" href="support/ruby-common.css">
+<body style="font: 200%/normal Ahem !important">
+<p lang="en"><ruby><rb>base x x<rt>text x x</ruby></p>
+<p lang="ja"><ruby><rb>base x x<rt>text x x</ruby></p>
+<p lang="zh-CN"><ruby><rb>base x x<rt>text x x</ruby></p>
+<p lang="zh-TW"><ruby><rb>base x x<rt>text x x</ruby></p>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-001-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-001-ref.html
new file mode 100644
index 00000000000..1cd43b80018
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-001-ref.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for ruby line break suppression</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="stylesheet" href="support/ruby-common.css">
+<ruby>ab</ruby><br>
+<rbc>ab</rbc><br>
+<rtc>ab</rtc><br>
+<rb>ab</rb><br>
+<rt>ab</rt>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-001.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-001.html
new file mode 100644
index 00000000000..11d4d40d436
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-001.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for ruby line break suppression</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#box-fixup">
+<link rel="match" href="ruby-line-break-suppression-001-ref.html">
+<link rel="stylesheet" href="support/ruby-common.css">
+<ruby>a<br>b</ruby><br>
+<rbc>a<br>b</rbc><br>
+<rtc>a<br>b</rtc><br>
+<rb>a<br>b</rb><br>
+<rt>a<br>b</rt>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-002-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-002-ref.html
new file mode 100644
index 00000000000..8281ea1d74f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-002-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for ruby line break suppression</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="stylesheet" href="support/ruby-common.css">
+<div style="width: 1em; border: 1px solid">
+ <ruby>aaaaaaaaaabbbbbbbbbb</ruby><br>
+ <rbc>aaaaaaaaaabbbbbbbbbb</rbc><br>
+ <rtc>aaaaaaaaaabbbbbbbbbb</rtc><br>
+ <rb>aaaaaaaaaabbbbbbbbbb</rb><br>
+ <rt>aaaaaaaaaabbbbbbbbbb</rt><br>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-002.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-002.html
new file mode 100644
index 00000000000..394b9c27e53
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-002.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for ruby line break suppression</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#box-fixup">
+<link rel="match" href="ruby-line-break-suppression-002-ref.html">
+<link rel="stylesheet" href="support/ruby-common.css">
+<div style="width: 1em; border: 1px solid">
+ <ruby>aaaaaaaaaa<div></div>bbbbbbbbbb</ruby><br>
+ <rbc>aaaaaaaaaa<div></div>bbbbbbbbbb</rbc><br>
+ <rtc>aaaaaaaaaa<div></div>bbbbbbbbbb</rtc><br>
+ <rb>aaaaaaaaaa<div></div>bbbbbbbbbb</rb><br>
+ <rt>aaaaaaaaaa<div></div>bbbbbbbbbb</rt><br>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-003-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-003-ref.html
new file mode 100644
index 00000000000..f8b1e168e11
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-003-ref.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for ruby line break suppression</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="stylesheet" href="support/ruby-common.css">
+<ruby><span>a
+b</span></ruby><br>
+<rbc><span>a
+b</span></rbc><br>
+<rtc><span>a
+b</span></rtc><br>
+<rb><span>a
+b</span></rb><br>
+<rt><span>a
+b</span></rt><br>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-003.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-003.html
new file mode 100644
index 00000000000..dadfd562a45
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-003.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Test for ruby line break suppression</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#box-fixup">
+<link rel="match" href="ruby-line-break-suppression-003-ref.html">
+<link rel="stylesheet" href="support/ruby-common.css">
+<style>
+ span { white-space: pre; }
+</style>
+<ruby><span>a
+b</span></ruby><br>
+<rbc><span>a
+b</span></rbc><br>
+<rtc><span>a
+b</span></rtc><br>
+<rb><span>a
+b</span></rb><br>
+<rt><span>a
+b</span></rt><br>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-004-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-004-ref.html
new file mode 100644
index 00000000000..5aa55829574
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-004-ref.html
@@ -0,0 +1,7 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Line break suppression on whitespaces wrapped but not contained in ruby boxes</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<span style="white-space: pre"><rb>a</rb><rb>
+</rb><rb>b</rb></span>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-004.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-004.html
new file mode 100644
index 00000000000..0314237f07f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-004.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Line break suppression on whitespaces wrapped but not contained in ruby boxes</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#box-fixup">
+<link rel="match" href="ruby-line-break-suppression-004-ref.html">
+<span style="white-space: pre"><rb>a</rb>
+<rb>b</rb></span>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-005-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-005-ref.html
new file mode 100644
index 00000000000..c40780e37dd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-005-ref.html
@@ -0,0 +1,7 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Line break suppression with soft hyphen</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<body style="width: 1px">
+x<ruby>a</ruby>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-005.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-005.html
new file mode 100644
index 00000000000..10d6690b3d8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-break-suppression-005.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Line break suppression with soft hyphen</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#box-fixup">
+<link rel="match" href="ruby-line-break-suppression-005-ref.html">
+<body style="width: 1px">
+x<ruby>a&shy;</ruby>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-breaking-001-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-breaking-001-ref.html
new file mode 100644
index 00000000000..1f3031c59ad
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-breaking-001-ref.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<html lang="ja">
+<meta charset="UTF-8">
+<title>Meet the specification for line breaking between ruby bases</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="stylesheet" href="support/ruby-common.css">
+<style>
+ body { line-height: 3; font-kerning: none; }
+ span { white-space: nowrap; }
+</style>
+<div style="width: .5em; border: 1px solid silver;">
+ <span>「</span><span>な</span><span>に</span><span>、</span><span>誰</span><span>?</span><span>」</span><span>「</span><span>私</span><span>です</span><span>」</span>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-breaking-001.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-breaking-001.html
new file mode 100644
index 00000000000..b6b4d861e21
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-breaking-001.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html lang="ja">
+<meta charset="UTF-8">
+<title>Meet the specification for line breaking between ruby bases</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#break-between">
+<link rel="match" href="ruby-line-breaking-001-ref.html">
+<link rel="stylesheet" href="support/ruby-common.css">
+<style>
+ body { line-height: 3; font-kerning: none; }
+</style>
+<div style="width: .5em; border: 1px solid silver;">
+ <ruby>
+ <rb>「<rb>な<rb>に<rb>、<rb>誰<rb>?<rb>」<rb>「<rb>私<rb>です<rb>」</rb>
+ <!-- Check if ruby text containers are skipped from the text run -->
+ <rtc><rt>
+ </ruby>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-breaking-002-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-breaking-002-ref.html
new file mode 100644
index 00000000000..08510f7fb05
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-breaking-002-ref.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="ja">
+<meta charset="UTF-8">
+<title>Line breaking between ruby and preceeding open bracket</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="stylesheet" href="/fonts/ahem.css">
+<link rel="stylesheet" href="support/ruby-common.css">
+<div style="width: 5em; border: 1px solid silver;">
+ の「<span style="font-family: Ahem; padding: 0 10rem;">X</span>」
+</div>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-breaking-002.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-breaking-002.html
new file mode 100644
index 00000000000..dddf41f9309
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-breaking-002.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html lang="ja">
+<meta charset="UTF-8">
+<title>Line breaking between ruby and preceeding open bracket</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#break-between">
+<link rel="match" href="ruby-line-breaking-002-ref.html">
+<link rel="stylesheet" href="/fonts/ahem.css">
+<link rel="stylesheet" href="support/ruby-common.css">
+<div style="width: 5em; border: 1px solid silver;">
+ の「<ruby style="font-family: Ahem;">X<rt style="font-size: 0;"><div style="width: 21rem"></div></ruby>」
+</div>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-breaking-003-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-breaking-003-ref.html
new file mode 100644
index 00000000000..4f3cecb27ce
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-breaking-003-ref.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html lang="ja">
+<meta charset="UTF-8">
+<title>Dynamic break point change in ruby</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="stylesheet" href="support/ruby-common.css">
+<style>
+ #test {
+ border: 1px solid;
+ text-align: center;
+ width: 2.5em;
+ }
+</style>
+<div id="test">
+ <p>一二三四五六七八</p>
+ <p>一二三四五六七八</p>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-breaking-003.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-breaking-003.html
new file mode 100644
index 00000000000..27348d0cf11
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-line-breaking-003.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html lang="ja">
+<meta charset="UTF-8">
+<title>Dynamic break point change in ruby</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#break-between">
+<link rel="match" href="ruby-line-breaking-003-ref.html">
+<link rel="stylesheet" href="support/ruby-common.css">
+<style>
+ #test {
+ border: 1px solid;
+ text-align: center;
+ }
+</style>
+<div id="test">
+ <p><ruby><rb>一<rb>二<rb>三<rb>四<rb>五<rb>六<rb>七<rb>八</ruby></p>
+ <p><ruby><rbc>一</rbc><rbc>二</rbc><rbc>三</rbc><rbc>四</rbc><rbc>五</rbc><rbc>六</rbc><rbc>七</rbc><rbc>八</rbc></ruby></p>
+</div>
+<script>
+ let div = document.getElementById("test");
+ document.body.offsetHeight;
+ test.style.width = "2.5em";
+ document.body.offsetHeight;
+ test.style.width = "4.5em";
+ document.body.offsetHeight;
+ test.style.width = "2.5em";
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-no-transform-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-no-transform-ref.html
new file mode 100644
index 00000000000..56afd9366fe
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-no-transform-ref.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Ruby should not support transform</title>
+<link rel="author" title="L. David Baron" href="https://dbaron.org/">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="stylesheet" href="support/ruby-common.css">
+<ruby>
+ <rbc><rb>a</rb><rb>b</rb></rbc>
+ <rtc><rt>A</rt><rt>B</rt></rtc>
+</ruby>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-no-transform.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-no-transform.html
new file mode 100644
index 00000000000..1cdd4f3bbf5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-no-transform.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Ruby should not support transform</title>
+<link rel="author" title="L. David Baron" href="https://dbaron.org/">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-transforms-1/#transform-property">
+<link rel="match" href="ruby-no-transform-ref.html">
+<link rel="stylesheet" href="support/ruby-common.css">
+<style>
+ruby, rbc, rb, rtc, rt {
+ transform: translateX(50px);
+}
+</style>
+<ruby>
+ <rbc><rb>a</rb><rb>b</rb></rbc>
+ <rtc><rt>A</rt><rt>B</rt></rtc>
+</ruby>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-reflow-001-noruby.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-reflow-001-noruby.html
new file mode 100644
index 00000000000..4c00573422b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-reflow-001-noruby.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html style="overflow:hidden;">
+<head>
+<title>CSS Test: Ruby Base Frames Reflowed</title>
+<link rel="author" title="Susanna Bowen" href="mailto:sgbowen8@gmail.com">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="http://www.w3.org/TR/2014/WD-css-ruby-1-20140805/">
+<meta name="assert" content="Test checks that ruby bases are reflowed.">
+<meta charset="UTF-8">
+<link rel="stylesheet" href="support/ruby-common.css">
+<style>
+body { line-height: 3; }
+</style>
+</head>
+<body>
+新幹線
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-reflow-001-opaqueruby.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-reflow-001-opaqueruby.html
new file mode 100644
index 00000000000..fe4a8042383
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-reflow-001-opaqueruby.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html style="overflow:hidden;">
+<head>
+<title>CSS Test: Ruby Text Frames Visible</title>
+<link rel="author" title="Susanna Bowen" href="mailto:sgbowen8@gmail.com">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="http://www.w3.org/TR/2014/WD-css-ruby-1-20140805/">
+<link rel="mismatch" href="ruby-reflow-001-noruby.html">
+<meta name="assert" content="Test checks that ruby text is rendered.">
+<meta charset="UTF-8">
+<link rel="stylesheet" href="support/ruby-common.css">
+<style>
+body { line-height: 3; }
+</style>
+</head>
+<body>
+<ruby>
+ <rbc><rb>新</rb><rb>幹</rb><rb>線</rb></rbc>
+ <rtc><rt>しん</rt><rt>かん</rt><rt>せん</rt></rtc>
+</ruby>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-reflow-001-transparentruby.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-reflow-001-transparentruby.html
new file mode 100644
index 00000000000..3e7112c4d61
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-reflow-001-transparentruby.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html style="overflow:hidden;">
+<head>
+<title>CSS Test: Ruby Base Frames Reflowed</title>
+<link rel="author" title="Susanna Bowen" href="mailto:sgbowen8@gmail.com">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="http://www.w3.org/TR/2014/WD-css-ruby-1-20140805/">
+<link rel="match" href="ruby-reflow-001-noruby.html">
+<meta name="assert" content="Test checks that ruby bases are reflowed.">
+<meta charset="UTF-8">
+<link rel="stylesheet" href="support/ruby-common.css">
+<style>
+body { line-height: 3; }
+rtc { color: transparent; }
+</style>
+</head>
+<body>
+<ruby>
+ <rbc><rb>新</rb><rb>幹</rb><rb>線</rb></rbc>
+ <rtc><rt>しん</rt><rt>かん</rt><rt>せん</rt></rtc>
+</ruby>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-span-001-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-span-001-ref.html
new file mode 100644
index 00000000000..3bf873453cd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-span-001-ref.html
@@ -0,0 +1,7 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Ruby span</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="stylesheet" href="support/ruby-common.css">
+<ruby><rb>The Ruby Base</rb><rtc><rt>span</rt></rtc></ruby>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-span-001.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-span-001.html
new file mode 100644
index 00000000000..e7b19667aa9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-span-001.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Ruby span</title>
+<link rel="author" title="Xidorn Quan" href="https://www.upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#ruby-pairing">
+<link rel="match" href="ruby-span-001-ref.html">
+<link rel="stylesheet" href="support/ruby-common.css">
+<ruby><rb>The Ruby Base</rb><rtc>span</rtc></ruby>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-whitespace-001-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-whitespace-001-ref.html
new file mode 100644
index 00000000000..d24e207f867
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-whitespace-001-ref.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Ruby whitespace handling</title>
+<link rel="author" title="Susanna Bowen" href="mailto:sgbowen8@gmail.com">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="stylesheet" href="support/ruby-common.css">
+<style>
+body { line-height: 5em; }
+</style>
+
+<p>
+ <ruby><rbc><rb><span> </span></rb><rb><span> </span></rb><rb>Base three</rb></rbc
+ ><rtc><rt><span> </span></rt><rt><span> </span></rt><rt>Text three</rt></rtc
+ ><rtc><rt></rt></rtc
+ ><rbc><rb><span> </span></rb></rbc
+ ><rbc><rb>Segment two</rb></rbc
+ ><rtc><rt></rt></rtc></ruby>
+</p>
+
+<p>
+ <ruby><rbc><rb>Base one</rb><rb><span> </span></rb><rb>Base three</rb></rbc
+ ><rtc pseudo><rt>Text one</rt><rt pseudo><span> </span></rt><rt>Text three</rt></rtc></ruby>
+</p>
+
+<p>
+ <ruby><rbc><rb>Segment one</rb></rbc
+ ><rbc><rb><span> </span></rb></rbc
+ ><rbc><rb><span> </span></rb><rb><span> </span></rb><rb>Base three</rb></rbc
+ ><rtc><rt><span> </span></rt><rt><span> </span></rt><rt>Text three</rt></rtc
+ ><rbc><rb><span> </span></rb></rbc
+ ><rbc><rb>Base one</rb><rb><span> </span></rb><rb>Base three</rb></rbc
+ ><rtc><rt>Text one</rt><rt></rt><rt>Text two/three</rt></rtc></ruby>
+</p>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-whitespace-001.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-whitespace-001.html
new file mode 100644
index 00000000000..9df61585700
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-whitespace-001.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Ruby whitespace handling</title>
+<link rel="author" title="Susanna Bowen" href="mailto:sgbowen8@gmail.com">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#white-space">
+<link rel="match" href="ruby-whitespace-001-ref.html">
+<link rel="stylesheet" href="support/ruby-common.css">
+<style>
+body { line-height: 5em; }
+</style>
+
+<p>
+ <ruby>
+ <rbc> <rb> </rb> <rb>Base three</rb> </rbc>
+ <rtc> <rt> </rt> <rt>Text three</rt> </rtc> <rtc><rt></rt></rtc>
+ <rbc><rb>Segment two</rb></rbc><rtc><rt></rt></rtc>
+ </ruby>
+</p>
+
+<p>
+ <ruby>
+ <rb>Base one</rb> <rb>Base three</rb>
+ <rt>Text one</rt> <rt>Text three</rt>
+ </ruby>
+</p>
+
+<p>
+ <rb>Segment one</rb> <rbc> <rb> </rb> <rb>Base three</rb> </rbc
+ > <rtc><rt> </rt> <rt>Text three</rt></rtc>
+
+ <rb>Base one</rb> <rb>Base three</rb> <rt>Text one</rt><rt>Text two/three</rt>
+</p>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-whitespace-002-ref.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-whitespace-002-ref.html
new file mode 100644
index 00000000000..8aade200516
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-whitespace-002-ref.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Ruby whitespace handling</title>
+<link rel="author" title="Susanna Bowen" href="mailto:sgbowen8@gmail.com">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="stylesheet" href="support/ruby-common.css">
+
+<!-- Unclear how this should render. See http://lists.w3.org/Archives/Public/www-style/2014Jul/0620.html //-->
+abcd<ruby><rbc><rb><span> BASE</span></rb></rbc><rtc pseudo><rt>TEXT</rt></rtc></ruby>
+
+abcd<ruby><rbc><rb><span>BASE</span></rb></rbc><rtc pseudo><rt>TEXT</rt></rtc></ruby>
+
+abcd<ruby><rbc><rb><span> BASE</span></rb></rbc><rtc pseudo><rt>TEXT</rt></rtc></ruby>
+
+<ruby><rbc></rbc></ruby>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/ruby-whitespace-002.html b/tests/wpt/web-platform-tests/css/css-ruby/ruby-whitespace-002.html
new file mode 100644
index 00000000000..bc84919a123
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/ruby-whitespace-002.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>Ruby whitespace handling</title>
+<link rel="author" title="Susanna Bowen" href="mailto:sgbowen8@gmail.com">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-ruby-1/#white-space">
+<link rel="match" href="ruby-whitespace-002-ref.html">
+<link rel="stylesheet" href="support/ruby-common.css">
+
+abcd<rbc> BASE</rbc><rt>TEXT</rt>
+
+abcd<rbc> <span>BASE</span></rbc><rt>TEXT</rt>
+
+abcd<rbc><span> BASE</span></rbc><rt>TEXT</rt>
+
+<rbc> </rbc>
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/support/ruby-common.css b/tests/wpt/web-platform-tests/css/css-ruby/support/ruby-common.css
new file mode 100644
index 00000000000..cf83123281d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/support/ruby-common.css
@@ -0,0 +1,18 @@
+rbc {
+ display: ruby-base-container;
+ unicode-bidi: isolate;
+}
+[pseudo] {
+ font-size: inherit;
+ line-height: inherit;
+}
+[pseudo] > rt {
+ font-size: 50%;
+}
+[pseudo] > rt[pseudo] {
+ font-size: inherit;
+}
+
+.large {
+ font-size: 200%;
+}
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/support/ruby-dynamic-insertion.js b/tests/wpt/web-platform-tests/css/css-ruby/support/ruby-dynamic-insertion.js
new file mode 100644
index 00000000000..0bf6cd96977
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/support/ruby-dynamic-insertion.js
@@ -0,0 +1,42 @@
+window.onload = function() {
+ // Force a reflow before any changes.
+ document.body.clientWidth;
+
+ var elems = document.querySelectorAll('[data-insert]');
+ Array.from(elems).forEach(function(e) {
+ var parent, ref;
+ switch (e.dataset.insert) {
+ case 'start':
+ parent = e;
+ ref = e.firstChild;
+ break;
+
+ case 'end':
+ parent = e;
+ ref = null;
+ break;
+
+ case 'before':
+ parent = e.parentNode;
+ ref = e;
+ break;
+
+ case 'after':
+ parent = e.parentNode;
+ ref = e.nextSibling;
+ break;
+ }
+
+ var elem, textnode;
+ if ('text' in e.dataset) {
+ textnode = document.createTextNode(e.dataset.text);
+ }
+ if ('tag' in e.dataset) {
+ elem = document.createElement(e.dataset.tag);
+ if (textnode) {
+ elem.appendChild(textnode);
+ }
+ }
+ parent.insertBefore(elem ? elem : textnode, ref);
+ });
+};
diff --git a/tests/wpt/web-platform-tests/css/css-ruby/support/ruby-dynamic-removal.js b/tests/wpt/web-platform-tests/css/css-ruby/support/ruby-dynamic-removal.js
new file mode 100644
index 00000000000..c703e7601e4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-ruby/support/ruby-dynamic-removal.js
@@ -0,0 +1,14 @@
+function getElements(className) {
+ return Array.from(document.getElementsByClassName(className));
+}
+window.onload = function() {
+ // Force a reflow before any changes.
+ document.body.clientWidth;
+
+ getElements('remove').forEach(function(e) {
+ e.remove();
+ });
+ getElements('remove-after').forEach(function(e) {
+ e.parentNode.removeChild(e.nextSibling);
+ });
+};
diff --git a/tests/wpt/web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/canvas-aspect-ratio.html b/tests/wpt/web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/canvas-aspect-ratio.html
index 1d231d52cde..ab36eeede73 100644
--- a/tests/wpt/web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/canvas-aspect-ratio.html
+++ b/tests/wpt/web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/canvas-aspect-ratio.html
@@ -1,5 +1,5 @@
<!doctype html>
-<title>Canvas width and height attributes are used to infer aspect-ratio</title>
+<title>Canvas width and height attributes are used as the surface size</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<style>
@@ -11,7 +11,7 @@
</style>
<body>
<script>
-let t = async_test("Canvas width and height attributes are used to infer aspect-ratio");
+let t = async_test("Canvas width and height attributes are used as the surface size");
function assert_ratio(img, expected) {
let epsilon = 0.001;
assert_approx_equals(parseInt(getComputedStyle(img).width, 10) / parseInt(getComputedStyle(img).height, 10), expected, epsilon);
diff --git a/tests/wpt/web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/content-aspect-ratio.html b/tests/wpt/web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/content-aspect-ratio.html
new file mode 100644
index 00000000000..42be8ce7a81
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/content-aspect-ratio.html
@@ -0,0 +1,25 @@
+<!doctype html>
+<title>div with content style's width and height attributes are not used to infer aspect-ratio</title>
+<link rel="help" href="https://bugs.webkit.org/show_bug.cgi?id=201641#c22">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<style>
+ video {
+ width: 100%;
+ max-width: 100px;
+ height: auto;
+ }
+</style>
+<body>
+<script>
+// Create and append a div with content style and immediately check the height.
+let t = test(function() {
+ var div = document.createElement("div");
+ div.setAttribute("style", "content: url('/images/blue.png')");
+ div.setAttribute("width", "250");
+ div.setAttribute("height", "100");
+ document.body.appendChild(div);
+ assert_equals(getComputedStyle(div).height, "0px");
+}, "div with content style's width and height attributes are not used to infer aspect-ratio");
+
+</script>
diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/manifestinclude.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/manifestinclude.py
index b3ab2c07765..79b5b19b3a3 100644
--- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/manifestinclude.py
+++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/manifestinclude.py
@@ -6,6 +6,7 @@ be included or excluded.
"""
import glob
import os
+from six import iteritems
from six.moves.urllib.parse import urlparse, urlsplit
from .wptmanifest.node import DataNode
@@ -94,7 +95,7 @@ class IncludeManifest(ManifestItem):
if paths:
urls = []
for path in paths:
- for manifest, data in test_manifests.iteritems():
+ for manifest, data in iteritems(test_manifests):
found = False
rel_path = os.path.relpath(path, data["tests_path"])
iterator = manifest.iterpath if os.path.isfile(path) else manifest.iterdir