diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-002.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-002.html.ini new file mode 100644 index 00000000000..f64b45fea6b --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-002.html.ini @@ -0,0 +1,4 @@ +[hit-test-floats-002.html] + [Hit test float] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini deleted file mode 100644 index f29da48a2a0..00000000000 --- a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[hit-test-floats-003.html] - [Miss float below something else] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini deleted file mode 100644 index 4bfb0c2053a..00000000000 --- a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[hit-test-floats-004.html] - [Miss float below something else] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-005.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-005.html.ini new file mode 100644 index 00000000000..baa9f1a7541 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-005.html.ini @@ -0,0 +1,4 @@ +[hit-test-floats-005.html] + [Miss clipped float] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-001.html.ini new file mode 100644 index 00000000000..286b53b6e31 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-001.html.ini @@ -0,0 +1,4 @@ +[image-as-flexitem-size-001.html] + [.flexbox > img 4] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-001v.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-001v.html.ini new file mode 100644 index 00000000000..3684416f5b5 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-001v.html.ini @@ -0,0 +1,4 @@ +[image-as-flexitem-size-001v.html] + [.flexbox > img 4] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-002.html.ini new file mode 100644 index 00000000000..dbe4233a739 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-002.html.ini @@ -0,0 +1,4 @@ +[image-as-flexitem-size-002.html] + [.flexbox > img 4] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-002v.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-002v.html.ini new file mode 100644 index 00000000000..a0b5e69c4be --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-002v.html.ini @@ -0,0 +1,4 @@ +[image-as-flexitem-size-002v.html] + [.flexbox > img 4] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-003.html.ini new file mode 100644 index 00000000000..8fde903bd12 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-003.html.ini @@ -0,0 +1,19 @@ +[image-as-flexitem-size-003.html] + [.flexbox > img 16] + expected: FAIL + + [.flexbox > img 11] + expected: FAIL + + [.flexbox > img 10] + expected: FAIL + + [.flexbox > img 13] + expected: FAIL + + [.flexbox > img 12] + expected: FAIL + + [.flexbox > img 4] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-003v.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-003v.html.ini new file mode 100644 index 00000000000..0865c9cb19c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-003v.html.ini @@ -0,0 +1,19 @@ +[image-as-flexitem-size-003v.html] + [.flexbox > img 16] + expected: FAIL + + [.flexbox > img 11] + expected: FAIL + + [.flexbox > img 10] + expected: FAIL + + [.flexbox > img 13] + expected: FAIL + + [.flexbox > img 12] + expected: FAIL + + [.flexbox > img 4] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-004.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-004.html.ini new file mode 100644 index 00000000000..da649930a95 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-004.html.ini @@ -0,0 +1,34 @@ +[image-as-flexitem-size-004.html] + [.flexbox > img 15] + expected: FAIL + + [.flexbox > img 11] + expected: FAIL + + [.flexbox > img 10] + expected: FAIL + + [.flexbox > img 13] + expected: FAIL + + [.flexbox > img 8] + expected: FAIL + + [.flexbox > img 5] + expected: FAIL + + [.flexbox > img 4] + expected: FAIL + + [.flexbox > img 7] + expected: FAIL + + [.flexbox > img 6] + expected: FAIL + + [.flexbox > img 1] + expected: FAIL + + [.flexbox > img 3] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-004v.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-004v.html.ini new file mode 100644 index 00000000000..2a0b3330dc4 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-004v.html.ini @@ -0,0 +1,34 @@ +[image-as-flexitem-size-004v.html] + [.flexbox > img 15] + expected: FAIL + + [.flexbox > img 11] + expected: FAIL + + [.flexbox > img 10] + expected: FAIL + + [.flexbox > img 13] + expected: FAIL + + [.flexbox > img 8] + expected: FAIL + + [.flexbox > img 5] + expected: FAIL + + [.flexbox > img 4] + expected: FAIL + + [.flexbox > img 7] + expected: FAIL + + [.flexbox > img 6] + expected: FAIL + + [.flexbox > img 1] + expected: FAIL + + [.flexbox > img 3] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-005.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-005.html.ini new file mode 100644 index 00000000000..ccc0bc2253a --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-005.html.ini @@ -0,0 +1,43 @@ +[image-as-flexitem-size-005.html] + [.flexbox > img 15] + expected: FAIL + + [.flexbox > img 16] + expected: FAIL + + [.flexbox > img 11] + expected: FAIL + + [.flexbox > img 10] + expected: FAIL + + [.flexbox > img 13] + expected: FAIL + + [.flexbox > img 18] + expected: FAIL + + [.flexbox > img 8] + expected: FAIL + + [.flexbox > img 5] + expected: FAIL + + [.flexbox > img 4] + expected: FAIL + + [.flexbox > img 7] + expected: FAIL + + [.flexbox > img 6] + expected: FAIL + + [.flexbox > img 1] + expected: FAIL + + [.flexbox > img 3] + expected: FAIL + + [.flexbox > img 2] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-005v.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-005v.html.ini new file mode 100644 index 00000000000..3ae5a431843 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-005v.html.ini @@ -0,0 +1,43 @@ +[image-as-flexitem-size-005v.html] + [.flexbox > img 15] + expected: FAIL + + [.flexbox > img 16] + expected: FAIL + + [.flexbox > img 11] + expected: FAIL + + [.flexbox > img 10] + expected: FAIL + + [.flexbox > img 13] + expected: FAIL + + [.flexbox > img 18] + expected: FAIL + + [.flexbox > img 8] + expected: FAIL + + [.flexbox > img 5] + expected: FAIL + + [.flexbox > img 4] + expected: FAIL + + [.flexbox > img 7] + expected: FAIL + + [.flexbox > img 6] + expected: FAIL + + [.flexbox > img 1] + expected: FAIL + + [.flexbox > img 3] + expected: FAIL + + [.flexbox > img 2] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-006.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-006.html.ini new file mode 100644 index 00000000000..3dc2eb00fc7 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-006.html.ini @@ -0,0 +1,43 @@ +[image-as-flexitem-size-006.html] + [.flexbox > img 15] + expected: FAIL + + [.flexbox > img 14] + expected: FAIL + + [.flexbox > img 17] + expected: FAIL + + [.flexbox > img 12] + expected: FAIL + + [.flexbox > img 18] + expected: FAIL + + [.flexbox > img 9] + expected: FAIL + + [.flexbox > img 8] + expected: FAIL + + [.flexbox > img 5] + expected: FAIL + + [.flexbox > img 4] + expected: FAIL + + [.flexbox > img 7] + expected: FAIL + + [.flexbox > img 6] + expected: FAIL + + [.flexbox > img 1] + expected: FAIL + + [.flexbox > img 3] + expected: FAIL + + [.flexbox > img 2] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-006v.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-006v.html.ini new file mode 100644 index 00000000000..9eb2855ec46 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-006v.html.ini @@ -0,0 +1,43 @@ +[image-as-flexitem-size-006v.html] + [.flexbox > img 15] + expected: FAIL + + [.flexbox > img 14] + expected: FAIL + + [.flexbox > img 17] + expected: FAIL + + [.flexbox > img 12] + expected: FAIL + + [.flexbox > img 18] + expected: FAIL + + [.flexbox > img 9] + expected: FAIL + + [.flexbox > img 8] + expected: FAIL + + [.flexbox > img 5] + expected: FAIL + + [.flexbox > img 4] + expected: FAIL + + [.flexbox > img 7] + expected: FAIL + + [.flexbox > img 6] + expected: FAIL + + [.flexbox > img 1] + expected: FAIL + + [.flexbox > img 3] + expected: FAIL + + [.flexbox > img 2] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-007.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-007.html.ini new file mode 100644 index 00000000000..495ce451b17 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-007.html.ini @@ -0,0 +1,4 @@ +[image-as-flexitem-size-007.html] + [.flexbox > img 4] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-007v.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-007v.html.ini new file mode 100644 index 00000000000..416bfb37196 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-007v.html.ini @@ -0,0 +1,4 @@ +[image-as-flexitem-size-007v.html] + [.flexbox > img 4] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/CaretPosition-001.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/CaretPosition-001.html.ini new file mode 100644 index 00000000000..4c79907309b --- /dev/null +++ b/tests/wpt/metadata-layout-2020/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-layout-2020/css/cssom-view/elementFromPoint-001.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-001.html.ini new file mode 100644 index 00000000000..e38782d8c85 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-001.html.ini @@ -0,0 +1,4 @@ +[elementFromPoint-001.html] + [CSSOM View - 5 - extensions to the Document interface] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-invalid-cases.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-invalid-cases.html.ini deleted file mode 100644 index e181af5397f..00000000000 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-invalid-cases.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[elementsFromPoint-invalid-cases.html] - [The root element is the last element returned for otherwise empty queries within the viewport] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/matchMedia-display-none-iframe.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/matchMedia-display-none-iframe.html.ini deleted file mode 100644 index e6e1f29e274..00000000000 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/matchMedia-display-none-iframe.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[matchMedia-display-none-iframe.html] - expected: ERROR diff --git a/tests/wpt/metadata-layout-2020/css/selectors/is-where-error-recovery.tentative.html.ini b/tests/wpt/metadata-layout-2020/css/selectors/is-where-error-recovery.tentative.html.ini new file mode 100644 index 00000000000..fb4b13050d0 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/selectors/is-where-error-recovery.tentative.html.ini @@ -0,0 +1,4 @@ +[is-where-error-recovery.tentative.html] + [CSS Selectors: :is() and :where() error recovery] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/css/selectors/parsing/is.html.ini b/tests/wpt/metadata-layout-2020/css/selectors/parsing/is.html.ini new file mode 100644 index 00000000000..941fc56bf74 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/selectors/parsing/is.html.ini @@ -0,0 +1,19 @@ +[is.html] + [":is(#a)" should be a valid selector] + expected: FAIL + + [".a.b ~ :is(.c.d ~ .e.f)" should be a valid selector] + expected: FAIL + + [".a.b ~ .c.d:is(span.e + .f, .g.h > .i.j .k)" should be a valid selector] + expected: FAIL + + [":is(:hover,:focus)" should be a valid selector] + expected: FAIL + + ["a:is(:not(:hover))" should be a valid selector] + expected: FAIL + + [":is(ul,ol,.list) > [hidden\]" should be a valid selector] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/css/selectors/parsing/where.html.ini b/tests/wpt/metadata-layout-2020/css/selectors/parsing/where.html.ini new file mode 100644 index 00000000000..188d18b9618 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/selectors/parsing/where.html.ini @@ -0,0 +1,19 @@ +[where.html] + [":where(#a)" should be a valid selector] + expected: FAIL + + [":where(:hover,:focus)" should be a valid selector] + expected: FAIL + + [".a.b ~ .c.d:where(span.e + .f, .g.h > .i.j .k)" should be a valid selector] + expected: FAIL + + [":where(ul,ol,.list) > [hidden\]" should be a valid selector] + expected: FAIL + + ["a:where(:not(:hover))" should be a valid selector] + expected: FAIL + + [".a.b ~ :where(.c.d ~ .e.f)" should be a valid selector] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/custom-elements/form-associated/form-elements-namedItem.html.ini b/tests/wpt/metadata-layout-2020/custom-elements/form-associated/form-elements-namedItem.html.ini new file mode 100644 index 00000000000..68ebf17de8b --- /dev/null +++ b/tests/wpt/metadata-layout-2020/custom-elements/form-associated/form-elements-namedItem.html.ini @@ -0,0 +1,4 @@ +[form-elements-namedItem.html] + [Form associated custom elements should work with document.forms.elements.namedItem()] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/fetch/connection-pool/network-partition-key.html.ini b/tests/wpt/metadata-layout-2020/fetch/connection-pool/network-partition-key.html.ini new file mode 100644 index 00000000000..890d1fb5747 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/fetch/connection-pool/network-partition-key.html.ini @@ -0,0 +1,29 @@ +[network-partition-key.html] + expected: TIMEOUT + [Iframes] + expected: FAIL + + [CSP sandbox] + expected: NOTRUN + + [Workers] + expected: TIMEOUT + + [Cross-site resources without credentials] + expected: FAIL + + [about:blank from opaque origin iframe] + expected: NOTRUN + + [Without credentials] + expected: FAIL + + [Workers with cross-site resources] + expected: NOTRUN + + [Cross-site resources with credentials] + expected: FAIL + + [With credentials] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini b/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini index 449b7d8c20f..116edd217dc 100644 --- a/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini +++ b/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini @@ -315,27 +315,24 @@ [
+ + + + + + + + + + +diff --git a/tests/wpt/web-platform-tests/css/css-overflow/scrollbar-gutter-003.html b/tests/wpt/web-platform-tests/css/css-overflow/scrollbar-gutter-003.html index 17f724fb37c..1002b462390 100644 --- a/tests/wpt/web-platform-tests/css/css-overflow/scrollbar-gutter-003.html +++ b/tests/wpt/web-platform-tests/css/css-overflow/scrollbar-gutter-003.html @@ -19,6 +19,10 @@ background: deepskyblue; } + .container.force { + scrollbar-gutter: always force; + } + .content { height: 100%; width: 100%; @@ -70,78 +74,130 @@ function performTest() { setup({explicit_done: true}); + // horizontal + test(function() { let container = document.getElementById('container_auto_h'); let content = document.getElementById('content_auto_h'); - assert_equals(container.scrollWidth, 180, "visible/auto scrollWidth"); - assert_equals(container.clientWidth, 180, "visible/auto clientWidth"); - assert_equals(container.clientWidth, content.clientWidth, "visible/auto clientWidth"); - assert_not_equals(container.offsetWidth, content.offsetWidth, "visible/auto offsetWidth"); + assert_equals(container.scrollWidth, 180, "auto/always scrollWidth"); + assert_equals(container.clientWidth, 180, "auto/always clientWidth"); + assert_equals(container.offsetLeft, content.offsetLeft, "auto/always offsetLeft"); + assert_equals(container.clientWidth, content.clientWidth, "auto/always clientWidth"); + assert_not_equals(container.offsetWidth, content.offsetWidth, "auto/always offsetWidth"); }, "Unexpected layout: overflow auto, scrollbar-gutter always, horizontal-tb"); test(function() { let container = document.getElementById('container_scroll_h'); let content = document.getElementById('content_scroll_h'); - assert_equals(container.scrollWidth, 180, "scroll/auto scrollWidth"); - assert_equals(container.clientWidth, 180, "scroll/auto clientWidth"); - assert_equals(container.clientWidth, content.clientWidth, "scroll/auto clientWidth"); - assert_not_equals(container.offsetWidth, content.offsetWidth, "scroll/auto offsetWidth"); + assert_equals(container.scrollWidth, 180, "scroll/always scrollWidth"); + assert_equals(container.clientWidth, 180, "scroll/always clientWidth"); + assert_equals(container.offsetLeft, content.offsetLeft, "scroll/always offsetLeft"); + assert_equals(container.clientWidth, content.clientWidth, "scroll/always clientWidth"); + assert_not_equals(container.offsetWidth, content.offsetWidth, "scroll/always offsetWidth"); }, "Unexpected layout: overflow scroll, scrollbar-gutter always, horizontal-tb"); test(function() { let container = document.getElementById('container_visible_h'); let content = document.getElementById('content_visible_h'); - assert_equals(container.scrollWidth, 200, "visible/auto scrollWidth"); - assert_equals(container.clientWidth, 200, "visible/auto clientWidth"); - assert_equals(container.clientWidth, content.clientWidth, "visible/auto clientWidth"); - assert_equals(container.offsetWidth, content.offsetWidth, "visible/auto offsetWidth"); + assert_equals(container.scrollWidth, 200, "visible/always scrollWidth"); + assert_equals(container.clientWidth, 200, "visible/always clientWidth"); + assert_equals(container.offsetLeft, content.offsetLeft, "visible/always offsetLeft"); + assert_equals(container.clientWidth, content.clientWidth, "visible/always clientWidth"); + assert_equals(container.offsetWidth, content.offsetWidth, "visible/always offsetWidth"); }, "Unexpected layout: overflow visible, scrollbar-gutter always, horizontal-tb"); test(function() { let container = document.getElementById('container_hidden_h'); let content = document.getElementById('content_hidden_h'); - assert_equals(container.scrollWidth, 200, "hidden/auto scrollWidth"); - assert_equals(container.clientWidth, 200, "hidden/auto clientWidth"); - assert_equals(container.clientWidth, content.clientWidth, "hidden/auto clientWidth"); - assert_equals(container.offsetWidth, content.offsetWidth, "hidden/auto offsetWidth"); + assert_equals(container.scrollWidth, 200, "hidden/always scrollWidth"); + assert_equals(container.clientWidth, 200, "hidden/always clientWidth"); + assert_equals(container.offsetLeft, content.offsetLeft, "hidden/always offsetLeft"); + assert_equals(container.clientWidth, content.clientWidth, "hidden/always clientWidth"); + assert_equals(container.offsetWidth, content.offsetWidth, "hidden/always offsetWidth"); }, "Unexpected layout: overflow hidden, scrollbar-gutter always, horizontal-tb"); + test(function() { + let container = document.getElementById('container_visible_force_h'); + let content = document.getElementById('content_visible_force_h'); + assert_equals(container.scrollWidth, 180, "visible/always force scrollWidth"); + assert_equals(container.clientWidth, 180, "visible/always force clientWidth"); + assert_equals(container.offsetLeft, content.offsetLeft, "visible/always force offsetLeft"); + assert_equals(container.clientWidth, content.clientWidth, "visible/always force clientWidth"); + assert_not_equals(container.offsetWidth, content.offsetWidth, "visible/always force offsetWidth"); + }, "Unexpected layout: overflow visible, scrollbar-gutter always force, horizontal-tb"); + + test(function() { + let container = document.getElementById('container_hidden_force_h'); + let content = document.getElementById('content_hidden_force_h'); + assert_equals(container.scrollWidth, 180, "hidden/always force scrollWidth"); + assert_equals(container.clientWidth, 180, "hidden/always force clientWidth"); + assert_equals(container.offsetLeft, content.offsetLeft, "hidden/always force offsetLeft"); + assert_equals(container.clientWidth, content.clientWidth, "hidden/always force clientWidth"); + assert_not_equals(container.offsetWidth, content.offsetWidth, "hidden/always force offsetWidth"); + }, "Unexpected layout: overflow hidden, scrollbar-gutter always force, horizontal-tb"); + + // vertical + test(function() { let container = document.getElementById('container_auto_v'); let content = document.getElementById('content_auto_v'); - assert_equals(container.scrollHeight, 180, "visible/auto scrollHeight"); - assert_equals(container.clientHeight, 180, "visible/auto clientHeight"); - assert_equals(container.clientHeight, content.clientHeight, "visible/auto clientHeight"); - assert_not_equals(container.offsetHeight, content.offsetHeight, "visible/auto offsetHeight"); + assert_equals(container.scrollHeight, 180, "auto/always scrollHeight"); + assert_equals(container.clientHeight, 180, "auto/always clientHeight"); + assert_equals(container.offsetTop, content.offsetTop, "auto/always offsetTop"); + assert_equals(container.clientHeight, content.clientHeight, "auto/always clientHeight"); + assert_not_equals(container.offsetHeight, content.offsetHeight, "auto/always offsetHeight"); }, "Unexpected layout: overflow auto, scrollbar-gutter always, vertical-rl"); test(function() { let container = document.getElementById('container_scroll_v'); let content = document.getElementById('content_scroll_v'); - assert_equals(container.scrollHeight, 180, "scroll/auto scrollHeight"); - assert_equals(container.clientHeight, 180, "scroll/auto clientHeight"); - assert_equals(container.clientHeight, content.clientHeight, "scroll/auto clientHeight"); - assert_not_equals(container.offsetHeight, content.offsetHeight, "scroll/auto offsetHeight"); + assert_equals(container.scrollHeight, 180, "scroll/always scrollHeight"); + assert_equals(container.clientHeight, 180, "scroll/always clientHeight"); + assert_equals(container.offsetTop, content.offsetTop, "scroll/always offsetTop"); + assert_equals(container.clientHeight, content.clientHeight, "scroll/always clientHeight"); + assert_not_equals(container.offsetHeight, content.offsetHeight, "scroll/always offsetHeight"); }, "Unexpected layout: overflow scroll, scrollbar-gutter always, vertical-rl"); test(function() { let container = document.getElementById('container_visible_v'); let content = document.getElementById('content_visible_v'); - assert_equals(container.scrollHeight, 200, "visible/auto scrollHeight"); - assert_equals(container.clientHeight, 200, "visible/auto clientHeight"); - assert_equals(container.clientHeight, content.clientHeight, "visible/auto clientHeight"); - assert_equals(container.offsetHeight, content.offsetHeight, "visible/auto offsetHeight"); + assert_equals(container.scrollHeight, 200, "visible/always scrollHeight"); + assert_equals(container.clientHeight, 200, "visible/always clientHeight"); + assert_equals(container.offsetTop, content.offsetTop, "visible/always offsetTop"); + assert_equals(container.clientHeight, content.clientHeight, "visible/always clientHeight"); + assert_equals(container.offsetHeight, content.offsetHeight, "visible/always offsetHeight"); }, "Unexpected layout: overflow visible, scrollbar-gutter always, vertical-rl"); test(function() { let container = document.getElementById('container_hidden_v'); let content = document.getElementById('content_hidden_v'); - assert_equals(container.scrollHeight, 200, "hidden/auto scrollHeight"); - assert_equals(container.clientHeight, 200, "hidden/auto clientHeight"); - assert_equals(container.clientHeight, content.clientHeight, "hidden/auto clientHeight"); - assert_equals(container.offsetHeight, content.offsetHeight, "hidden/auto offsetHeight"); + assert_equals(container.scrollHeight, 200, "hidden/always scrollHeight"); + assert_equals(container.clientHeight, 200, "hidden/always clientHeight"); + assert_equals(container.offsetTop, content.offsetTop, "hidden/always offsetTop"); + assert_equals(container.clientHeight, content.clientHeight, "hidden/always clientHeight"); + assert_equals(container.offsetHeight, content.offsetHeight, "hidden/always offsetHeight"); }, "Unexpected layout: overflow hidden, scrollbar-gutter always, vertical-rl"); + test(function() { + let container = document.getElementById('container_visible_force_v'); + let content = document.getElementById('content_visible_force_v'); + assert_equals(container.scrollHeight, 180, "visible/always force scrollHeight"); + assert_equals(container.clientHeight, 180, "visible/always force clientHeight"); + assert_equals(container.offsetTop, content.offsetTop, "visible/always force offsetTop"); + assert_equals(container.clientHeight, content.clientHeight, "visible/always force clientHeight"); + assert_not_equals(container.offsetHeight, content.offsetHeight, "visible/always force offsetHeight"); + }, "Unexpected layout: overflow visible, scrollbar-gutter always force, vertical-rl"); + + test(function() { + let container = document.getElementById('container_hidden_force_v'); + let content = document.getElementById('content_hidden_force_v'); + assert_equals(container.scrollHeight, 180, "hidden/always force scrollHeight"); + assert_equals(container.clientHeight, 180, "hidden/always force clientHeight"); + assert_equals(container.offsetTop, content.offsetTop, "hidden/always force offsetTop"); + assert_equals(container.clientHeight, content.clientHeight, "hidden/always force clientHeight"); + assert_not_equals(container.offsetHeight, content.offsetHeight, "hidden/always force offsetHeight"); + }, "Unexpected layout: overflow hidden, scrollbar-gutter always force, vertical-rl"); + done(); } @@ -166,6 +222,16 @@
+ scrollbar-gutter: always force + +
+ +
+ writing-mode: vertical-rl;
+ scrollbar-gutter: always force + +
+ +
+ diff --git a/tests/wpt/web-platform-tests/css/css-overflow/scrollbar-gutter-004.html b/tests/wpt/web-platform-tests/css/css-overflow/scrollbar-gutter-004.html index 2f9ac9b7f33..b41e3491f27 100644 --- a/tests/wpt/web-platform-tests/css/css-overflow/scrollbar-gutter-004.html +++ b/tests/wpt/web-platform-tests/css/css-overflow/scrollbar-gutter-004.html @@ -19,6 +19,10 @@ background: deepskyblue; } + .container.force { + scrollbar-gutter: stable both force; + } + .content { height: 100%; width: 100%; @@ -70,78 +74,130 @@ function performTest() { setup({explicit_done: true}); + // horizontal + test(function() { let container = document.getElementById('container_auto_h'); let content = document.getElementById('content_auto_h'); - assert_equals(container.scrollWidth, 160, "visible/auto scrollWidth"); - assert_equals(container.clientWidth, 160, "visible/auto clientWidth"); - assert_equals(container.clientWidth, content.clientWidth, "visible/auto clientWidth"); - assert_not_equals(container.offsetWidth, content.offsetWidth, "visible/auto offsetWidth"); + assert_equals(container.scrollWidth, 160, "auto/stable both scrollWidth"); + assert_equals(container.clientWidth, 160, "auto/stable both clientWidth"); + assert_equals(container.offsetLeft, content.offsetLeft - 20, "auto/stable both offsetLeft"); + assert_equals(container.clientWidth, content.clientWidth, "auto/stable both clientWidth"); + assert_not_equals(container.offsetWidth, content.offsetWidth, "auto/stable both offsetWidth"); }, "Unexpected layout: overflow auto, scrollbar-gutter stable both, horizontal-tb"); test(function() { let container = document.getElementById('container_scroll_h'); let content = document.getElementById('content_scroll_h'); - assert_equals(container.scrollWidth, 160, "scroll/auto scrollWidth"); - assert_equals(container.clientWidth, 160, "scroll/auto clientWidth"); - assert_equals(container.clientWidth, content.clientWidth, "scroll/auto clientWidth"); - assert_not_equals(container.offsetWidth, content.offsetWidth, "scroll/auto offsetWidth"); + assert_equals(container.scrollWidth, 160, "scroll/stable both scrollWidth"); + assert_equals(container.clientWidth, 160, "scroll/stable both clientWidth"); + assert_equals(container.offsetLeft, content.offsetLeft - 20, "scroll/stable both offsetLeft"); + assert_equals(container.clientWidth, content.clientWidth, "scroll/stable both clientWidth"); + assert_not_equals(container.offsetWidth, content.offsetWidth, "scroll/stable both offsetWidth"); }, "Unexpected layout: overflow scroll, scrollbar-gutter stable both, horizontal-tb"); test(function() { let container = document.getElementById('container_visible_h'); let content = document.getElementById('content_visible_h'); - assert_equals(container.scrollWidth, 200, "visible/auto scrollWidth"); - assert_equals(container.clientWidth, 200, "visible/auto clientWidth"); - assert_equals(container.clientWidth, content.clientWidth, "visible/auto clientWidth"); - assert_equals(container.offsetWidth, content.offsetWidth, "visible/auto offsetWidth"); + assert_equals(container.scrollWidth, 200, "visible/stable both scrollWidth"); + assert_equals(container.clientWidth, 200, "visible/stable both clientWidth"); + assert_equals(container.offsetLeft, content.offsetLeft, "visible/stable both offsetLeft"); + assert_equals(container.clientWidth, content.clientWidth, "visible/stable both clientWidth"); + assert_equals(container.offsetWidth, content.offsetWidth, "visible/stable both offsetWidth"); }, "Unexpected layout: overflow visible, scrollbar-gutter stable both, horizontal-tb"); test(function() { let container = document.getElementById('container_hidden_h'); let content = document.getElementById('content_hidden_h'); - assert_equals(container.scrollWidth, 200, "hidden/auto scrollWidth"); - assert_equals(container.clientWidth, 200, "hidden/auto clientWidth"); - assert_equals(container.clientWidth, content.clientWidth, "hidden/auto clientWidth"); - assert_equals(container.offsetWidth, content.offsetWidth, "hidden/auto offsetWidth"); + assert_equals(container.scrollWidth, 200, "hidden/stable both scrollWidth"); + assert_equals(container.clientWidth, 200, "hidden/stable both clientWidth"); + assert_equals(container.offsetLeft, content.offsetLeft, "hidden/stable both offsetLeft"); + assert_equals(container.clientWidth, content.clientWidth, "hidden/stable both clientWidth"); + assert_equals(container.offsetWidth, content.offsetWidth, "hidden/stable both offsetWidth"); }, "Unexpected layout: overflow hidden, scrollbar-gutter stable both, horizontal-tb"); + test(function() { + let container = document.getElementById('container_visible_force_h'); + let content = document.getElementById('content_visible_force_h'); + assert_equals(container.scrollWidth, 160, "visible/stable both force scrollWidth"); + assert_equals(container.clientWidth, 160, "visible/stable both force clientWidth"); + assert_equals(container.offsetLeft, content.offsetLeft - 20, "visible/stable both force offsetLeft"); + assert_equals(container.clientWidth, content.clientWidth, "visible/stable both force clientWidth"); + assert_not_equals(container.offsetWidth, content.offsetWidth, "visible/stable both force offsetWidth"); + }, "Unexpected layout: overflow visible, scrollbar-gutter stable both force, horizontal-tb"); + + test(function() { + let container = document.getElementById('container_hidden_force_h'); + let content = document.getElementById('content_hidden_force_h'); + assert_equals(container.scrollWidth, 160, "hidden/stable both force scrollWidth"); + assert_equals(container.clientWidth, 160, "hidden/stable both force clientWidth"); + assert_equals(container.offsetLeft, content.offsetLeft - 20, "hidden/stable both force offsetLeft"); + assert_equals(container.clientWidth, content.clientWidth, "hidden/stable both force clientWidth"); + assert_not_equals(container.offsetWidth, content.offsetWidth, "hidden/stable both force offsetWidth"); + }, "Unexpected layout: overflow hidden, scrollbar-gutter stable both force, horizontal-tb"); + + // vertical + test(function() { let container = document.getElementById('container_auto_v'); let content = document.getElementById('content_auto_v'); - assert_equals(container.scrollHeight, 160, "visible/auto scrollHeight"); - assert_equals(container.clientHeight, 160, "visible/auto clientHeight"); - assert_equals(container.clientHeight, content.clientHeight, "visible/auto clientHeight"); - assert_not_equals(container.offsetHeight, content.offsetHeight, "visible/auto offsetHeight"); + assert_equals(container.scrollHeight, 160, "auto/stable both scrollHeight"); + assert_equals(container.clientHeight, 160, "auto/stable both clientHeight"); + assert_equals(container.offsetTop, content.offsetTop - 20, "auto/stable both offsetTop"); + assert_equals(container.clientHeight, content.clientHeight, "auto/stable both clientHeight"); + assert_not_equals(container.offsetHeight, content.offsetHeight, "auto/stable both offsetHeight"); }, "Unexpected layout: overflow auto, scrollbar-gutter stable both, vertical-rl"); test(function() { let container = document.getElementById('container_scroll_v'); let content = document.getElementById('content_scroll_v'); - assert_equals(container.scrollHeight, 160, "scroll/auto scrollHeight"); - assert_equals(container.clientHeight, 160, "scroll/auto clientHeight"); - assert_equals(container.clientHeight, content.clientHeight, "scroll/auto clientHeight"); - assert_not_equals(container.offsetHeight, content.offsetHeight, "scroll/auto offsetHeight"); + assert_equals(container.scrollHeight, 160, "scroll/stable both scrollHeight"); + assert_equals(container.clientHeight, 160, "scroll/stable both clientHeight"); + assert_equals(container.offsetTop, content.offsetTop - 20, "scroll/stable both offsetTop"); + assert_equals(container.clientHeight, content.clientHeight, "scroll/stable both clientHeight"); + assert_not_equals(container.offsetHeight, content.offsetHeight, "scroll/stable both offsetHeight"); }, "Unexpected layout: overflow scroll, scrollbar-gutter stable both, vertical-rl"); test(function() { let container = document.getElementById('container_visible_v'); let content = document.getElementById('content_visible_v'); - assert_equals(container.scrollHeight, 200, "visible/auto scrollHeight"); - assert_equals(container.clientHeight, 200, "visible/auto clientHeight"); - assert_equals(container.clientHeight, content.clientHeight, "visible/auto clientHeight"); - assert_equals(container.offsetHeight, content.offsetHeight, "visible/auto offsetHeight"); + assert_equals(container.scrollHeight, 200, "visible/stable both scrollHeight"); + assert_equals(container.clientHeight, 200, "visible/stable both clientHeight"); + assert_equals(container.offsetTop, content.offsetTop, "visible/stable both offsetTop"); + assert_equals(container.clientHeight, content.clientHeight, "visible/stable both clientHeight"); + assert_equals(container.offsetHeight, content.offsetHeight, "visible/stable both offsetHeight"); }, "Unexpected layout: overflow visible, scrollbar-gutter stable both, vertical-rl"); test(function() { let container = document.getElementById('container_hidden_v'); let content = document.getElementById('content_hidden_v'); - assert_equals(container.scrollHeight, 200, "hidden/auto scrollHeight"); - assert_equals(container.clientHeight, 200, "hidden/auto clientHeight"); - assert_equals(container.clientHeight, content.clientHeight, "hidden/auto clientHeight"); - assert_equals(container.offsetHeight, content.offsetHeight, "hidden/auto offsetHeight"); + assert_equals(container.scrollHeight, 200, "hidden/stable both scrollHeight"); + assert_equals(container.clientHeight, 200, "hidden/stable both clientHeight"); + assert_equals(container.offsetTop, content.offsetTop, "hidden/stable both offsetTop"); + assert_equals(container.clientHeight, content.clientHeight, "hidden/stable both clientHeight"); + assert_equals(container.offsetHeight, content.offsetHeight, "hidden/stable both offsetHeight"); }, "Unexpected layout: overflow hidden, scrollbar-gutter stable both, vertical-rl"); + test(function() { + let container = document.getElementById('container_visible_force_v'); + let content = document.getElementById('content_visible_force_v'); + assert_equals(container.scrollHeight, 160, "visible/stable both scrollHeight"); + assert_equals(container.clientHeight, 160, "visible/stable both clientHeight"); + assert_equals(container.offsetTop, content.offsetTop - 20, "visible/stable both offsetTop"); + assert_equals(container.clientHeight, content.clientHeight, "visible/stable both clientHeight"); + assert_not_equals(container.offsetHeight, content.offsetHeight, "visible/stable both offsetHeight"); + }, "Unexpected layout: overflow visible, scrollbar-gutter stable both force, vertical-rl"); + + test(function() { + let container = document.getElementById('container_hidden_force_v'); + let content = document.getElementById('content_hidden_force_v'); + assert_equals(container.scrollHeight, 160, "hidden/stable both scrollHeight"); + assert_equals(container.clientHeight, 160, "hidden/stable both clientHeight"); + assert_equals(container.offsetTop, content.offsetTop - 20, "hidden/stable both offsetTop"); + assert_equals(container.clientHeight, content.clientHeight, "hidden/stable both clientHeight"); + assert_not_equals(container.offsetHeight, content.offsetHeight, "hidden/stable both offsetHeight"); + }, "Unexpected layout: overflow hidden, scrollbar-gutter stable both force, vertical-rl"); + done(); } @@ -166,6 +222,16 @@
+ scrollbar-gutter: stable both force + +
+ +
+ writing-mode: vertical-rl;
+ scrollbar-gutter: stable both force + +
+ +
+ diff --git a/tests/wpt/web-platform-tests/css/css-overflow/scrollbar-gutter-005.html b/tests/wpt/web-platform-tests/css/css-overflow/scrollbar-gutter-005.html index 5f1e8413f3b..dca465770dd 100644 --- a/tests/wpt/web-platform-tests/css/css-overflow/scrollbar-gutter-005.html +++ b/tests/wpt/web-platform-tests/css/css-overflow/scrollbar-gutter-005.html @@ -19,6 +19,10 @@ background: deepskyblue; } + .container.force { + scrollbar-gutter: always both force; + } + .content { height: 100%; width: 100%; @@ -70,78 +74,130 @@ function performTest() { setup({explicit_done: true}); + // horizontal + test(function() { let container = document.getElementById('container_auto_h'); let content = document.getElementById('content_auto_h'); - assert_equals(container.scrollWidth, 160, "visible/auto scrollWidth"); - assert_equals(container.clientWidth, 160, "visible/auto clientWidth"); - assert_equals(container.clientWidth, content.clientWidth, "visible/auto clientWidth"); - assert_not_equals(container.offsetWidth, content.offsetWidth, "visible/auto offsetWidth"); + assert_equals(container.scrollWidth, 160, "auto/always both scrollWidth"); + assert_equals(container.clientWidth, 160, "auto/always both clientWidth"); + assert_equals(container.offsetLeft, content.offsetLeft - 20, "auto/always both offsetLeft"); + assert_equals(container.clientWidth, content.clientWidth, "auto/always both clientWidth"); + assert_not_equals(container.offsetWidth, content.offsetWidth, "auto/always both offsetWidth"); }, "Unexpected layout: overflow auto, scrollbar-gutter always both, horizontal-tb"); test(function() { let container = document.getElementById('container_scroll_h'); let content = document.getElementById('content_scroll_h'); - assert_equals(container.scrollWidth, 160, "scroll/auto scrollWidth"); - assert_equals(container.clientWidth, 160, "scroll/auto clientWidth"); - assert_equals(container.clientWidth, content.clientWidth, "scroll/auto clientWidth"); - assert_not_equals(container.offsetWidth, content.offsetWidth, "scroll/auto offsetWidth"); + assert_equals(container.scrollWidth, 160, "scroll/always both scrollWidth"); + assert_equals(container.clientWidth, 160, "scroll/always both clientWidth"); + assert_equals(container.offsetLeft, content.offsetLeft - 20, "scroll/always both offsetLeft"); + assert_equals(container.clientWidth, content.clientWidth, "scroll/always both clientWidth"); + assert_not_equals(container.offsetWidth, content.offsetWidth, "scroll/always both offsetWidth"); }, "Unexpected layout: overflow scroll, scrollbar-gutter always both, horizontal-tb"); test(function() { let container = document.getElementById('container_visible_h'); let content = document.getElementById('content_visible_h'); - assert_equals(container.scrollWidth, 200, "visible/auto scrollWidth"); - assert_equals(container.clientWidth, 200, "visible/auto clientWidth"); - assert_equals(container.clientWidth, content.clientWidth, "visible/auto clientWidth"); - assert_equals(container.offsetWidth, content.offsetWidth, "visible/auto offsetWidth"); + assert_equals(container.scrollWidth, 200, "visible/always both scrollWidth"); + assert_equals(container.clientWidth, 200, "visible/always both clientWidth"); + assert_equals(container.offsetLeft, content.offsetLeft, "visible/always both offsetLeft"); + assert_equals(container.clientWidth, content.clientWidth, "visible/always both clientWidth"); + assert_equals(container.offsetWidth, content.offsetWidth, "visible/always both offsetWidth"); }, "Unexpected layout: overflow visible, scrollbar-gutter always both, horizontal-tb"); test(function() { let container = document.getElementById('container_hidden_h'); let content = document.getElementById('content_hidden_h'); - assert_equals(container.scrollWidth, 200, "hidden/auto scrollWidth"); - assert_equals(container.clientWidth, 200, "hidden/auto clientWidth"); - assert_equals(container.clientWidth, content.clientWidth, "hidden/auto clientWidth"); - assert_equals(container.offsetWidth, content.offsetWidth, "hidden/auto offsetWidth"); + assert_equals(container.scrollWidth, 200, "hidden/always both scrollWidth"); + assert_equals(container.clientWidth, 200, "hidden/always both clientWidth"); + assert_equals(container.offsetLeft, content.offsetLeft, "hidden/always both offsetLeft"); + assert_equals(container.clientWidth, content.clientWidth, "hidden/always both clientWidth"); + assert_equals(container.offsetWidth, content.offsetWidth, "hidden/always both offsetWidth"); }, "Unexpected layout: overflow hidden, scrollbar-gutter always both, horizontal-tb"); + test(function() { + let container = document.getElementById('container_visible_force_h'); + let content = document.getElementById('content_visible_force_h'); + assert_equals(container.scrollWidth, 160, "visible/always both force scrollWidth"); + assert_equals(container.clientWidth, 160, "visible/always both force clientWidth"); + assert_equals(container.offsetLeft, content.offsetLeft - 20, "visible/always both force offsetLeft"); + assert_equals(container.clientWidth, content.clientWidth, "visible/always both force clientWidth"); + assert_not_equals(container.offsetWidth, content.offsetWidth, "visible/always both force offsetWidth"); + }, "Unexpected layout: overflow visible, scrollbar-gutter always both force, horizontal-tb"); + + test(function() { + let container = document.getElementById('container_hidden_force_h'); + let content = document.getElementById('content_hidden_force_h'); + assert_equals(container.scrollWidth, 160, "hidden/always both force scrollWidth"); + assert_equals(container.clientWidth, 160, "hidden/always both force clientWidth"); + assert_equals(container.offsetLeft, content.offsetLeft - 20, "hidden/always both force offsetLeft"); + assert_equals(container.clientWidth, content.clientWidth, "hidden/always both force clientWidth"); + assert_not_equals(container.offsetWidth, content.offsetWidth, "hidden/always both force offsetWidth"); + }, "Unexpected layout: overflow hidden, scrollbar-gutter always both force, horizontal-tb"); + + // vertical + test(function() { let container = document.getElementById('container_auto_v'); let content = document.getElementById('content_auto_v'); - assert_equals(container.scrollHeight, 160, "visible/auto scrollHeight"); - assert_equals(container.clientHeight, 160, "visible/auto clientHeight"); - assert_equals(container.clientHeight, content.clientHeight, "visible/auto clientHeight"); - assert_not_equals(container.offsetHeight, content.offsetHeight, "visible/auto offsetHeight"); + assert_equals(container.scrollHeight, 160, "auto/always both scrollHeight"); + assert_equals(container.clientHeight, 160, "auto/always both clientHeight"); + assert_equals(container.offsetTop, content.offsetTop - 20, "auto/always both offsetTop"); + assert_equals(container.clientHeight, content.clientHeight, "auto/always both clientHeight"); + assert_not_equals(container.offsetHeight, content.offsetHeight, "auto/always both offsetHeight"); }, "Unexpected layout: overflow auto, scrollbar-gutter always both, vertical-rl"); test(function() { let container = document.getElementById('container_scroll_v'); let content = document.getElementById('content_scroll_v'); - assert_equals(container.scrollHeight, 160, "scroll/auto scrollHeight"); - assert_equals(container.clientHeight, 160, "scroll/auto clientHeight"); - assert_equals(container.clientHeight, content.clientHeight, "scroll/auto clientHeight"); - assert_not_equals(container.offsetHeight, content.offsetHeight, "scroll/auto offsetHeight"); + assert_equals(container.scrollHeight, 160, "scroll/always both scrollHeight"); + assert_equals(container.clientHeight, 160, "scroll/always both clientHeight"); + assert_equals(container.offsetTop, content.offsetTop - 20, "scroll/always both offsetTop"); + assert_equals(container.clientHeight, content.clientHeight, "scroll/always both clientHeight"); + assert_not_equals(container.offsetHeight, content.offsetHeight, "scroll/always both offsetHeight"); }, "Unexpected layout: overflow scroll, scrollbar-gutter always both, vertical-rl"); test(function() { let container = document.getElementById('container_visible_v'); let content = document.getElementById('content_visible_v'); - assert_equals(container.scrollHeight, 200, "visible/auto scrollHeight"); - assert_equals(container.clientHeight, 200, "visible/auto clientHeight"); - assert_equals(container.clientHeight, content.clientHeight, "visible/auto clientHeight"); - assert_equals(container.offsetHeight, content.offsetHeight, "visible/auto offsetHeight"); + assert_equals(container.scrollHeight, 200, "visible/always both scrollHeight"); + assert_equals(container.clientHeight, 200, "visible/always both clientHeight"); + assert_equals(container.offsetTop, content.offsetTop, "visible/always both offsetTop"); + assert_equals(container.clientHeight, content.clientHeight, "visible/always both clientHeight"); + assert_equals(container.offsetHeight, content.offsetHeight, "visible/always both offsetHeight"); }, "Unexpected layout: overflow visible, scrollbar-gutter always both, vertical-rl"); test(function() { let container = document.getElementById('container_hidden_v'); let content = document.getElementById('content_hidden_v'); - assert_equals(container.scrollHeight, 200, "hidden/auto scrollHeight"); - assert_equals(container.clientHeight, 200, "hidden/auto clientHeight"); - assert_equals(container.clientHeight, content.clientHeight, "hidden/auto clientHeight"); - assert_equals(container.offsetHeight, content.offsetHeight, "hidden/auto offsetHeight"); + assert_equals(container.scrollHeight, 200, "hidden/always both scrollHeight"); + assert_equals(container.clientHeight, 200, "hidden/always both clientHeight"); + assert_equals(container.offsetTop, content.offsetTop, "hidden/always both offsetTop"); + assert_equals(container.clientHeight, content.clientHeight, "hidden/always both clientHeight"); + assert_equals(container.offsetHeight, content.offsetHeight, "hidden/always both offsetHeight"); }, "Unexpected layout: overflow hidden, scrollbar-gutter always both, vertical-rl"); + test(function() { + let container = document.getElementById('container_visible_force_v'); + let content = document.getElementById('content_visible_force_v'); + assert_equals(container.scrollHeight, 160, "visible/always both scrollHeight"); + assert_equals(container.clientHeight, 160, "visible/always both clientHeight"); + assert_equals(container.offsetTop, content.offsetTop - 20, "visible/always both offsetTop"); + assert_equals(container.clientHeight, content.clientHeight, "visible/always both clientHeight"); + assert_not_equals(container.offsetHeight, content.offsetHeight, "visible/always both offsetHeight"); + }, "Unexpected layout: overflow visible, scrollbar-gutter always both force, vertical-rl"); + + test(function() { + let container = document.getElementById('container_hidden_force_v'); + let content = document.getElementById('content_hidden_force_v'); + assert_equals(container.scrollHeight, 160, "hidden/always both scrollHeight"); + assert_equals(container.clientHeight, 160, "hidden/always both clientHeight"); + assert_equals(container.offsetTop, content.offsetTop - 20, "hidden/always both offsetTop"); + assert_equals(container.clientHeight, content.clientHeight, "hidden/always both clientHeight"); + assert_not_equals(container.offsetHeight, content.offsetHeight, "hidden/always both offsetHeight"); + }, "Unexpected layout: overflow hidden, scrollbar-gutter always both force, vertical-rl"); + done(); } @@ -166,6 +222,16 @@
+ scrollbar-gutter: always both force + +
+ +
+ writing-mode: vertical-rl;
+ scrollbar-gutter: always both force + +
+ +
+ diff --git a/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/abspos-012.tentative.html b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/abspos-012.tentative.html new file mode 100644 index 00000000000..537f8778f91 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/abspos-012.tentative.html @@ -0,0 +1,11 @@ + +
+ + + + +
Test passes if there is a filled green square and no red.
+ +
diff --git a/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/abspos-013.tentative.html b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/abspos-013.tentative.html new file mode 100644 index 00000000000..16c3417b48f --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/abspos-013.tentative.html @@ -0,0 +1,11 @@ + +
+ + + + +
Test passes if there is a filled green square and no red.
+ +
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/scrolalble-hidden-3d-transform-z-ref.html b/tests/wpt/web-platform-tests/css/css-transforms/scrolalble-hidden-3d-transform-z-ref.html new file mode 100644 index 00000000000..b2399db472f --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-transforms/scrolalble-hidden-3d-transform-z-ref.html @@ -0,0 +1,2 @@ + +
\ No newline at end of file diff --git a/tests/wpt/web-platform-tests/css/css-transforms/scrolalble-hidden-3d-transform-z.html b/tests/wpt/web-platform-tests/css/css-transforms/scrolalble-hidden-3d-transform-z.html new file mode 100644 index 00000000000..5d539f63cfe --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-transforms/scrolalble-hidden-3d-transform-z.html @@ -0,0 +1,26 @@ + + + + + +
\ No newline at end of file diff --git a/tests/wpt/web-platform-tests/css/css-transforms/scrolalble-scroll-3d-transform-z-ref.html b/tests/wpt/web-platform-tests/css/css-transforms/scrolalble-scroll-3d-transform-z-ref.html new file mode 100644 index 00000000000..b2399db472f --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-transforms/scrolalble-scroll-3d-transform-z-ref.html @@ -0,0 +1,2 @@ + +
\ No newline at end of file diff --git a/tests/wpt/web-platform-tests/css/css-transforms/scrolalble-scroll-3d-transform-z.html b/tests/wpt/web-platform-tests/css/css-transforms/scrolalble-scroll-3d-transform-z.html new file mode 100644 index 00000000000..fd273fdf109 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-transforms/scrolalble-scroll-3d-transform-z.html @@ -0,0 +1,26 @@ + + + + + +
\ No newline at end of file diff --git a/tests/wpt/web-platform-tests/css/selectors/is-where-error-recovery.tentative.html b/tests/wpt/web-platform-tests/css/selectors/is-where-error-recovery.tentative.html new file mode 100644 index 00000000000..31f5b8ccc6c --- /dev/null +++ b/tests/wpt/web-platform-tests/css/selectors/is-where-error-recovery.tentative.html @@ -0,0 +1,54 @@ + +
+ + + + + + + +
+ diff --git a/tests/wpt/web-platform-tests/css/selectors/is-where-parsing.html b/tests/wpt/web-platform-tests/css/selectors/is-where-parsing.html index 0f064bab73c..33cb6ad726b 100644 --- a/tests/wpt/web-platform-tests/css/selectors/is-where-parsing.html +++ b/tests/wpt/web-platform-tests/css/selectors/is-where-parsing.html @@ -5,18 +5,22 @@ + + + + diff --git a/tests/wpt/web-platform-tests/css/selectors/parsing/child.html b/tests/wpt/web-platform-tests/css/selectors/parsing/child.html new file mode 100644 index 00000000000..510c45db867 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/selectors/parsing/child.html @@ -0,0 +1,11 @@ + + +
+ + + + + diff --git a/tests/wpt/web-platform-tests/css/selectors/parsing/class.html b/tests/wpt/web-platform-tests/css/selectors/parsing/class.html new file mode 100644 index 00000000000..00abcf838da --- /dev/null +++ b/tests/wpt/web-platform-tests/css/selectors/parsing/class.html @@ -0,0 +1,15 @@ + + +
+ + + + + diff --git a/tests/wpt/web-platform-tests/css/selectors/parsing/descendant.html b/tests/wpt/web-platform-tests/css/selectors/parsing/descendant.html new file mode 100644 index 00000000000..5ff3a7bbfd9 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/selectors/parsing/descendant.html @@ -0,0 +1,13 @@ + + +
+ + + + + diff --git a/tests/wpt/web-platform-tests/css/selectors/parsing/id.html b/tests/wpt/web-platform-tests/css/selectors/parsing/id.html new file mode 100644 index 00000000000..2441c4217eb --- /dev/null +++ b/tests/wpt/web-platform-tests/css/selectors/parsing/id.html @@ -0,0 +1,13 @@ + + +
+ + + + + diff --git a/tests/wpt/web-platform-tests/css/selectors/parsing/is.html b/tests/wpt/web-platform-tests/css/selectors/parsing/is.html new file mode 100644 index 00000000000..68236445c5f --- /dev/null +++ b/tests/wpt/web-platform-tests/css/selectors/parsing/is.html @@ -0,0 +1,18 @@ + + +
+ + + + + diff --git a/tests/wpt/web-platform-tests/css/selectors/parsing/not.html b/tests/wpt/web-platform-tests/css/selectors/parsing/not.html new file mode 100644 index 00000000000..3895683d1c8 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/selectors/parsing/not.html @@ -0,0 +1,17 @@ + + +
+ + + + + diff --git a/tests/wpt/web-platform-tests/css/selectors/parsing/sibling.html b/tests/wpt/web-platform-tests/css/selectors/parsing/sibling.html new file mode 100644 index 00000000000..4f7a7a3fbcc --- /dev/null +++ b/tests/wpt/web-platform-tests/css/selectors/parsing/sibling.html @@ -0,0 +1,12 @@ + + +
+ + + + + diff --git a/tests/wpt/web-platform-tests/css/selectors/parsing/universal.html b/tests/wpt/web-platform-tests/css/selectors/parsing/universal.html new file mode 100644 index 00000000000..e944a93f12c --- /dev/null +++ b/tests/wpt/web-platform-tests/css/selectors/parsing/universal.html @@ -0,0 +1,14 @@ + + +
+ + + + + diff --git a/tests/wpt/web-platform-tests/css/selectors/parsing/where.html b/tests/wpt/web-platform-tests/css/selectors/parsing/where.html new file mode 100644 index 00000000000..3a909695709 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/selectors/parsing/where.html @@ -0,0 +1,18 @@ + + +
+ + + + + diff --git a/tests/wpt/web-platform-tests/custom-elements/form-associated/form-elements-namedItem.html b/tests/wpt/web-platform-tests/custom-elements/form-associated/form-elements-namedItem.html new file mode 100644 index 00000000000..385d0f281d1 --- /dev/null +++ b/tests/wpt/web-platform-tests/custom-elements/form-associated/form-elements-namedItem.html @@ -0,0 +1,30 @@ + +
\ No newline at end of file diff --git a/tests/wpt/web-platform-tests/encoding/idlharness.any.js b/tests/wpt/web-platform-tests/encoding/idlharness.any.js index 7a057f14e3a..acd100c43b4 100644 --- a/tests/wpt/web-platform-tests/encoding/idlharness.any.js +++ b/tests/wpt/web-platform-tests/encoding/idlharness.any.js @@ -4,7 +4,7 @@ idl_test( ['encoding'], - [], // No deps + ['streams'], idl_array => { idl_array.add_objects({ TextEncoder: ['new TextEncoder()'], diff --git a/tests/wpt/web-platform-tests/fetch/connection-pool/network-partition-key.html b/tests/wpt/web-platform-tests/fetch/connection-pool/network-partition-key.html new file mode 100644 index 00000000000..60a784cd84e --- /dev/null +++ b/tests/wpt/web-platform-tests/fetch/connection-pool/network-partition-key.html @@ -0,0 +1,264 @@ + + +
+ +
+ + + + + + + +
+