+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/canvas-as-container-001.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/canvas-as-container-001.html
index 2f0c5f4827ca..f904d1fe249b 100644
--- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/canvas-as-container-001.html
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/canvas-as-container-001.html
@@ -21,5 +21,9 @@
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/canvas-as-container-002.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/canvas-as-container-002.html
index 0638d1e64865..689feeb5fffd 100644
--- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/canvas-as-container-002.html
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/canvas-as-container-002.html
@@ -22,5 +22,9 @@
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/canvas-as-container-003.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/canvas-as-container-003.html
index 7c2651ff4691..74199cc72b7e 100644
--- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/canvas-as-container-003.html
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/canvas-as-container-003.html
@@ -24,5 +24,9 @@
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/canvas-as-container-004.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/canvas-as-container-004.html
index d9b661c0f95e..b23846382b74 100644
--- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/canvas-as-container-004.html
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/canvas-as-container-004.html
@@ -25,5 +25,9 @@
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/column-spanner-in-container-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/column-spanner-in-container-expected.txt
new file mode 100644
index 000000000000..e1db70cad88b
--- /dev/null
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/column-spanner-in-container-expected.txt
@@ -0,0 +1,5 @@
+
+PASS #spanner matching container with column-width 300px, getting column-span:all
+PASS Reducing #multicol width means #spanner no longer gets column-span:all
+PASS Back to matching 300px and column-span:all
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/column-spanner-in-container.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/column-spanner-in-container.html
new file mode 100644
index 000000000000..d494e28504fb
--- /dev/null
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/column-spanner-in-container.html
@@ -0,0 +1,41 @@
+
+CSS Container Queries Test: Column-spanner depending on container in column
+
+
+
+
+
+
+
+
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-computed-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-computed-expected.txt
index 334a368e83cc..7b2648d51857 100644
--- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-computed-expected.txt
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-computed-expected.txt
@@ -14,4 +14,5 @@ PASS Property container value 'foo/ inline-size'
PASS Property container value 'foo/inline-size'
PASS Property container value 'FoO / size'
PASS Property container value 'foo bar / size'
+PASS Property container value 'foo / normal'
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-computed.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-computed.html
index b38b0d83dbe3..d83f36164005 100644
--- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-computed.html
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-computed.html
@@ -26,4 +26,5 @@
test_computed_value('container', 'foo/inline-size', 'foo / inline-size');
test_computed_value('container', 'FoO / size');
test_computed_value('container', 'foo bar / size', 'foo bar / size');
+test_computed_value('container', 'foo / normal', 'foo');
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-inheritance-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-inheritance-expected.txt
index 3ce326787341..ea8e9782c30a 100644
--- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-inheritance-expected.txt
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-inheritance-expected.txt
@@ -1,6 +1,6 @@
PASS Property container-name has initial value none
PASS Property container-name does not inherit
-PASS Property container-type has initial value none
+PASS Property container-type has initial value normal
PASS Property container-type does not inherit
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-inheritance.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-inheritance.html
index efc09983c0dd..b333b691fd78 100644
--- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-inheritance.html
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-inheritance.html
@@ -14,5 +14,5 @@
setup(() => assert_implements_container_queries());
assert_not_inherited('container-name', 'none', 'foo');
-assert_not_inherited('container-type', 'none', 'inline-size');
+assert_not_inherited('container-type', 'normal', 'inline-size');
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-name-parsing-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-name-parsing-expected.txt
index a2952dc64a00..abb76b6d0ccc 100644
--- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-name-parsing-expected.txt
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-name-parsing-expected.txt
@@ -9,7 +9,8 @@ PASS e.style['container-name'] = "BAR" should set the property value
PASS e.style['container-name'] = "foo bar" should set the property value
PASS e.style['container-name'] = "foo foo" should set the property value
PASS e.style['container-name'] = "\\!escaped" should set the property value
-PASS e.style['container-name'] = "not" should set the property value
+PASS e.style['container-name'] = "auto" should not set the property value
+PASS e.style['container-name'] = "normal" should not set the property value
PASS e.style['container-name'] = "none none" should not set the property value
PASS e.style['container-name'] = "foo, bar" should not set the property value
PASS e.style['container-name'] = "#fff" should not set the property value
@@ -21,4 +22,10 @@ PASS e.style['container-name'] = "\"unset\"" should not set the property value
PASS e.style['container-name'] = "\"revert\"" should not set the property value
PASS e.style['container-name'] = "\"none\"" should not set the property value
PASS e.style['container-name'] = "\"foo\"" should not set the property value
+PASS e.style['container-name'] = "not" should not set the property value
+PASS e.style['container-name'] = "and" should not set the property value
+PASS e.style['container-name'] = "or" should not set the property value
+PASS e.style['container-name'] = "Not" should not set the property value
+PASS e.style['container-name'] = "aNd" should not set the property value
+PASS e.style['container-name'] = "oR" should not set the property value
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-name-parsing.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-name-parsing.html
index c8ae73ad778c..217a73fb68cb 100644
--- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-name-parsing.html
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-name-parsing.html
@@ -20,8 +20,9 @@
test_valid_value('container-name', 'foo bar');
test_valid_value('container-name', 'foo foo');
test_valid_value('container-name', '\\!escaped');
-test_valid_value('container-name', 'not');
+test_invalid_value('container-name', 'auto');
+test_invalid_value('container-name', 'normal');
test_invalid_value('container-name', 'none none');
test_invalid_value('container-name', 'foo, bar');
test_invalid_value('container-name', '#fff');
@@ -34,4 +35,11 @@
test_invalid_value('container-name', '"revert"');
test_invalid_value('container-name', '"none"');
test_invalid_value('container-name', '"foo"');
+
+test_invalid_value('container-name', 'not');
+test_invalid_value('container-name', 'and');
+test_invalid_value('container-name', 'or');
+test_invalid_value('container-name', 'Not');
+test_invalid_value('container-name', 'aNd');
+test_invalid_value('container-name', 'oR');
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-parsing-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-parsing-expected.txt
index e64d963a6db6..e1185ecfce3e 100644
--- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-parsing-expected.txt
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-parsing-expected.txt
@@ -4,7 +4,7 @@ PASS e.style['container'] = "inherit" should set the property value
PASS e.style['container'] = "unset" should set the property value
PASS e.style['container'] = "revert" should set the property value
PASS e.style['container'] = "none" should set the property value
-PASS e.style['container'] = "none / none" should set the property value
+PASS e.style['container'] = "none / normal" should set the property value
PASS e.style['container'] = "inline-size" should set the property value
PASS e.style['container'] = "none / inline-size" should set the property value
PASS e.style['container'] = "size" should set the property value
@@ -13,20 +13,26 @@ PASS e.style['container'] = "inline-size / inline-size" should set the property
PASS e.style['container'] = "size / size" should set the property value
FAIL e.style['container'] = "none / size style" should set the property value assert_not_equals: property should be set got disallowed value ""
PASS e.style['container'] = "foo" should set the property value
-PASS e.style['container'] = "foo / none" should set the property value
+PASS e.style['container'] = "foo / normal" should set the property value
PASS e.style['container'] = "foo bar / size" should set the property value
-PASS e.style['container'] = "foo bar / none" should set the property value
+PASS e.style['container'] = "foo bar / normal" should set the property value
PASS e.style['container'] = "FOO / size" should set the property value
PASS e.style['container'] = "FOO/size" should set the property value
PASS e.style['container'] = " FOO /size" should set the property value
PASS e.style['container'] = "none none" should not set the property value
PASS e.style['container'] = "none inline-size" should not set the property value
PASS e.style['container'] = "none / inline-size none" should not set the property value
+PASS e.style['container'] = "none / inline-size normal" should not set the property value
PASS e.style['container'] = "none / inline-size inline-size" should not set the property value
PASS e.style['container'] = "none / inline-size block-size unknown" should not set the property value
PASS e.style['container'] = "none / inline-size block-size" should not set the property value
PASS e.style['container'] = "none / size block-size" should not set the property value
PASS e.style['container'] = "none, none" should not set the property value
+PASS e.style['container'] = "none, normal" should not set the property value
+PASS e.style['container'] = "none / none" should not set the property value
+PASS e.style['container'] = "none / auto" should not set the property value
+PASS e.style['container'] = "normal / size" should not set the property value
+PASS e.style['container'] = "auto / size" should not set the property value
PASS e.style['container'] = "none / foo" should not set the property value
PASS e.style['container'] = "none / foo, bar" should not set the property value
PASS e.style['container'] = "#fff" should not set the property value
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-parsing.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-parsing.html
index b8ac69296715..9f1293f51cc7 100644
--- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-parsing.html
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-parsing.html
@@ -16,7 +16,7 @@
test_valid_value('container', 'unset');
test_valid_value('container', 'revert');
test_valid_value('container', 'none');
-test_valid_value('container', 'none / none', 'none');
+test_valid_value('container', 'none / normal', 'none');
test_valid_value('container', 'inline-size');
test_valid_value('container', 'none / inline-size', 'none / inline-size');
test_valid_value('container', 'size');
@@ -25,9 +25,9 @@
test_valid_value('container', 'size / size');
test_valid_value('container', 'none / size style', 'none / style size');
test_valid_value('container', 'foo');
-test_valid_value('container', 'foo / none', 'foo');
+test_valid_value('container', 'foo / normal', 'foo');
test_valid_value('container', 'foo bar / size');
-test_valid_value('container', 'foo bar / none', 'foo bar');
+test_valid_value('container', 'foo bar / normal', 'foo bar');
test_valid_value('container', 'FOO / size');
test_valid_value('container', 'FOO/size', 'FOO / size');
test_valid_value('container', ' FOO /size', 'FOO / size');
@@ -35,11 +35,17 @@
test_invalid_value('container', 'none none');
test_invalid_value('container', 'none inline-size');
test_invalid_value('container', 'none / inline-size none');
+test_invalid_value('container', 'none / inline-size normal');
test_invalid_value('container', 'none / inline-size inline-size');
test_invalid_value('container', 'none / inline-size block-size unknown');
test_invalid_value('container', 'none / inline-size block-size');
test_invalid_value('container', 'none / size block-size');
test_invalid_value('container', 'none, none');
+test_invalid_value('container', 'none, normal');
+test_invalid_value('container', 'none / none');
+test_invalid_value('container', 'none / auto');
+test_invalid_value('container', 'normal / size');
+test_invalid_value('container', 'auto / size');
test_invalid_value('container', 'none / foo');
test_invalid_value('container', 'none / foo, bar');
test_invalid_value('container', '#fff');
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-size-nested-invalidation-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-size-nested-invalidation-expected.txt
new file mode 100644
index 000000000000..e46faab4a330
--- /dev/null
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-size-nested-invalidation-expected.txt
@@ -0,0 +1,3 @@
+
+PASS Queries that skip a container are invalidated correctly
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-size-nested-invalidation.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-size-nested-invalidation.html
new file mode 100644
index 000000000000..a549f6d84820
--- /dev/null
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-size-nested-invalidation.html
@@ -0,0 +1,62 @@
+
+Nested @container-dependent elements respond to outer container size changes
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-type-computed-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-type-computed-expected.txt
index db6b6125eb68..6fb4fbead177 100644
--- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-type-computed-expected.txt
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-type-computed-expected.txt
@@ -3,4 +3,5 @@ PASS Property container-type value 'initial'
PASS Property container-type value 'unset'
PASS Property container-type value 'inline-size'
PASS Property container-type value 'size'
+PASS Property container-type value 'normal'
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-type-computed.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-type-computed.html
index cd5f1cbb789e..0b5e033a0f30 100644
--- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-type-computed.html
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-type-computed.html
@@ -10,8 +10,9 @@
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-type-parsing-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-type-parsing-expected.txt
index 78907986effa..800d0985f5a3 100644
--- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-type-parsing-expected.txt
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-type-parsing-expected.txt
@@ -3,23 +3,25 @@ PASS e.style['container-type'] = "initial" should set the property value
PASS e.style['container-type'] = "inherit" should set the property value
PASS e.style['container-type'] = "unset" should set the property value
PASS e.style['container-type'] = "revert" should set the property value
-PASS e.style['container-type'] = "none" should set the property value
+PASS e.style['container-type'] = "normal" should set the property value
FAIL e.style['container-type'] = "style" should set the property value assert_not_equals: property should be set got disallowed value ""
PASS e.style['container-type'] = "size" should set the property value
PASS e.style['container-type'] = "inline-size" should set the property value
FAIL e.style['container-type'] = "inline-size style" should set the property value assert_not_equals: property should be set got disallowed value ""
FAIL e.style['container-type'] = "style inline-size" should set the property value assert_not_equals: property should be set got disallowed value ""
FAIL e.style['container-type'] = "style size" should set the property value assert_not_equals: property should be set got disallowed value ""
+PASS e.style['container-type'] = "none" should not set the property value
+PASS e.style['container-type'] = "auto" should not set the property value
PASS e.style['container-type'] = "block-size" should not set the property value
-PASS e.style['container-type'] = "none none" should not set the property value
-PASS e.style['container-type'] = "none inline-size" should not set the property value
-PASS e.style['container-type'] = "inline-size none" should not set the property value
+PASS e.style['container-type'] = "normal normal" should not set the property value
+PASS e.style['container-type'] = "normal inline-size" should not set the property value
+PASS e.style['container-type'] = "inline-size normal" should not set the property value
PASS e.style['container-type'] = "inline-size inline-size" should not set the property value
PASS e.style['container-type'] = "inline-size block-size" should not set the property value
PASS e.style['container-type'] = "block-size inline-size" should not set the property value
PASS e.style['container-type'] = "size inline-size" should not set the property value
PASS e.style['container-type'] = "inline-size size" should not set the property value
-PASS e.style['container-type'] = "none, none" should not set the property value
+PASS e.style['container-type'] = "normal, normal" should not set the property value
PASS e.style['container-type'] = "foo" should not set the property value
PASS e.style['container-type'] = "\"foo\"" should not set the property value
PASS e.style['container-type'] = "foo, bar" should not set the property value
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-type-parsing.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-type-parsing.html
index cce8aa3b9063..34023cbc4f2a 100644
--- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-type-parsing.html
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-type-parsing.html
@@ -14,7 +14,7 @@
test_valid_value('container-type', 'inherit');
test_valid_value('container-type', 'unset');
test_valid_value('container-type', 'revert');
-test_valid_value('container-type', 'none');
+test_valid_value('container-type', 'normal');
test_valid_value('container-type', 'style');
test_valid_value('container-type', 'size');
test_valid_value('container-type', 'inline-size');
@@ -23,16 +23,18 @@
test_valid_value('container-type', 'style inline-size');
test_valid_value('container-type', 'style size');
+test_invalid_value('container-type', 'none');
+test_invalid_value('container-type', 'auto');
test_invalid_value('container-type', 'block-size');
-test_invalid_value('container-type', 'none none');
-test_invalid_value('container-type', 'none inline-size');
-test_invalid_value('container-type', 'inline-size none');
+test_invalid_value('container-type', 'normal normal');
+test_invalid_value('container-type', 'normal inline-size');
+test_invalid_value('container-type', 'inline-size normal');
test_invalid_value('container-type', 'inline-size inline-size');
test_invalid_value('container-type', 'inline-size block-size');
test_invalid_value('container-type', 'block-size inline-size');
test_invalid_value('container-type', 'size inline-size');
test_invalid_value('container-type', 'inline-size size');
-test_invalid_value('container-type', 'none, none');
+test_invalid_value('container-type', 'normal, normal');
test_invalid_value('container-type', 'foo');
test_invalid_value('container-type', '"foo"');
test_invalid_value('container-type', 'foo, bar');
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-in-at-container-dynamic-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-in-at-container-dynamic-expected.txt
new file mode 100644
index 000000000000..7b9ae9f76ed1
--- /dev/null
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-in-at-container-dynamic-expected.txt
@@ -0,0 +1,4 @@
+Test
+
+FAIL Query with container-relative units are responsive to changes assert_equals: expected "true" but got ""
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-in-at-container-dynamic.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-in-at-container-dynamic.html
new file mode 100644
index 000000000000..c1f929241ca7
--- /dev/null
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-in-at-container-dynamic.html
@@ -0,0 +1,37 @@
+
+Container Relative Units: in @container prelude (dynamic)
+
+
+
+
+
+
+
+
+
Test
+
+
+
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-in-at-container-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-in-at-container-expected.txt
new file mode 100644
index 000000000000..292d4f7f4293
--- /dev/null
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-in-at-container-expected.txt
@@ -0,0 +1,22 @@
+Test1
+Test1
+
+FAIL cqw unit resolves against appropriate container assert_equals: expected "true" but got ""
+FAIL cqh unit resolves against appropriate container assert_equals: expected "true" but got ""
+FAIL cqi unit resolves against appropriate container assert_equals: expected "true" but got ""
+FAIL cqb unit resolves against appropriate container assert_equals: expected "true" but got ""
+FAIL cqmin unit resolves against appropriate container assert_equals: expected "true" but got ""
+FAIL cqmax unit resolves against appropriate container assert_equals: expected "true" but got ""
+FAIL cqw unit resolves against appropriate container (vertical writing-mode on subject) assert_equals: expected "true" but got ""
+FAIL cqh unit resolves against appropriate container (vertical writing-mode on subject) assert_equals: expected "true" but got ""
+FAIL cqi unit resolves against appropriate container (vertical writing-mode on subject) assert_equals: expected "true" but got ""
+FAIL cqb unit resolves against appropriate container (vertical writing-mode on subject) assert_equals: expected "true" but got ""
+FAIL cqmin unit resolves against appropriate container (vertical writing-mode on subject) assert_equals: expected "true" but got ""
+FAIL cqmax unit resolves against appropriate container (vertical writing-mode on subject) assert_equals: expected "true" but got ""
+FAIL cqw unit resolves against appropriate container (vertical writing-mode on container) assert_equals: expected "true" but got ""
+FAIL cqh unit resolves against appropriate container (vertical writing-mode on container) assert_equals: expected "true" but got ""
+FAIL cqi unit resolves against appropriate container (vertical writing-mode on container) assert_equals: expected "true" but got ""
+FAIL cqb unit resolves against appropriate container (vertical writing-mode on container) assert_equals: expected "true" but got ""
+FAIL cqmin unit resolves against appropriate container (vertical writing-mode on container) assert_equals: expected "true" but got ""
+FAIL cqmax unit resolves against appropriate container (vertical writing-mode on container) assert_equals: expected "true" but got ""
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-in-at-container-fallback-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-in-at-container-fallback-expected.txt
new file mode 100644
index 000000000000..84f9e8ea646d
--- /dev/null
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-in-at-container-fallback-expected.txt
@@ -0,0 +1,4 @@
+
+
+FAIL Use small viewport size as fallback assert_equals: expected "rgb(0, 0, 255)" but got "rgb(0, 128, 0)"
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-in-at-container-fallback.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-in-at-container-fallback.html
new file mode 100644
index 000000000000..3784499c387c
--- /dev/null
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-in-at-container-fallback.html
@@ -0,0 +1,68 @@
+
+Container Relative Units: container relative units fall back to small viewport
+
+
+
+
+
+
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-in-at-container.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-in-at-container.html
new file mode 100644
index 000000000000..9ddca55ec152
--- /dev/null
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-in-at-container.html
@@ -0,0 +1,111 @@
+
+Container Relative Units: in @container prelude
+
+
+
+
+
+
+
+
+
+
Test1
+
+
+
+
+
+
+
+
Test1
+
+
+
+
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-invalidation-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-invalidation-expected.txt
index 392aa23ec34d..f5704f3f503b 100644
--- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-invalidation-expected.txt
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-invalidation-expected.txt
@@ -1,7 +1,7 @@
Test
-PASS cqi respond when selected container changes type (inline-size -> none)
-PASS cqb respond when selected container changes type (size -> none)
+PASS cqi respond when selected container changes type (inline-size -> normal)
+PASS cqb respond when selected container changes type (size -> normal)
PASS cqb respond when intermediate container changes type (inline-size -> size)
PASS cqi respond when selected container changes inline-size
PASS cqb respond when selected container changes block-size
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-invalidation.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-invalidation.html
index 0cb5b15f4a8e..1bc708dc88b0 100644
--- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-invalidation.html
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-invalidation.html
@@ -39,27 +39,27 @@
assert_cqi_equals(child, '30px');
try {
- inline.style.containerType = 'none';
+ inline.style.containerType = 'normal';
assert_cqi_equals(child, '50px');
} finally {
inline.style = '';
}
assert_cqi_equals(child, '30px');
- }, `cqi respond when selected container changes type (inline-size -> none)`);
+ }, `cqi respond when selected container changes type (inline-size -> normal)`);
test(function() {
assert_cqb_equals(child, '40px');
try {
- size.style.containerType = 'none';
+ size.style.containerType = 'normal';
assert_cqb_equals(child, '60px');
} finally {
size.style = '';
}
assert_cqb_equals(child, '40px');
- }, `cqb respond when selected container changes type (size -> none)`);
+ }, `cqb respond when selected container changes type (size -> normal)`);
test(function() {
assert_cqb_equals(child, '40px');
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/crashtests/columns-in-table-002-crash.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/crashtests/columns-in-table-002-crash.html
index 8062c91d5c80..24b9f1aab20b 100644
--- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/crashtests/columns-in-table-002-crash.html
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/crashtests/columns-in-table-002-crash.html
@@ -3,7 +3,13 @@
Pass if test does not crash.
-
+
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/crashtests/table-in-columns-004-crash.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/crashtests/table-in-columns-004-crash.html
new file mode 100644
index 000000000000..daed42f00945
--- /dev/null
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/crashtests/table-in-columns-004-crash.html
@@ -0,0 +1,16 @@
+
+CSS Container Queries Crash Test
+
+
Pass if no crash
+
+
+
+
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/crashtests/table-in-columns-005-crash.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/crashtests/table-in-columns-005-crash.html
new file mode 100644
index 000000000000..60d6f9d3a1f7
--- /dev/null
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/crashtests/table-in-columns-005-crash.html
@@ -0,0 +1,8 @@
+
+CSS Container Queries Crash Test
+
+
+
+
+
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/crashtests/w3c-import.log b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/crashtests/w3c-import.log
index 896645234a5a..d31ff46bd9a5 100644
--- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/crashtests/w3c-import.log
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/crashtests/w3c-import.log
@@ -47,3 +47,5 @@ List of files:
/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/crashtests/table-in-columns-001-crash.html
/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/crashtests/table-in-columns-002-crash.html
/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/crashtests/table-in-columns-003-crash.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/crashtests/table-in-columns-004-crash.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/crashtests/table-in-columns-005-crash.html
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/font-relative-calc-dynamic-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/font-relative-calc-dynamic-expected.txt
new file mode 100644
index 000000000000..8762d4686689
--- /dev/null
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/font-relative-calc-dynamic-expected.txt
@@ -0,0 +1,3 @@
+
+FAIL font-relative calc() is responsive to container font-size changes assert_equals: expected "rgb(0, 128, 0)" but got "rgb(255, 0, 0)"
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/font-relative-calc-dynamic.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/font-relative-calc-dynamic.html
new file mode 100644
index 000000000000..54f01d45a396
--- /dev/null
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/font-relative-calc-dynamic.html
@@ -0,0 +1,35 @@
+
+CSS Container Queries Test: font-relative calc - dynamic
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/font-relative-units-dynamic-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/font-relative-units-dynamic-expected.txt
index e5f224ee6f1e..6fcfe76b83db 100644
--- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/font-relative-units-dynamic-expected.txt
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/font-relative-units-dynamic-expected.txt
@@ -1,10 +1,6 @@
-PASS em relative before change
-PASS rem relative before change
-PASS ex relative before change
-PASS ch relative before change
-PASS em relative after change
-PASS rem relative after change
-PASS ex relative after change
-PASS ch relative after change
+FAIL em units respond to changes assert_equals: expected "rgb(0, 128, 0)" but got "rgb(255, 0, 0)"
+PASS rem units respond to changes
+FAIL ex units respond to changes assert_equals: expected "rgb(0, 128, 0)" but got "rgb(255, 0, 0)"
+FAIL ch units respond to changes assert_equals: expected "rgb(0, 128, 0)" but got "rgb(255, 0, 0)"
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/font-relative-units-dynamic.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/font-relative-units-dynamic.html
index 63e17c9a5401..e9f2e1157f3d 100644
--- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/font-relative-units-dynamic.html
+++ b/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/font-relative-units-dynamic.html
@@ -4,50 +4,130 @@
+
+
-