mirror of
https://github.com/servo/servo.git
synced 2025-07-30 10:40:27 +01:00
Update web-platform-tests to revision 192193581b6912818a0e3f2408f40f033a451a79
This commit is contained in:
parent
2cf9a00c99
commit
13bbfdb3eb
46 changed files with 1499 additions and 144 deletions
|
@ -104527,6 +104527,18 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"css/css-backgrounds/background-image-first-line.html": [
|
||||
[
|
||||
"/css/css-backgrounds/background-image-first-line.html",
|
||||
[
|
||||
[
|
||||
"/css/css-backgrounds/reference/background-image-first-line-ref.html",
|
||||
"=="
|
||||
]
|
||||
],
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-backgrounds/background-image-none-gradient-repaint.html": [
|
||||
[
|
||||
"/css/css-backgrounds/background-image-none-gradient-repaint.html",
|
||||
|
@ -108571,6 +108583,18 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"css/css-break/block-end-aligned-abspos-nested.html": [
|
||||
[
|
||||
"/css/css-break/block-end-aligned-abspos-nested.html",
|
||||
[
|
||||
[
|
||||
"/css/reference/ref-filled-green-100px-square.xht",
|
||||
"=="
|
||||
]
|
||||
],
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-break/block-end-aligned-abspos-with-overflow.html": [
|
||||
[
|
||||
"/css/css-break/block-end-aligned-abspos-with-overflow.html",
|
||||
|
@ -122487,6 +122511,30 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"css/css-grid/animation/grid-template-columns-001.html": [
|
||||
[
|
||||
"/css/css-grid/animation/grid-template-columns-001.html",
|
||||
[
|
||||
[
|
||||
"/css/css-grid/animation/grid-template-columns-001-ref.html",
|
||||
"=="
|
||||
]
|
||||
],
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-grid/animation/grid-template-rows-001.html": [
|
||||
[
|
||||
"/css/css-grid/animation/grid-template-rows-001.html",
|
||||
[
|
||||
[
|
||||
"/css/css-grid/animation/grid-template-rows-001-ref.html",
|
||||
"=="
|
||||
]
|
||||
],
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-grid/grid-definition/fr-unit-with-percentage.html": [
|
||||
[
|
||||
"/css/css-grid/grid-definition/fr-unit-with-percentage.html",
|
||||
|
@ -253299,6 +253347,11 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"css/css-backgrounds/reference/background-image-first-line-ref.html": [
|
||||
[
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-backgrounds/reference/background-origin-002-ref.html": [
|
||||
[
|
||||
{}
|
||||
|
@ -264934,6 +264987,21 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"css/css-grid/animation/grid-template-columns-001-ref.html": [
|
||||
[
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-grid/animation/grid-template-rows-001-ref.html": [
|
||||
[
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-grid/animation/resources/interpolation-testcommon.js": [
|
||||
[
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-grid/grid-definition/grid-template-columns-fit-content-001-ref.html": [
|
||||
[
|
||||
{}
|
||||
|
@ -334790,6 +334858,12 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"animation-worklet/current-time.https.html": [
|
||||
[
|
||||
"/animation-worklet/current-time.https.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"animation-worklet/idlharness.any.js": [
|
||||
[
|
||||
"/animation-worklet/idlharness.any.html",
|
||||
|
@ -342266,6 +342340,12 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"css/css-flexbox/hittest-overlapping-order.html": [
|
||||
[
|
||||
"/css/css-flexbox/hittest-overlapping-order.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-flexbox/hittest-overlapping-relative.html": [
|
||||
[
|
||||
"/css/css-flexbox/hittest-overlapping-relative.html",
|
||||
|
@ -343762,6 +343842,18 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"css/css-grid/animation/grid-template-columns-interpolation.html": [
|
||||
[
|
||||
"/css/css-grid/animation/grid-template-columns-interpolation.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-grid/animation/grid-template-rows-interpolation.html": [
|
||||
[
|
||||
"/css/css-grid/animation/grid-template-rows-interpolation.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-grid/grid-definition/grid-change-fit-content-argument-001.html": [
|
||||
[
|
||||
"/css/css-grid/grid-definition/grid-change-fit-content-argument-001.html",
|
||||
|
@ -344866,6 +344958,18 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"css/css-overflow/overflow-abpos-transform.html": [
|
||||
[
|
||||
"/css/css-overflow/overflow-abpos-transform.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-overflow/overflow-inline-transform-relative.html": [
|
||||
[
|
||||
"/css/css-overflow/overflow-inline-transform-relative.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-overflow/overflow-shorthand-001.html": [
|
||||
[
|
||||
"/css/css-overflow/overflow-shorthand-001.html",
|
||||
|
@ -453323,6 +453427,10 @@
|
|||
"d029ab79491c9ad2d9dcdf753b05487b80060f19",
|
||||
"support"
|
||||
],
|
||||
"animation-worklet/current-time.https.html": [
|
||||
"402c49307df75b0c6d264f8072425b617342d2c3",
|
||||
"testharness"
|
||||
],
|
||||
"animation-worklet/idlharness.any.js": [
|
||||
"e821a2fee8a3ace54e8e7092ab17c490a0ded914",
|
||||
"testharness"
|
||||
|
@ -540767,6 +540875,10 @@
|
|||
"f78460b90708223616a019aa48aaaa4fe8b2ce43",
|
||||
"reftest"
|
||||
],
|
||||
"css/css-backgrounds/background-image-first-line.html": [
|
||||
"c8dee7050b6241279d5f462263b9fdead50004fc",
|
||||
"reftest"
|
||||
],
|
||||
"css/css-backgrounds/background-image-none-gradient-repaint.html": [
|
||||
"3f39fb8d850d7561703f791135ea7dd4b3aa9fe8",
|
||||
"reftest"
|
||||
|
@ -543351,6 +543463,10 @@
|
|||
"304be71fbace6a964566e2a24dc8ab802cdec7e3",
|
||||
"support"
|
||||
],
|
||||
"css/css-backgrounds/reference/background-image-first-line-ref.html": [
|
||||
"82fd9a2d3d0e3c886835168283ec3f32270c0356",
|
||||
"support"
|
||||
],
|
||||
"css/css-backgrounds/reference/background-origin-002-ref.html": [
|
||||
"88d61225a623d112e5f54505899a21dd4d929a5b",
|
||||
"support"
|
||||
|
@ -544019,6 +544135,10 @@
|
|||
"5c3363562ab196a5c5cdb6e72b471b52e0cc8375",
|
||||
"support"
|
||||
],
|
||||
"css/css-break/block-end-aligned-abspos-nested.html": [
|
||||
"b74a28e7319bad9f70a404bb613513778f42615f",
|
||||
"reftest"
|
||||
],
|
||||
"css/css-break/block-end-aligned-abspos-with-overflow-ref.html": [
|
||||
"a8470b09a7d67eb3929c0380eaa45779c2b558ad",
|
||||
"support"
|
||||
|
@ -550787,6 +550907,10 @@
|
|||
"5c3601d96aeb42694c66aaff0845c1029474cda1",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-flexbox/hittest-overlapping-order.html": [
|
||||
"f52a37c181cf8bd7b16f8ca962fcfef96f216d79",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-flexbox/hittest-overlapping-relative.html": [
|
||||
"985ac1aed565c3cc146a46f7a4350ac2fd985179",
|
||||
"testharness"
|
||||
|
@ -560527,6 +560651,34 @@
|
|||
"766d140d2b239bcc0c11e92481c5ff302d12db5c",
|
||||
"support"
|
||||
],
|
||||
"css/css-grid/animation/grid-template-columns-001-ref.html": [
|
||||
"1d53815f37dd9e1809757074ef4a9aad557877e2",
|
||||
"support"
|
||||
],
|
||||
"css/css-grid/animation/grid-template-columns-001.html": [
|
||||
"4e618edb22efc021e7d49a5b7e618c6e77a25d51",
|
||||
"reftest"
|
||||
],
|
||||
"css/css-grid/animation/grid-template-columns-interpolation.html": [
|
||||
"4adba6de3feaa99357f88bb5df68d12103ab06e7",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-grid/animation/grid-template-rows-001-ref.html": [
|
||||
"8f9929f97dca9a5ddb7a08e42697c692dec4db2d",
|
||||
"support"
|
||||
],
|
||||
"css/css-grid/animation/grid-template-rows-001.html": [
|
||||
"403fed432ac5512d194c187e6bdd813c7dcee0b5",
|
||||
"reftest"
|
||||
],
|
||||
"css/css-grid/animation/grid-template-rows-interpolation.html": [
|
||||
"42152bcdf203faf70e2941552b71c7689222df57",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-grid/animation/resources/interpolation-testcommon.js": [
|
||||
"530b4fea5c3d9e231bee887394c75888fad47b8b",
|
||||
"support"
|
||||
],
|
||||
"css/css-grid/grid-definition/fr-unit-with-percentage.html": [
|
||||
"82c97abdd5740d466f049d8b45b67e241f204899",
|
||||
"reftest"
|
||||
|
@ -565455,6 +565607,14 @@
|
|||
"534dff9766ddccf4dd239a307d28d7e8882d6f04",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-overflow/overflow-abpos-transform.html": [
|
||||
"df1128316f6010f010e6d27c395d7751fa05d7b1",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-overflow/overflow-inline-transform-relative.html": [
|
||||
"4df7b6389432cc6c65bae3fe3b5b9c2f00ba7bde",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-overflow/overflow-shorthand-001.html": [
|
||||
"f425636c3bb4297e4e6564d1c2629dc10dde5607",
|
||||
"testharness"
|
||||
|
@ -569452,7 +569612,7 @@
|
|||
"testharness"
|
||||
],
|
||||
"css/css-scroll-anchoring/ancestor-change-heuristic.html": [
|
||||
"21adfbb6b7a56c0a098eda1843897926afb363f5",
|
||||
"ffe60ad775ad863bcd2a12aaefb8fbabaf9c1ce1",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-scroll-anchoring/anchor-updates-after-explicit-scroll.html": [
|
||||
|
@ -569464,7 +569624,7 @@
|
|||
"testharness"
|
||||
],
|
||||
"css/css-scroll-anchoring/anchoring-with-bounds-clamping.html": [
|
||||
"e9d06579d575433cff8b4e3052b9e0bb7824c32a",
|
||||
"3adcfe598a51b13d7f8560c3c72c048157065451",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-scroll-anchoring/anonymous-block-box.html": [
|
||||
|
@ -569472,7 +569632,7 @@
|
|||
"testharness"
|
||||
],
|
||||
"css/css-scroll-anchoring/basic.html": [
|
||||
"99625ba7da1ad7c86babff1a11831d74cf602ad8",
|
||||
"2c46c28dc2190592d242c3260ea5cc28415c16c0",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-scroll-anchoring/clipped-scrollers-skipped.html": [
|
||||
|
@ -569480,15 +569640,15 @@
|
|||
"testharness"
|
||||
],
|
||||
"css/css-scroll-anchoring/descend-into-container-with-float.html": [
|
||||
"ff39608ff04090cde9bfb0a3eeafc15bfeb5a191",
|
||||
"a86634f9ed3dab963702600fe3afb968ebb90ca9",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-scroll-anchoring/descend-into-container-with-overflow.html": [
|
||||
"654f34a051dc39ea3506a73a1e96602d0c664c61",
|
||||
"3b469157dc2a15b3d861e1281806c6d0e5573f58",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-scroll-anchoring/exclude-fixed-position.html": [
|
||||
"d48d3f7cedf19ce502a5087d945675b62e62fdf9",
|
||||
"99686bdee440ab511acc55d7cb5c7a5ce97b07ad",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-scroll-anchoring/exclude-inline.html": [
|
||||
|
@ -569500,7 +569660,7 @@
|
|||
"testharness"
|
||||
],
|
||||
"css/css-scroll-anchoring/inline-block.html": [
|
||||
"881ff97de9ea97bd8dca6a64333a16502f4e11d4",
|
||||
"fa7655bcd8afce189368ac412e094f98ccebbdca",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-scroll-anchoring/negative-layout-overflow.html": [
|
||||
|
@ -569512,15 +569672,15 @@
|
|||
"testharness"
|
||||
],
|
||||
"css/css-scroll-anchoring/position-change-heuristic.html": [
|
||||
"b36b211f586782a7616c222fce04aa98817f35c4",
|
||||
"a7ef5525cdf8d49bb6991f9ac77bb4a12a92fbcb",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-scroll-anchoring/start-edge-in-block-layout-direction.html": [
|
||||
"638993f079d09c5a0a7476023242ed46f7850d47",
|
||||
"4607c37b7204231adc839b3cb2241579d86e5070",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-scroll-anchoring/subtree-exclusion.html": [
|
||||
"25961b366424b1f3686e27fc8eab677cc2f95de8",
|
||||
"c384280f10fc96e2202518cb3333da346967d1a1",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-scroll-anchoring/text-anchor-in-vertical-rl.html": [
|
||||
|
@ -569528,7 +569688,7 @@
|
|||
"testharness"
|
||||
],
|
||||
"css/css-scroll-anchoring/wrapped-text.html": [
|
||||
"60f11fbcfea415c17cb132aadef29260079ee83e",
|
||||
"4bd2cdb3251de62aceb13504404a58023f50c044",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-scroll-snap/META.yml": [
|
||||
|
@ -608892,7 +609052,7 @@
|
|||
"support"
|
||||
],
|
||||
"docs/_running-tests/chrome_android.md": [
|
||||
"adb662d5710def77e2b6b0e8fea5785e87c31806",
|
||||
"d6cad0acd4a9572764cab46545ba293bcff90ba8",
|
||||
"support"
|
||||
],
|
||||
"docs/_running-tests/index.md": [
|
||||
|
@ -620944,7 +621104,7 @@
|
|||
"testharness"
|
||||
],
|
||||
"html/dom/interfaces.worker.js": [
|
||||
"8bf24b51b083a73e3ec79efc43269552f507db4a",
|
||||
"f49198cd5c67a603f6fcd1fe33fdc9dd76b1f06b",
|
||||
"testharness"
|
||||
],
|
||||
"html/dom/new-harness.js": [
|
||||
|
@ -633600,7 +633760,7 @@
|
|||
"testharness"
|
||||
],
|
||||
"html/semantics/selectors/pseudo-classes/link.html": [
|
||||
"fd485b83ec5c04adcac56f184a8b213910905e49",
|
||||
"05067dd2ecf39ff59662e757bb7b210f2c83a40d",
|
||||
"testharness"
|
||||
],
|
||||
"html/semantics/selectors/pseudo-classes/placeholder-shown-type-change.html": [
|
||||
|
@ -675368,7 +675528,7 @@
|
|||
"support"
|
||||
],
|
||||
"tools/wptrunner/wptrunner/browsers/fennec.py": [
|
||||
"47eea9a104269882c2cbc3c2acd883ed40b67079",
|
||||
"b8e4ebc4aeb9574652ec7dcd83dd0eca6b78aa94",
|
||||
"support"
|
||||
],
|
||||
"tools/wptrunner/wptrunner/browsers/firefox.py": [
|
||||
|
@ -675404,7 +675564,7 @@
|
|||
"support"
|
||||
],
|
||||
"tools/wptrunner/wptrunner/browsers/servodriver.py": [
|
||||
"75cee5abb68a67ebf624be28294a635ce5790cba",
|
||||
"0a63a32c96699a441ce696bae6b8d32f4d69bc3d",
|
||||
"support"
|
||||
],
|
||||
"tools/wptrunner/wptrunner/browsers/webkit.py": [
|
||||
|
@ -678768,7 +678928,7 @@
|
|||
"testharness"
|
||||
],
|
||||
"web-animations/animation-model/animation-types/property-list.js": [
|
||||
"b6ddb0c7eaec378b2c884c771403542f6b42d02b",
|
||||
"0f644adce29ccb41cbc1f7465f1fbbbc8f60d2f3",
|
||||
"support"
|
||||
],
|
||||
"web-animations/animation-model/animation-types/property-types.js": [
|
||||
|
@ -682068,7 +682228,7 @@
|
|||
"testharness"
|
||||
],
|
||||
"webrtc/RTCPeerConnection-setLocalDescription.html": [
|
||||
"1030f494f2469c2fceaa618e2992397b5a4bbb8f",
|
||||
"5e9b54389bf8ca762eeb95be275991f1f9291fd2",
|
||||
"testharness"
|
||||
],
|
||||
"webrtc/RTCPeerConnection-setRemoteDescription-answer.html": [
|
||||
|
@ -682092,7 +682252,7 @@
|
|||
"testharness"
|
||||
],
|
||||
"webrtc/RTCPeerConnection-setRemoteDescription-rollback.html": [
|
||||
"c317f3e1ae690a3e0101a5c596f0108ff23e822a",
|
||||
"f2dbf0b96f3c670a219a2f07a85e77f0d231a5b8",
|
||||
"testharness"
|
||||
],
|
||||
"webrtc/RTCPeerConnection-setRemoteDescription-tracks.https.html": [
|
||||
|
@ -686736,7 +686896,7 @@
|
|||
"testharness"
|
||||
],
|
||||
"webxr/xrSession_requestAnimationFrame_data_valid.https.html": [
|
||||
"5f825fa3d58314479c08716616558666b6eac211",
|
||||
"b5f4f180c1a911e7260310da34b32891443001c8",
|
||||
"testharness"
|
||||
],
|
||||
"webxr/xrSession_requestAnimationFrame_getViewerPose.https.html": [
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
[hittest-overlapping-order.html]
|
||||
[Flexboxes should perform hit testing in reverse paint order for overlapping elements: flex order case (crbug.com/844505)]
|
||||
expected: FAIL
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
type: testharness
|
||||
|
||||
[single-byte-decoder.html?document]
|
||||
expected: CRASH
|
||||
expected: TIMEOUT
|
||||
[ISO-8859-4: iso_8859-4:1988 (document.characterSet and document.inputEncoding)]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -32,7 +32,7 @@
|
|||
|
||||
|
||||
[single-byte-decoder.html?XMLHttpRequest]
|
||||
expected: CRASH
|
||||
expected: TIMEOUT
|
||||
[ISO-8859-2: iso_8859-2:1987 (XMLHttpRequest)]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -144,9 +144,6 @@
|
|||
[windows-1252: iso88591 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1252: ibm819 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1252: iso_8859-1 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
@ -156,9 +153,6 @@
|
|||
[windows-1253: cp1253 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1252: csisolatin1 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1252: iso8859-1 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
@ -168,9 +162,6 @@
|
|||
[windows-1252: l1 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1252: iso-8859-1 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1252: windows-1252 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[traverse_the_history_5.html]
|
||||
[traverse_the_history_2.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[traverse_the_history_3.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -72,9 +72,6 @@
|
|||
[ImageBitmap interface: attribute height]
|
||||
expected: FAIL
|
||||
|
||||
[MessageEvent interface: attribute source]
|
||||
expected: FAIL
|
||||
|
||||
[MessageEvent interface: attribute ports]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -183,9 +180,6 @@
|
|||
[WorkerGlobalScope interface: attribute ononline]
|
||||
expected: FAIL
|
||||
|
||||
[WorkerGlobalScope interface: attribute origin]
|
||||
expected: FAIL
|
||||
|
||||
[WorkerGlobalScope interface: operation createImageBitmap(ImageBitmapSource,ImageBitmapOptions)]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -261,3 +255,480 @@
|
|||
[interfaces]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation lineTo(unrestricted double, unrestricted double)]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: attribute globalAlpha]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: existence and properties of interface prototype object's "constructor" property]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation resetClip()]
|
||||
expected: FAIL
|
||||
|
||||
[DedicatedWorkerGlobalScope interface: self must inherit property "onmessageerror" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[MessagePort interface: existence and properties of interface prototype object's @@unscopables property]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: attribute filter]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: attribute imageSmoothingEnabled]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: attribute shadowOffsetX]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: attribute shadowOffsetY]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: attribute strokeStyle]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface object length]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation clearRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation getLineDash()]
|
||||
expected: FAIL
|
||||
|
||||
[CanvasGradient interface: existence and properties of interface object]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: attribute globalCompositeOperation]
|
||||
expected: FAIL
|
||||
|
||||
[WorkerGlobalScope interface: calling createImageBitmap(ImageBitmapSource, long, long, long, long, ImageBitmapOptions) on self with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[WorkerGlobalScope interface: operation createImageBitmap(ImageBitmapSource, long, long, long, long, ImageBitmapOptions)]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation getImageData(long, long, long, long)]
|
||||
expected: FAIL
|
||||
|
||||
[WorkerGlobalScope interface: self must inherit property "onlanguagechange" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[MessagePort interface: attribute onmessageerror]
|
||||
expected: FAIL
|
||||
|
||||
[DOMStringList interface object length]
|
||||
expected: FAIL
|
||||
|
||||
[DOMStringList interface: operation item(unsigned long)]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation restore()]
|
||||
expected: FAIL
|
||||
|
||||
[PromiseRejectionEvent interface object length]
|
||||
expected: FAIL
|
||||
|
||||
[WorkerGlobalScope interface: calling createImageBitmap(ImageBitmapSource, ImageBitmapOptions) on self with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[WorkerGlobalScope interface: self must inherit property "ononline" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation beginPath()]
|
||||
expected: FAIL
|
||||
|
||||
[MessageEvent interface: calling initMessageEvent(DOMString, boolean, boolean, any, USVString, DOMString, MessageEventSource, [object Object\]) on new MessageEvent("message", { data: 5 }) with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: attribute lineWidth]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: attribute shadowColor]
|
||||
expected: FAIL
|
||||
|
||||
[CanvasGradient interface: operation addColorStop(double, DOMString)]
|
||||
expected: FAIL
|
||||
|
||||
[DedicatedWorkerGlobalScope interface: attribute name]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation isPointInStroke(unrestricted double, unrestricted double)]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvas interface: existence and properties of interface object]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation fill(CanvasFillRule)]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: existence and properties of interface prototype object's @@unscopables property]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation drawImage(CanvasImageSource, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)]
|
||||
expected: FAIL
|
||||
|
||||
[WorkerNavigator interface: self.navigator must inherit property "onLine" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation translate(unrestricted double, unrestricted double)]
|
||||
expected: FAIL
|
||||
|
||||
[Path2D interface: operation moveTo(unrestricted double, unrestricted double)]
|
||||
expected: FAIL
|
||||
|
||||
[MessageChannel interface: existence and properties of interface prototype object's @@unscopables property]
|
||||
expected: FAIL
|
||||
|
||||
[BroadcastChannel interface: existence and properties of interface prototype object's @@unscopables property]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvas interface: existence and properties of interface prototype object]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation stroke(Path2D)]
|
||||
expected: FAIL
|
||||
|
||||
[DOMStringList interface: existence and properties of interface prototype object's "constructor" property]
|
||||
expected: FAIL
|
||||
|
||||
[ImageBitmap interface: existence and properties of interface prototype object's @@unscopables property]
|
||||
expected: FAIL
|
||||
|
||||
[CanvasPattern interface: existence and properties of interface prototype object's @@unscopables property]
|
||||
expected: FAIL
|
||||
|
||||
[MessageEvent interface: operation initMessageEvent(DOMString, boolean, boolean, any, USVString, DOMString, MessageEventSource, [object Object\])]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation quadraticCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double)]
|
||||
expected: FAIL
|
||||
|
||||
[WorkerGlobalScope interface: self must inherit property "onrejectionhandled" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[WorkerGlobalScope interface: self must inherit property "createImageBitmap(ImageBitmapSource, ImageBitmapOptions)" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[PromiseRejectionEvent interface: attribute promise]
|
||||
expected: FAIL
|
||||
|
||||
[SharedWorker interface: existence and properties of interface prototype object's @@unscopables property]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation resetTransform()]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvas interface: existence and properties of interface prototype object's "constructor" property]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: attribute imageSmoothingQuality]
|
||||
expected: FAIL
|
||||
|
||||
[WorkerGlobalScope interface: operation createImageBitmap(ImageBitmapSource, ImageBitmapOptions)]
|
||||
expected: FAIL
|
||||
|
||||
[CanvasGradient interface object length]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation bezierCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation drawImage(CanvasImageSource, unrestricted double, unrestricted double, unrestricted double, unrestricted double)]
|
||||
expected: FAIL
|
||||
|
||||
[CanvasPattern interface: operation setTransform(DOMMatrix2DInit)]
|
||||
expected: FAIL
|
||||
|
||||
[Path2D interface: operation quadraticCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double)]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: attribute lineCap]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation scale(unrestricted double, unrestricted double)]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvas interface: attribute width]
|
||||
expected: FAIL
|
||||
|
||||
[DedicatedWorkerGlobalScope interface: internal [[SetPrototypeOf\]\] method of interface prototype object - setting to a new value via Reflect.setPrototypeOf should return false]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation stroke()]
|
||||
expected: FAIL
|
||||
|
||||
[WorkerGlobalScope interface: attribute onunhandledrejection]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: attribute lineJoin]
|
||||
expected: FAIL
|
||||
|
||||
[CanvasPattern interface: existence and properties of interface prototype object's "constructor" property]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation rect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)]
|
||||
expected: FAIL
|
||||
|
||||
[DedicatedWorkerGlobalScope interface: attribute onmessageerror]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: attribute shadowBlur]
|
||||
expected: FAIL
|
||||
|
||||
[Path2D interface: operation rect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)]
|
||||
expected: FAIL
|
||||
|
||||
[Path2D interface: operation arc(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, boolean)]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation isPointInPath(unrestricted double, unrestricted double, CanvasFillRule)]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: existence and properties of interface prototype object]
|
||||
expected: FAIL
|
||||
|
||||
[DedicatedWorkerGlobalScope interface: internal [[SetPrototypeOf\]\] method of interface prototype object - setting to a new value via __proto__ should throw a TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvas interface: attribute height]
|
||||
expected: FAIL
|
||||
|
||||
[CanvasPattern interface object name]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation setTransform(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)]
|
||||
expected: FAIL
|
||||
|
||||
[DOMStringList interface: existence and properties of interface object]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface object name]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation drawImage(CanvasImageSource, unrestricted double, unrestricted double)]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: attribute miterLimit]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation strokeRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: existence and properties of interface object]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation commit()]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation getTransform()]
|
||||
expected: FAIL
|
||||
|
||||
[WorkerGlobalScope interface: self must inherit property "onoffline" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: attribute lineDashOffset]
|
||||
expected: FAIL
|
||||
|
||||
[WorkerNavigator interface: self.navigator must inherit property "hardwareConcurrency" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[CanvasGradient interface: existence and properties of interface prototype object's "constructor" property]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation isPointInPath(Path2D, unrestricted double, unrestricted double, CanvasFillRule)]
|
||||
expected: FAIL
|
||||
|
||||
[DedicatedWorkerGlobalScope interface: self must inherit property "name" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation createImageData(long, long)]
|
||||
expected: FAIL
|
||||
|
||||
[CanvasPattern interface: existence and properties of interface prototype object]
|
||||
expected: FAIL
|
||||
|
||||
[Path2D interface: operation lineTo(unrestricted double, unrestricted double)]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation createLinearGradient(double, double, double, double)]
|
||||
expected: FAIL
|
||||
|
||||
[WorkerGlobalScope interface: attribute onrejectionhandled]
|
||||
expected: FAIL
|
||||
|
||||
[Worker interface: attribute onmessageerror]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation createImageData(ImageData)]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation putImageData(ImageData, long, long, long, long, long, long)]
|
||||
expected: FAIL
|
||||
|
||||
[DOMStringList interface: existence and properties of interface prototype object's @@unscopables property]
|
||||
expected: FAIL
|
||||
|
||||
[WorkerNavigator interface: member taintEnabled]
|
||||
expected: FAIL
|
||||
|
||||
[DOMStringList interface: operation contains(DOMString)]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation moveTo(unrestricted double, unrestricted double)]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvas interface object length]
|
||||
expected: FAIL
|
||||
|
||||
[Path2D interface: existence and properties of interface prototype object's @@unscopables property]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation createPattern(CanvasImageSource, DOMString)]
|
||||
expected: FAIL
|
||||
|
||||
[CanvasPattern interface: existence and properties of interface object]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation transform(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation rotate(unrestricted double)]
|
||||
expected: FAIL
|
||||
|
||||
[DedicatedWorkerGlobalScope interface: internal [[SetPrototypeOf\]\] method of interface prototype object - setting to a new value via Object.setPrototypeOf should throw a TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation setTransform(DOMMatrix2DInit)]
|
||||
expected: FAIL
|
||||
|
||||
[ImageBitmap interface: operation close()]
|
||||
expected: FAIL
|
||||
|
||||
[MessageEvent interface: new MessageEvent("message", { data: 5 }) must inherit property "initMessageEvent(DOMString, boolean, boolean, any, USVString, DOMString, MessageEventSource, [object Object\])" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation fill(Path2D, CanvasFillRule)]
|
||||
expected: FAIL
|
||||
|
||||
[DOMStringList interface: existence and properties of interface prototype object]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation createRadialGradient(double, double, double, double, double, double)]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvas interface object name]
|
||||
expected: FAIL
|
||||
|
||||
[WorkerGlobalScope interface: self must inherit property "onunhandledrejection" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[DOMStringList interface: attribute length]
|
||||
expected: FAIL
|
||||
|
||||
[Path2D interface: operation ellipse(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, boolean)]
|
||||
expected: FAIL
|
||||
|
||||
[CanvasGradient interface: existence and properties of interface prototype object's @@unscopables property]
|
||||
expected: FAIL
|
||||
|
||||
[MessageEvent interface: new MessageEvent("message", { data: 5 }) must inherit property "ports" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[DOMStringList interface object name]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation isPointInStroke(Path2D, unrestricted double, unrestricted double)]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvas interface: operation transferToImageBitmap()]
|
||||
expected: FAIL
|
||||
|
||||
[WorkerNavigator interface: attribute hardwareConcurrency]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation arcTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation closePath()]
|
||||
expected: FAIL
|
||||
|
||||
[Path2D interface: operation arcTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation setLineDash([object Object\])]
|
||||
expected: FAIL
|
||||
|
||||
[MessagePort interface: operation postMessage(any, [object Object\])]
|
||||
expected: FAIL
|
||||
|
||||
[WorkerNavigator interface: self.navigator must not have property "taintEnabled"]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation arc(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, boolean)]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvas interface: operation getContext(OffscreenRenderingContextId, any)]
|
||||
expected: FAIL
|
||||
|
||||
[Path2D interface: operation bezierCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: attribute fillStyle]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: attribute canvas]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation ellipse(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, boolean)]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation putImageData(ImageData, long, long)]
|
||||
expected: FAIL
|
||||
|
||||
[Path2D interface: operation addPath(Path2D, DOMMatrix2DInit)]
|
||||
expected: FAIL
|
||||
|
||||
[CanvasGradient interface: existence and properties of interface prototype object]
|
||||
expected: FAIL
|
||||
|
||||
[WorkerGlobalScope interface: self must inherit property "createImageBitmap(ImageBitmapSource, long, long, long, long, ImageBitmapOptions)" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation save()]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation clip(Path2D, CanvasFillRule)]
|
||||
expected: FAIL
|
||||
|
||||
[WebSocket interface: new WebSocket("ws://foo") must inherit property "extensions" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvas interface: existence and properties of interface prototype object's @@unscopables property]
|
||||
expected: FAIL
|
||||
|
||||
[CanvasPattern interface object length]
|
||||
expected: FAIL
|
||||
|
||||
[WorkerNavigator interface: self.navigator must inherit property "languages" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation fillRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)]
|
||||
expected: FAIL
|
||||
|
||||
[BroadcastChannel interface: attribute onmessageerror]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvas interface: operation convertToBlob(ImageEncodeOptions)]
|
||||
expected: FAIL
|
||||
|
||||
[CanvasGradient interface object name]
|
||||
expected: FAIL
|
||||
|
||||
[OffscreenCanvasRenderingContext2D interface: operation clip(CanvasFillRule)]
|
||||
expected: FAIL
|
||||
|
||||
[MessageEvent interface: new MessageEvent("message", { data: 5 }) must inherit property "source" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -13,12 +13,3 @@
|
|||
[picture: source (max-width:500px) valid image, img valid image, resize to narrow]
|
||||
expected: FAIL
|
||||
|
||||
[picture: source (max-width:500px) broken image, img valid image, resize to narrow]
|
||||
expected: FAIL
|
||||
|
||||
[img (srcset 1 cand) valid image, resize to narrow]
|
||||
expected: FAIL
|
||||
|
||||
[picture: same URL in source (max-width:500px) and img, resize to narrow]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
[non-active-document.html]
|
||||
[DOMParser]
|
||||
expected: FAIL
|
||||
|
||||
[createHTMLDocument]
|
||||
expected: FAIL
|
||||
|
||||
[<template>]
|
||||
expected: FAIL
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
[toggleEvent.html]
|
||||
[Calling open twice on 'details' fires only one toggle event]
|
||||
expected: FAIL
|
||||
|
||||
[Setting open=true to opened 'details' element should not fire a toggle event at the 'details' element]
|
||||
expected: FAIL
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
[link.html]
|
||||
type: testharness
|
||||
[Only <a>s, <area>s and <link>s that have a href attribute match ':link']
|
||||
expected: FAIL
|
||||
|
||||
[':link' doesn't match elements whos href attribute has been removed]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
[iframe_005.html]
|
||||
[document.write external script into iframe write back into parent]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
[webvr-enabled-on-self-origin-by-feature-policy.https.sub.html]
|
||||
expected: CRASH
|
||||
[Feature-Policy header vr "self" disallows cross-origin iframes.]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,48 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<title>The current time of a worklet animation</title>
|
||||
<link rel="help" href="https://drafts.css-houdini.org/css-animationworklet/">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/web-animations/testcommon.js"></script>
|
||||
<script src="common.js"></script>
|
||||
<body>
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
'use strict';
|
||||
|
||||
const DURATION = 10000; // ms
|
||||
const KEYFRAMES = { height : ['100px', '50px'] };
|
||||
|
||||
promise_test(async t => {
|
||||
await registerPassthroughAnimator();
|
||||
const animation =
|
||||
new WorkletAnimation('passthrough', new KeyframeEffect(createDiv(t),
|
||||
KEYFRAMES, DURATION), document.timeline);
|
||||
|
||||
animation.play();
|
||||
assert_equals(animation.currentTime, 0,
|
||||
'Current time returns the hold time set when entering the play-pending' +
|
||||
'state');
|
||||
}, 'The current time returns the hold time when set');
|
||||
|
||||
promise_test(async t => {
|
||||
await registerPassthroughAnimator();
|
||||
const animation =
|
||||
new WorkletAnimation('passthrough', new KeyframeEffect(createDiv(t),
|
||||
KEYFRAMES, DURATION), document.timeline);
|
||||
|
||||
// TODO(majidvp): We should use Animation.startTime here because the
|
||||
// animation may not immediately start.
|
||||
const startTime = document.timeline.currentTime;
|
||||
animation.play();
|
||||
await waitForNextFrame();
|
||||
const timelineTime = document.timeline.currentTime;
|
||||
assert_times_equal(animation.currentTime, (timelineTime - startTime));
|
||||
}, 'The current time is calculated from the timeline time and start time');
|
||||
|
||||
// TODO(majidvp): Add tests for playbackRate and animations that are not
|
||||
// associated with a timeline once these are supported in WorkletAnimation.
|
||||
// http://crbug.com/833846
|
||||
</script>
|
||||
</body>
|
|
@ -0,0 +1,19 @@
|
|||
<!DOCTYPE html>
|
||||
<title>CSS Test: background-image applicability to ::first-letter</title>
|
||||
<link rel="help" href="http://www.w3.org/TR/css3-background/">
|
||||
<link rel="help" href="http://www.w3.org/TR/CSS21/selector.html#first-line-pseudo">
|
||||
<link rel="match" href="reference/background-image-first-line-ref.html">
|
||||
<meta name="flags" content="ahem image">
|
||||
<meta name="assert" content="background-image applicability to ::first-line">
|
||||
<style type="text/css">
|
||||
#content {
|
||||
color: transparent;
|
||||
font: 100px Ahem;
|
||||
}
|
||||
#content::first-line {
|
||||
background-image: url("support/cat.png"); /* 98 w. by 99px h. */
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
</style>
|
||||
<p>Test passes if cat image is visible.</p>
|
||||
<div id="content">X</div>
|
|
@ -0,0 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<meta name="flags" content="ahem image">
|
||||
<style type="text/css">
|
||||
#content {
|
||||
color: transparent;
|
||||
font: 100px Ahem;
|
||||
background-image: url("../support/cat.png"); /* 98 w. by 99px h. */
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
</style>
|
||||
<p>Test passes if cat image is visible.</p>
|
||||
<div id="content">X</div>
|
|
@ -0,0 +1,22 @@
|
|||
<!DOCTYPE html>
|
||||
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
|
||||
<link rel="help" href="https://www.w3.org/TR/css-break-3/#transforms">
|
||||
<link rel="help" href="https://www.w3.org/TR/CSS22/visudet.html#abs-non-replaced-height">
|
||||
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
|
||||
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
|
||||
<div style="position:relative;">
|
||||
<div style="position:absolute; top:50px; width:50px; height:50px; background:red;"></div>
|
||||
</div>
|
||||
<div id="multicol" style="columns:2; column-fill:auto; column-gap:0; width:101px; height:100px; background:green;">
|
||||
<div style="position:relative; height:100px;">
|
||||
<div style="position:absolute; bottom:0;">
|
||||
<div style="position:absolute; bottom:0;">
|
||||
<div style="width:50px; height:50px; background:green;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
document.body.offsetTop;
|
||||
document.getElementById("multicol").style.width = "100px";
|
||||
</script>
|
|
@ -0,0 +1,45 @@
|
|||
<!DOCTYPE html>
|
||||
<link rel="author" title="Andrew Comminos" href="mailto:acomminos@fb.com" />
|
||||
<link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#painting" />
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<style>
|
||||
#container {
|
||||
width: 600px;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
#left {
|
||||
width: 300px;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
background: rgba(200, 200, 200, 0.8);
|
||||
order: 0;
|
||||
}
|
||||
|
||||
#right {
|
||||
width: 300px;
|
||||
background-color: rgba(0, 128, 0, 0.8);
|
||||
margin-left: -100px;
|
||||
order: 1;
|
||||
}
|
||||
</style>
|
||||
<div id="container">
|
||||
<div id="right"></div>
|
||||
<a id="left" href="#">foofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoo</a>
|
||||
</div>
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
test(function(t)
|
||||
{
|
||||
const container = document.querySelector('#container');
|
||||
// Target the intersection of the two child elements.
|
||||
// The occluded link should not be clickable.
|
||||
const x = container.offsetLeft + 250;
|
||||
const y = container.offsetTop + 5;
|
||||
|
||||
var element = document.elementFromPoint(x, y);
|
||||
assert_equals(element.nodeName, 'DIV');
|
||||
assert_equals(element.id, 'right');
|
||||
}, "Flexboxes should perform hit testing in reverse paint order for overlapping elements: flex order case (crbug.com/844505)");
|
||||
</script>
|
|
@ -0,0 +1,21 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>CSS Grid: Reference for grid-template-columns interpolation</title>
|
||||
<style>
|
||||
.grid {
|
||||
display: grid;
|
||||
width: 400px;
|
||||
grid-gap: 10px;
|
||||
grid-template-columns: 60px 1fr;
|
||||
}
|
||||
span { border: 1px solid; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="grid">
|
||||
<span>column1</span>
|
||||
<span>column2</span>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,38 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="reftest-wait">
|
||||
<head>
|
||||
<title>CSS Grid: Test grid-template-columns interpolation</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid/#track-sizing">
|
||||
<link rel="match" href="grid-template-columns-001-ref.html">
|
||||
<meta name="assert" content="The grid-template-columns property should have
|
||||
correct interpolation result.">
|
||||
<style>
|
||||
@keyframes anim {
|
||||
from {
|
||||
grid-template-columns: 20px 1fr;
|
||||
}
|
||||
to {
|
||||
grid-template-columns: 100px 1fr;
|
||||
}
|
||||
}
|
||||
.grid {
|
||||
display: grid;
|
||||
width: 400px;
|
||||
grid-gap: 10px;
|
||||
animation: anim 10s -5s paused linear;
|
||||
}
|
||||
span { border: 1px solid; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="grid">
|
||||
<span>column1</span>
|
||||
<span>column2</span>
|
||||
</div>
|
||||
</body>
|
||||
<script>
|
||||
requestAnimationFrame(() => {
|
||||
document.documentElement.classList.remove('reftest-wait');
|
||||
});
|
||||
</script>
|
||||
</html>
|
|
@ -0,0 +1,179 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>grid-template-columns interpolation</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid/#track-sizing">
|
||||
<meta name="assert" content="grid-template-columns supports animation.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="resources/interpolation-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
'use strict';
|
||||
|
||||
// Distinct length of track list.
|
||||
test_no_interpolation({
|
||||
property: 'grid-template-columns',
|
||||
from: "1fr 1fr 1fr",
|
||||
to: "2fr 2fr"
|
||||
});
|
||||
|
||||
test_no_interpolation({
|
||||
property: 'grid-template-columns',
|
||||
from: "10px 20px 30px",
|
||||
to: "20px 30px"
|
||||
});
|
||||
|
||||
test_no_interpolation({
|
||||
property: 'grid-template-columns',
|
||||
from: "1fr 1fr 1fr",
|
||||
to: "none"
|
||||
});
|
||||
|
||||
test_no_interpolation({
|
||||
property: 'grid-template-columns',
|
||||
from: "none",
|
||||
to: "20px 30px"
|
||||
});
|
||||
|
||||
// Exercise <explicit-track-list>
|
||||
test_interpolation({
|
||||
property: 'grid-template-columns',
|
||||
from: "10px 20px 30px",
|
||||
to: "20px 30px 40px"
|
||||
}, [
|
||||
{at: -1, expect: "0px 10px 20px"},
|
||||
{at: 0, expect: "10px 20px 30px"},
|
||||
{at: 0.4, expect: "14px 24px 34px"},
|
||||
{at: 0.6, expect: "16px 26px 36px"},
|
||||
{at: 1, expect: "20px 30px 40px"},
|
||||
{at: 2, expect: "30px 40px 50px"}
|
||||
]);
|
||||
|
||||
test_interpolation({
|
||||
property: 'grid-template-columns',
|
||||
from: "10px 20px 30px",
|
||||
to: "20% 30% 40px"
|
||||
}, [
|
||||
{at: -1, expect: "calc(20px + -20%) calc(40px + -30%) 20px"},
|
||||
{at: 0, expect: "calc(10px + 0%) calc(20px + 0%) 30px"},
|
||||
{at: 0.4, expect: "calc(6px + 8%) calc(12px + 12%) 34px"},
|
||||
{at: 0.6, expect: "calc(4px + 12%) calc(8px + 18%) 36px"},
|
||||
{at: 1, expect: "20% 30% 40px"},
|
||||
{at: 2, expect: "calc(-10px + 40%) calc(-20px + 60%) 50px"}
|
||||
]);
|
||||
|
||||
test_interpolation({
|
||||
property: 'grid-template-columns',
|
||||
from: "1fr 1fr 1fr",
|
||||
to: "2fr auto 2fr"
|
||||
}, [
|
||||
{at: -1, expect: "0fr 1fr 0fr"},
|
||||
{at: 0, expect: "1fr 1fr 1fr"},
|
||||
{at: 0.4, expect: "1.4fr 1fr 1.4fr"},
|
||||
{at: 0.6, expect: "1.6fr auto 1.6fr"},
|
||||
{at: 1, expect: "2fr auto 2fr"},
|
||||
{at: 2, expect: "3fr auto 3fr"}
|
||||
]);
|
||||
|
||||
test_interpolation({
|
||||
property: 'grid-template-columns',
|
||||
from: "1fr [a b] 1fr [d] 1fr",
|
||||
to: "2fr [c] auto 2fr"
|
||||
}, [
|
||||
{at: -1, expect: "0fr [a b] 1fr [d] 0fr"},
|
||||
{at: 0, expect: "1fr [a b] 1fr [d] 1fr"},
|
||||
{at: 0.4, expect: "1.4fr [a b] 1fr [d] 1.4fr"},
|
||||
{at: 0.6, expect: "1.6fr [c] auto 1.6fr"},
|
||||
{at: 1, expect: "2fr [c] auto 2fr"},
|
||||
{at: 2, expect: "3fr [c] auto 3fr"}
|
||||
]);
|
||||
|
||||
test_interpolation({
|
||||
property: 'grid-template-columns',
|
||||
from: "fit-content(10px) fit-content(20px)",
|
||||
to: "fit-content(20px) max-content"
|
||||
}, [
|
||||
{at: -1, expect: "fit-content(0px) fit-content(20px)"},
|
||||
{at: 0, expect: "fit-content(10px) fit-content(20px)"},
|
||||
{at: 0.4, expect: "fit-content(14px) fit-content(20px)"},
|
||||
{at: 0.6, expect: "fit-content(16px) max-content"},
|
||||
{at: 1, expect: "fit-content(20px) max-content"},
|
||||
{at: 2, expect: "fit-content(30px) max-content"}
|
||||
]);
|
||||
|
||||
test_interpolation({
|
||||
property: 'grid-template-columns',
|
||||
from: "minmax(10px, 1fr) minmax(20px, 2fr)",
|
||||
to: "minmax(20px, 2fr) minmax(30px, auto)"
|
||||
}, [
|
||||
{at: -1, expect: "minmax(0px, 0fr) minmax(10px, 2fr)"},
|
||||
{at: 0, expect: "minmax(10px, 1fr) minmax(20px, 2fr)"},
|
||||
{at: 0.4, expect: "minmax(14px, 1.4fr) minmax(24px, 2fr)"},
|
||||
{at: 0.6, expect: "minmax(16px, 1.6fr) minmax(26px, auto)"},
|
||||
{at: 1, expect: "minmax(20px, 2fr) minmax(30px, auto)"},
|
||||
{at: 2, expect: "minmax(30px, 3fr) minmax(40px, auto)"}
|
||||
]);
|
||||
|
||||
// Exercise <track-list> (with <track-repeat>)
|
||||
test_no_interpolation({
|
||||
property: 'grid-template-columns',
|
||||
from: "1fr repeat(2, 2fr 30px) 1fr",
|
||||
to: "2fr repeat(2, 3fr 40px 50px) 2fr"
|
||||
});
|
||||
|
||||
test_no_interpolation({
|
||||
property: 'grid-template-columns',
|
||||
from: "1fr repeat(2, 2fr 30px) 1fr",
|
||||
to: "2fr repeat(3, 3fr 40px) 2fr"
|
||||
});
|
||||
|
||||
test_interpolation({
|
||||
property: 'grid-template-columns',
|
||||
from: "repeat(2, 2fr 30px)",
|
||||
to: "repeat(4, 40px)"
|
||||
}, [
|
||||
{at: -1, expect: "2fr 20px 2fr 20px"},
|
||||
{at: 0, expect: "repeat(2, 2fr 30px)"},
|
||||
{at: 0.4, expect: "2fr 34px 2fr 34px"},
|
||||
{at: 0.6, expect: "40px 36px 40px 36px"},
|
||||
{at: 1, expect: "repeat(4, 40px)"},
|
||||
{at: 2, expect: "40px 50px 40px 50px"}
|
||||
]);
|
||||
|
||||
test_interpolation({
|
||||
property: 'grid-template-columns',
|
||||
from: "1fr repeat(2, 2fr auto 30px) 1fr",
|
||||
to: "2fr repeat(2, 3fr 30px 40px) 2fr"
|
||||
}, [
|
||||
{at: -1, expect: "0fr repeat(2, 1fr auto 20px) 0fr"},
|
||||
{at: 0, expect: "1fr repeat(2, 2fr auto 30px) 1fr"},
|
||||
{at: 0.4, expect: "1.4fr repeat(2, 2.4fr auto 34px) 1.4fr"},
|
||||
{at: 0.6, expect: "1.6fr repeat(2, 2.6fr 30px 36px) 1.6fr"},
|
||||
{at: 1, expect: "2fr repeat(2, 3fr 30px 40px) 2fr"},
|
||||
{at: 2, expect: "3fr repeat(2, 4fr 30px 50px) 3fr"}
|
||||
]);
|
||||
|
||||
// Exercise <auto-track-list>
|
||||
test_no_interpolation({
|
||||
property: 'grid-template-columns',
|
||||
from: "10px repeat(auto-fill, minmax(25px, 1fr)) 10px",
|
||||
to: "20px 20px repeat(auto-fill, minmax(30px, 1fr))"
|
||||
});
|
||||
|
||||
test_no_interpolation({
|
||||
property: 'grid-template-columns',
|
||||
from: "10px repeat(auto-fill, minmax(25px, 1fr)) 10px",
|
||||
to: "20px repeat(auto-fit, minmax(30px, 1fr)) 20px"
|
||||
});
|
||||
|
||||
test_no_interpolation({
|
||||
property: 'grid-template-columns',
|
||||
from: "10px repeat(auto-fill, minmax(25px, 1fr)) 10px",
|
||||
to: "20px repeat(auto-fill, minmax(35px, auto)) 20px"
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,22 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>CSS Grid: Reference for grid-template-rows interpolation</title>
|
||||
<style>
|
||||
.grid {
|
||||
display: grid;
|
||||
width: 400px;
|
||||
height: 400px;
|
||||
grid-gap: 10px;
|
||||
grid-template-rows: 60px 1fr;
|
||||
}
|
||||
span { border: 1px solid; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="grid">
|
||||
<span>row1</span>
|
||||
<span>row2</span>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,39 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="reftest-wait">
|
||||
<head>
|
||||
<title>CSS Grid: Test grid-template-rows interpolation</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid/#track-sizing">
|
||||
<link rel="match" href="grid-template-rows-001-ref.html">
|
||||
<meta name="assert" content="The grid-template-rows property should have
|
||||
correct interpolation result.">
|
||||
<style>
|
||||
@keyframes anim {
|
||||
from {
|
||||
grid-template-rows: 20px 1fr;
|
||||
}
|
||||
to {
|
||||
grid-template-rows: 100px 1fr;
|
||||
}
|
||||
}
|
||||
.grid {
|
||||
display: grid;
|
||||
width: 400px;
|
||||
height: 400px;
|
||||
grid-gap: 10px;
|
||||
animation: anim 10s -5s paused linear;
|
||||
}
|
||||
span { border: 1px solid; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="grid">
|
||||
<span>row1</span>
|
||||
<span>row2</span>
|
||||
</div>
|
||||
</body>
|
||||
<script>
|
||||
requestAnimationFrame(() => {
|
||||
document.documentElement.classList.remove('reftest-wait');
|
||||
});
|
||||
</script>
|
||||
</html>
|
|
@ -0,0 +1,179 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>grid-template-rows interpolation</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid/#track-sizing">
|
||||
<meta name="assert" content="grid-template-rows supports animation.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="resources/interpolation-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
'use strict';
|
||||
|
||||
// Distinct length of track list.
|
||||
test_no_interpolation({
|
||||
property: 'grid-template-rows',
|
||||
from: "1fr 1fr 1fr",
|
||||
to: "2fr 2fr"
|
||||
});
|
||||
|
||||
test_no_interpolation({
|
||||
property: 'grid-template-rows',
|
||||
from: "10px 20px 30px",
|
||||
to: "20px 30px"
|
||||
});
|
||||
|
||||
test_no_interpolation({
|
||||
property: 'grid-template-rows',
|
||||
from: "1fr 1fr 1fr",
|
||||
to: "none"
|
||||
});
|
||||
|
||||
test_no_interpolation({
|
||||
property: 'grid-template-rows',
|
||||
from: "none",
|
||||
to: "20px 30px"
|
||||
});
|
||||
|
||||
// Exercise <explicit-track-list>
|
||||
test_interpolation({
|
||||
property: 'grid-template-rows',
|
||||
from: "10px 20px 30px",
|
||||
to: "20px 30px 40px"
|
||||
}, [
|
||||
{at: -1, expect: "0px 10px 20px"},
|
||||
{at: 0, expect: "10px 20px 30px"},
|
||||
{at: 0.4, expect: "14px 24px 34px"},
|
||||
{at: 0.6, expect: "16px 26px 36px"},
|
||||
{at: 1, expect: "20px 30px 40px"},
|
||||
{at: 2, expect: "30px 40px 50px"}
|
||||
]);
|
||||
|
||||
test_interpolation({
|
||||
property: 'grid-template-rows',
|
||||
from: "10px 20px 30px",
|
||||
to: "20% 30% 40px"
|
||||
}, [
|
||||
{at: -1, expect: "calc(20px + -20%) calc(40px + -30%) 20px"},
|
||||
{at: 0, expect: "calc(10px + 0%) calc(20px + 0%) 30px"},
|
||||
{at: 0.4, expect: "calc(6px + 8%) calc(12px + 12%) 34px"},
|
||||
{at: 0.6, expect: "calc(4px + 12%) calc(8px + 18%) 36px"},
|
||||
{at: 1, expect: "20% 30% 40px"},
|
||||
{at: 2, expect: "calc(-10px + 40%) calc(-20px + 60%) 50px"}
|
||||
]);
|
||||
|
||||
test_interpolation({
|
||||
property: 'grid-template-rows',
|
||||
from: "1fr 1fr 1fr",
|
||||
to: "2fr auto 2fr"
|
||||
}, [
|
||||
{at: -1, expect: "0fr 1fr 0fr"},
|
||||
{at: 0, expect: "1fr 1fr 1fr"},
|
||||
{at: 0.4, expect: "1.4fr 1fr 1.4fr"},
|
||||
{at: 0.6, expect: "1.6fr auto 1.6fr"},
|
||||
{at: 1, expect: "2fr auto 2fr"},
|
||||
{at: 2, expect: "3fr auto 3fr"}
|
||||
]);
|
||||
|
||||
test_interpolation({
|
||||
property: 'grid-template-rows',
|
||||
from: "1fr [a b] 1fr [d] 1fr",
|
||||
to: "2fr [c] auto 2fr"
|
||||
}, [
|
||||
{at: -1, expect: "0fr [a b] 1fr [d] 0fr"},
|
||||
{at: 0, expect: "1fr [a b] 1fr [d] 1fr"},
|
||||
{at: 0.4, expect: "1.4fr [a b] 1fr [d] 1.4fr"},
|
||||
{at: 0.6, expect: "1.6fr [c] auto 1.6fr"},
|
||||
{at: 1, expect: "2fr [c] auto 2fr"},
|
||||
{at: 2, expect: "3fr [c] auto 3fr"}
|
||||
]);
|
||||
|
||||
test_interpolation({
|
||||
property: 'grid-template-rows',
|
||||
from: "fit-content(10px) fit-content(20px)",
|
||||
to: "fit-content(20px) max-content"
|
||||
}, [
|
||||
{at: -1, expect: "fit-content(0px) fit-content(20px)"},
|
||||
{at: 0, expect: "fit-content(10px) fit-content(20px)"},
|
||||
{at: 0.4, expect: "fit-content(14px) fit-content(20px)"},
|
||||
{at: 0.6, expect: "fit-content(16px) max-content"},
|
||||
{at: 1, expect: "fit-content(20px) max-content"},
|
||||
{at: 2, expect: "fit-content(30px) max-content"}
|
||||
]);
|
||||
|
||||
test_interpolation({
|
||||
property: 'grid-template-rows',
|
||||
from: "minmax(10px, 1fr) minmax(20px, 2fr)",
|
||||
to: "minmax(20px, 2fr) minmax(30px, auto)"
|
||||
}, [
|
||||
{at: -1, expect: "minmax(0px, 0fr) minmax(10px, 2fr)"},
|
||||
{at: 0, expect: "minmax(10px, 1fr) minmax(20px, 2fr)"},
|
||||
{at: 0.4, expect: "minmax(14px, 1.4fr) minmax(24px, 2fr)"},
|
||||
{at: 0.6, expect: "minmax(16px, 1.6fr) minmax(26px, auto)"},
|
||||
{at: 1, expect: "minmax(20px, 2fr) minmax(30px, auto)"},
|
||||
{at: 2, expect: "minmax(30px, 3fr) minmax(40px, auto)"}
|
||||
]);
|
||||
|
||||
// Exercise <track-list> (with <track-repeat>)
|
||||
test_no_interpolation({
|
||||
property: 'grid-template-rows',
|
||||
from: "1fr repeat(2, 2fr 30px) 1fr",
|
||||
to: "2fr repeat(2, 3fr 40px 50px) 2fr"
|
||||
});
|
||||
|
||||
test_no_interpolation({
|
||||
property: 'grid-template-rows',
|
||||
from: "1fr repeat(2, 2fr 30px) 1fr",
|
||||
to: "2fr repeat(3, 3fr 40px) 2fr"
|
||||
});
|
||||
|
||||
test_interpolation({
|
||||
property: 'grid-template-rows',
|
||||
from: "repeat(2, 2fr 30px)",
|
||||
to: "repeat(4, 40px)"
|
||||
}, [
|
||||
{at: -1, expect: "2fr 20px 2fr 20px"},
|
||||
{at: 0, expect: "repeat(2, 2fr 30px)"},
|
||||
{at: 0.4, expect: "2fr 34px 2fr 34px"},
|
||||
{at: 0.6, expect: "40px 36px 40px 36px"},
|
||||
{at: 1, expect: "repeat(4, 40px)"},
|
||||
{at: 2, expect: "40px 50px 40px 50px"}
|
||||
]);
|
||||
|
||||
test_interpolation({
|
||||
property: 'grid-template-rows',
|
||||
from: "1fr repeat(2, 2fr auto 30px) 1fr",
|
||||
to: "2fr repeat(2, 3fr 30px 40px) 2fr"
|
||||
}, [
|
||||
{at: -1, expect: "0fr repeat(2, 1fr auto 20px) 0fr"},
|
||||
{at: 0, expect: "1fr repeat(2, 2fr auto 30px) 1fr"},
|
||||
{at: 0.4, expect: "1.4fr repeat(2, 2.4fr auto 34px) 1.4fr"},
|
||||
{at: 0.6, expect: "1.6fr repeat(2, 2.6fr 30px 36px) 1.6fr"},
|
||||
{at: 1, expect: "2fr repeat(2, 3fr 30px 40px) 2fr"},
|
||||
{at: 2, expect: "3fr repeat(2, 4fr 30px 50px) 3fr"}
|
||||
]);
|
||||
|
||||
// Exercise <auto-track-list>
|
||||
test_no_interpolation({
|
||||
property: 'grid-template-rows',
|
||||
from: "10px repeat(auto-fill, minmax(25px, 1fr)) 10px",
|
||||
to: "20px 20px repeat(auto-fill, minmax(30px, 1fr))"
|
||||
});
|
||||
|
||||
test_no_interpolation({
|
||||
property: 'grid-template-rows',
|
||||
from: "10px repeat(auto-fill, minmax(25px, 1fr)) 10px",
|
||||
to: "20px repeat(auto-fit, minmax(30px, 1fr)) 20px"
|
||||
});
|
||||
|
||||
test_no_interpolation({
|
||||
property: 'grid-template-rows',
|
||||
from: "10px repeat(auto-fill, minmax(25px, 1fr)) 10px",
|
||||
to: "20px repeat(auto-fill, minmax(35px, auto)) 20px"
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,66 @@
|
|||
'use strict';
|
||||
function test_interpolation(settings, expectations) {
|
||||
// Returns a timing function that at 0.5 evaluates to progress.
|
||||
function timingFunction(progress) {
|
||||
if (progress === 0)
|
||||
return 'steps(1, end)';
|
||||
if (progress === 1)
|
||||
return 'steps(1, start)';
|
||||
var y = (8 * progress - 1) / 6;
|
||||
return 'cubic-bezier(0, ' + y + ', 1, ' + y + ')';
|
||||
}
|
||||
|
||||
test(function(){
|
||||
assert_true(CSS.supports(settings.property, settings.from), 'Value "' + settings.from + '" is supported by ' + settings.property);
|
||||
assert_true(CSS.supports(settings.property, settings.to), 'Value "' + settings.to + '" is supported by ' + settings.property);
|
||||
}, '"' + settings.from + '" and "' + settings.to + '" are valid ' + settings.property + ' values');
|
||||
|
||||
for (var i = 0; i < expectations.length; ++i) {
|
||||
var progress = expectations[i].at;
|
||||
var expectation = expectations[i].expect;
|
||||
var animationId = 'anim' + i;
|
||||
var targetId = 'target' + i;
|
||||
var referenceId = 'reference' + i;
|
||||
test(function(){
|
||||
assert_true(CSS.supports(settings.property, expectation), 'Value "' + expectation + '" is supported by ' + settings.property);
|
||||
|
||||
var stylesheet = document.createElement('style');
|
||||
stylesheet.textContent =
|
||||
'#' + targetId + ' {\n' +
|
||||
' animation: 2s ' + timingFunction(progress) + ' -1s paused ' + animationId + ';\n' +
|
||||
'}\n' +
|
||||
'@keyframes ' + animationId + ' {\n' +
|
||||
' 0% { ' + settings.property + ': ' + settings.from + '; }\n' +
|
||||
' 100% { ' + settings.property + ': ' + settings.to + '; }\n' +
|
||||
'}\n' +
|
||||
'#' + referenceId + ' {\n' +
|
||||
' ' + settings.property + ': ' + expectation + ';\n' +
|
||||
'}\n';
|
||||
document.head.appendChild(stylesheet);
|
||||
|
||||
var target = document.createElement('div');
|
||||
target.id = targetId;
|
||||
document.body.appendChild(target);
|
||||
|
||||
var reference = document.createElement('div');
|
||||
reference.id = referenceId;
|
||||
document.body.appendChild(reference);
|
||||
reference.style = '';
|
||||
|
||||
assert_equals(getComputedStyle(target)[settings.property], getComputedStyle(reference)[settings.property]);
|
||||
}, (settings.test_prefix ? settings.test_prefix : "") +
|
||||
'Animation between "' + settings.from + '" and "' + settings.to +
|
||||
'" at progress ' + progress);
|
||||
}
|
||||
}
|
||||
|
||||
function test_no_interpolation(settings) {
|
||||
var expectatFrom = [-1, 0, 0.4].map(function (progress) {
|
||||
return {at: progress, expect: settings.from};
|
||||
});
|
||||
var expectatTo = [0.6, 1, 2].map(function (progress) {
|
||||
return {at: progress, expect: settings.to};
|
||||
});
|
||||
|
||||
test_interpolation(settings, expectatFrom.concat(expectatTo));
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
<!DOCTYPE html>
|
||||
<title>CSS Overflow and Transforms: css-overflow-3</title>
|
||||
<link rel="author" title="mailto:atotic@google.com">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<link rel="help" href="https://www.w3.org/TR/css-overflow-3/#scrollable">
|
||||
<meta name="assert" content="css transform is used to compute scroll overflow of abspos children">
|
||||
<style>
|
||||
#container {
|
||||
position: relative;
|
||||
overflow: auto;
|
||||
width: 200px;
|
||||
height: 200px;
|
||||
}
|
||||
#target {
|
||||
position: absolute;
|
||||
width: 150px;
|
||||
height: 150px;
|
||||
margin-left: 100px;
|
||||
transform: translateX(-100px);
|
||||
background: green;
|
||||
}
|
||||
</style>
|
||||
<!-- There should be no scrollbars on this page -->
|
||||
<div id="container">
|
||||
<div id="target"></div>
|
||||
</div>
|
||||
<script>
|
||||
test(() => {
|
||||
assert_equals(document.querySelector("#container").scrollWidth, 200);
|
||||
}, '#target used transform when computing scroll overflow');
|
||||
</script>
|
|
@ -0,0 +1,39 @@
|
|||
<!DOCTYPE html>
|
||||
<title>CSS Overflow and Transforms: css-overflow-3</title>
|
||||
<link rel="author" title="mailto:atotic@google.com">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<link rel="help" href="https://www.w3.org/TR/css-overflow-3/#scrollable">
|
||||
<meta name="assert" content="css transform is used to compute scroll overflow of inline-block children">
|
||||
<style>
|
||||
#container {
|
||||
border: 1px solid black;
|
||||
width: 200px;
|
||||
overflow: auto;
|
||||
}
|
||||
#target {
|
||||
display: inline-block;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background: green;
|
||||
position: relative;
|
||||
top: 100px;
|
||||
transform: translateY(80px);
|
||||
}
|
||||
</style>
|
||||
<!--
|
||||
#container should have vertical scrollbar because target is offset
|
||||
by position:relative and transform.
|
||||
-->
|
||||
<div id="container">
|
||||
<span>
|
||||
scroll
|
||||
<div id="target"></div>
|
||||
down
|
||||
</span>
|
||||
</div>
|
||||
<script>
|
||||
test(() => {
|
||||
assert_equals(document.querySelector("#container").scrollHeight, 200);
|
||||
}, '#target used transform when computing scroll overflow');
|
||||
</script>
|
|
@ -3,7 +3,7 @@
|
|||
<script src="/resources/testharnessreport.js"></script>
|
||||
<style>
|
||||
|
||||
#space { height: 4000px; }
|
||||
#space { height: 1000px; }
|
||||
#ancestor { position: relative; }
|
||||
#before, #anchor { height: 100px; }
|
||||
#anchor { background-color: green; }
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#changer { height: 1500px; }
|
||||
#anchor {
|
||||
width: 150px;
|
||||
height: 4000px;
|
||||
height: 1000px;
|
||||
background-color: pink;
|
||||
}
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<script src="/resources/testharnessreport.js"></script>
|
||||
<style>
|
||||
|
||||
body { height: 4000px; }
|
||||
body { height: 1000px; }
|
||||
div { height: 100px; }
|
||||
|
||||
</style>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<script src="/resources/testharnessreport.js"></script>
|
||||
<style>
|
||||
|
||||
body { height: 4000px; }
|
||||
body { height: 1000px; }
|
||||
#outer { width: 300px; }
|
||||
#outer:after { content: " "; clear:both; display: table; }
|
||||
#float {
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<script src="/resources/testharnessreport.js"></script>
|
||||
<style>
|
||||
|
||||
body { height: 4000px; }
|
||||
body { height: 1000px; }
|
||||
#outer { width: 300px; }
|
||||
#zeroheight { height: 0px; }
|
||||
#changer { height: 100px; background-color: red; }
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<script src="/resources/testharnessreport.js"></script>
|
||||
<style>
|
||||
|
||||
body { height: 4000px; margin: 0; }
|
||||
body { height: 1000px; margin: 0; }
|
||||
#fixed, #content { width: 200px; height: 100px; }
|
||||
#fixed { position: fixed; left: 100px; top: 50px; }
|
||||
#before { height: 50px; }
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<script src="/resources/testharnessreport.js"></script>
|
||||
<style>
|
||||
|
||||
body { height: 4000px }
|
||||
body { height: 1000px }
|
||||
#outer { line-height: 100px }
|
||||
#ib1, #ib2 { display: inline-block }
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<style>
|
||||
|
||||
#space {
|
||||
height: 4000px;
|
||||
height: 1000px;
|
||||
}
|
||||
#header {
|
||||
background-color: #F5B335;
|
||||
|
|
|
@ -32,11 +32,9 @@ html.vrl { writing-mode: vertical-rl; }
|
|||
.vpush { height: 80px !important; }
|
||||
.hpush { width: 70px !important; }
|
||||
|
||||
#anchor-container {
|
||||
display: inline-block;
|
||||
}
|
||||
#anchor {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
background-color: #8e8;
|
||||
min-width: 100px;
|
||||
min-height: 100px;
|
||||
|
@ -51,10 +49,8 @@ html.vrl { writing-mode: vertical-rl; }
|
|||
</style>
|
||||
<div id="container">
|
||||
<div id="block_pusher"></div><br>
|
||||
<div id="inline_pusher"></div><div id="anchor-container">
|
||||
<div id="anchor">
|
||||
<div id="grower"></div>
|
||||
</div>
|
||||
<div id="inline_pusher"></div><div id="anchor">
|
||||
<div id="grower"></div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<script src="/resources/testharnessreport.js"></script>
|
||||
<style>
|
||||
|
||||
body { height: 4000px }
|
||||
body { height: 1000px }
|
||||
#A, #B { width: 100px; background-color: #afa; }
|
||||
#B { height: 100px; }
|
||||
#inner { width: 100px; height: 100px; background-color: pink; }
|
||||
|
|
|
@ -7,7 +7,7 @@ body {
|
|||
position: absolute;
|
||||
font-size: 100px;
|
||||
width: 200px;
|
||||
height: 4000px;
|
||||
height: 1000px;
|
||||
line-height: 100px;
|
||||
}
|
||||
|
||||
|
|
|
@ -10,16 +10,7 @@ connect to the device.
|
|||
## Hosts
|
||||
|
||||
Until we find a better way, we need to root the Android device and update the
|
||||
/etc/hosts file to include
|
||||
|
||||
```
|
||||
127.0.0.1 web-platform.test
|
||||
127.0.0.1 www.web-platform.test
|
||||
127.0.0.1 www1.web-platform.test
|
||||
127.0.0.1 www2.web-platform.test
|
||||
127.0.0.1 xn--n8j6ds53lwwkrqhv28a.web-platform.test
|
||||
127.0.0.1 xn--lve-6lad.web-platform.test
|
||||
```
|
||||
/etc/hosts file to include the entries printed by `./wpt make-hosts-file`.
|
||||
|
||||
## CA certificate
|
||||
|
||||
|
|
|
@ -3,34 +3,19 @@
|
|||
importScripts("/resources/testharness.js");
|
||||
importScripts("/resources/WebIDLParser.js", "/resources/idlharness.js");
|
||||
|
||||
function doTest([html, dom, cssom, touchevents, uievents]) {
|
||||
var idlArray = new IdlArray();
|
||||
idlArray.add_untested_idls(dom + cssom + touchevents + uievents);
|
||||
idlArray.add_idls(html);
|
||||
|
||||
idlArray.add_objects({
|
||||
WorkerNavigator: ['self.navigator'],
|
||||
WebSocket: ['new WebSocket("ws://foo")'],
|
||||
CloseEvent: ['new CloseEvent("close")'],
|
||||
Worker: [],
|
||||
MessageEvent: ['new MessageEvent("message", { data: 5 })'],
|
||||
DedicatedWorkerGlobalScope: ['self'],
|
||||
});
|
||||
|
||||
idlArray.test();
|
||||
};
|
||||
|
||||
function fetchData(url) {
|
||||
return fetch(url).then((response) => response.text());
|
||||
}
|
||||
|
||||
promise_test(function() {
|
||||
return Promise.all([fetchData("/interfaces/html.idl"),
|
||||
fetchData("/interfaces/dom.idl"),
|
||||
fetchData("/interfaces/cssom.idl"),
|
||||
fetchData("/interfaces/touch-events.idl"),
|
||||
fetchData("/interfaces/uievents.idl")])
|
||||
.then(doTest);
|
||||
}, "Test driver");
|
||||
idl_test(
|
||||
["html"],
|
||||
["dom", "cssom", "touch-events", "uievents"],
|
||||
idlArray => {
|
||||
idlArray.add_objects({
|
||||
WorkerNavigator: ['self.navigator'],
|
||||
WebSocket: ['new WebSocket("ws://foo")'],
|
||||
CloseEvent: ['new CloseEvent("close")'],
|
||||
Worker: [],
|
||||
MessageEvent: ['new MessageEvent("message", { data: 5 })'],
|
||||
DedicatedWorkerGlobalScope: ['self'],
|
||||
});
|
||||
}
|
||||
);
|
||||
|
||||
done();
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
<title>Selector: pseudo-classes (:link)</title>
|
||||
<link rel="author" title="Denis Ah-Kang" href="mailto:denis@w3.org" id=link1>
|
||||
<link rel=help href="https://html.spec.whatwg.org/multipage/#pseudo-classes" id=link2>
|
||||
<link rel=stylesheet href="non-existent.css" id=link3>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="utils.js"></script>
|
||||
|
|
|
@ -154,7 +154,7 @@ class FennecBrowser(FirefoxBrowser):
|
|||
"apz.allow_zooming": False,
|
||||
"android.widget_paints_background": False,
|
||||
# Ensure that scrollbars are always painted
|
||||
"ui.scrollbarFadeBeginDelay": 100000})
|
||||
"layout.testing.overlay-scrollbars.always-visible": True})
|
||||
|
||||
if self.install_fonts:
|
||||
self.logger.debug("Copying Ahem font to profile")
|
||||
|
|
|
@ -166,7 +166,9 @@ class ServoWebDriverBrowser(Browser):
|
|||
command=" ".join(self.command))
|
||||
|
||||
def is_alive(self):
|
||||
return self.proc.poll() is None
|
||||
if self.runner:
|
||||
return self.runner.is_running()
|
||||
return False
|
||||
|
||||
def cleanup(self):
|
||||
self.stop()
|
||||
|
|
|
@ -679,18 +679,6 @@ const gCSSProperties = {
|
|||
{ type: 'discrete', options: [ [ '". . a b" ". .a b"', 'none' ] ] }
|
||||
]
|
||||
},
|
||||
'grid-template-columns': {
|
||||
// https://drafts.csswg.org/css-template/#grid-template-columns
|
||||
types: [
|
||||
{ type: 'discrete', options: [ [ '1px', '5px' ] ] }
|
||||
]
|
||||
},
|
||||
'grid-template-rows': {
|
||||
// https://drafts.csswg.org/css-template/#grid-template-rows
|
||||
types: [
|
||||
{ type: 'discrete', options: [ [ '1px', '5px' ] ] }
|
||||
]
|
||||
},
|
||||
'height': {
|
||||
// https://drafts.csswg.org/css21/visudet.html#propdef-height
|
||||
types: [
|
||||
|
|
|
@ -108,7 +108,7 @@
|
|||
};
|
||||
await pc.setLocalDescription(offer);
|
||||
eventSequence += 'setLocalDescription;';
|
||||
await signalingstatechangeResolver.promise;
|
||||
await signalingstatechangeResolver;
|
||||
assert_equals(eventSequence, 'onsignalingstatechange;setLocalDescription;');
|
||||
}, 'onsignalingstatechange fires before setLocalDescription resolves');
|
||||
|
||||
|
|
|
@ -114,4 +114,22 @@
|
|||
}));
|
||||
}, `setRemoteDescription(rollback) should ignore invalid sdp content and succeed`);
|
||||
|
||||
promise_test(async t => {
|
||||
const pc1 = new RTCPeerConnection();
|
||||
const pc2 = new RTCPeerConnection();
|
||||
t.add_cleanup(() => pc1.close());
|
||||
t.add_cleanup(() => pc2.close());
|
||||
|
||||
// We don't use this right away
|
||||
const offer1 = await pc1.createOffer({offerToReceiveAudio: true});
|
||||
|
||||
// Create offer from pc2, apply and rollback on pc1
|
||||
const offer2 = await pc2.createOffer({offerToReceiveAudio: true});
|
||||
await pc1.setRemoteDescription(offer2);
|
||||
await pc1.setRemoteDescription({type: "rollback"});
|
||||
|
||||
// Then try applying pc1's old offer
|
||||
await pc1.setLocalDescription(offer1);
|
||||
}, `local offer created before setRemoteDescription(remote offer) then rollback should still be usable`);
|
||||
|
||||
</script>
|
||||
|
|
|
@ -40,9 +40,6 @@
|
|||
function onFrame(time, xrFrame) {
|
||||
assert_true(xrFrame instanceof XRFrame);
|
||||
|
||||
assert_not_equals(xrFrame.views, null);
|
||||
assert_equals(xrFrame.views.length, 2);
|
||||
|
||||
let viewerPose = xrFrame.getViewerPose(referenceSpace);
|
||||
|
||||
assert_not_equals(viewerPose, null);
|
||||
|
@ -50,10 +47,13 @@
|
|||
assert_equals(viewerPose.poseModelMatrix[i], identityMatrix[i]);
|
||||
}
|
||||
|
||||
assert_not_equals(viewerPose.getViewMatrix(xrFrame.views[0]), null);
|
||||
assert_equals(viewerPose.getViewMatrix(xrFrame.views[0]).length, 16);
|
||||
assert_not_equals(viewerPose.getViewMatrix(xrFrame.views[1]), null);
|
||||
assert_equals(viewerPose.getViewMatrix(xrFrame.views[1]).length, 16);
|
||||
assert_not_equals(viewerPose.views, null);
|
||||
assert_equals(viewerPose.views.length, 2);
|
||||
|
||||
assert_not_equals(viewerPose.views[0].viewMatrix, null);
|
||||
assert_equals(viewerPose.views[0].viewMatrix.length, 16);
|
||||
assert_not_equals(viewerPose.views[1].viewMatrix, null);
|
||||
assert_equals(viewerPose.views[1].viewMatrix.length, 16);
|
||||
|
||||
// Test does not complete until the returned promise resolves.
|
||||
resolve();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue