diff options
author | WPT Sync Bot <josh+wptsync@joshmatthews.net> | 2019-01-14 20:34:43 -0500 |
---|---|---|
committer | WPT Sync Bot <josh+wptsync@joshmatthews.net> | 2019-01-14 22:19:47 -0500 |
commit | 13bbfdb3eb2a9f4bd7bc93b7ad06791897ee46b1 (patch) | |
tree | a56f00ed419660ea1a247a73a6b02a04ff454905 | |
parent | 2cf9a00c9983bf23eff23d56321973d36a14f977 (diff) | |
download | servo-13bbfdb3eb2a9f4bd7bc93b7ad06791897ee46b1.tar.gz servo-13bbfdb3eb2a9f4bd7bc93b7ad06791897ee46b1.zip |
Update web-platform-tests to revision 192193581b6912818a0e3f2408f40f033a451a79
46 files changed, 1499 insertions, 144 deletions
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index 850c618f20d..4b9673764c0 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -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": [ diff --git a/tests/wpt/metadata/css/css-flexbox/hittest-overlapping-order.html.ini b/tests/wpt/metadata/css/css-flexbox/hittest-overlapping-order.html.ini new file mode 100644 index 00000000000..e9be9a9063f --- /dev/null +++ b/tests/wpt/metadata/css/css-flexbox/hittest-overlapping-order.html.ini @@ -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 + diff --git a/tests/wpt/metadata/encoding/single-byte-decoder.html.ini b/tests/wpt/metadata/encoding/single-byte-decoder.html.ini index 3d93107d096..8e4b3a6eb4a 100644 --- a/tests/wpt/metadata/encoding/single-byte-decoder.html.ini +++ b/tests/wpt/metadata/encoding/single-byte-decoder.html.ini @@ -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 diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini index dc2e45516de..75d75b4cda2 100644 --- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini +++ b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini @@ -1,4 +1,4 @@ -[traverse_the_history_5.html] +[traverse_the_history_2.html] [Multiple history traversals, last would be aborted] expected: FAIL diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini new file mode 100644 index 00000000000..51f8272a6de --- /dev/null +++ b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini @@ -0,0 +1,4 @@ +[traverse_the_history_3.html] + [Multiple history traversals, last would be aborted] + expected: FAIL + diff --git a/tests/wpt/metadata/html/dom/interfaces.worker.js.ini b/tests/wpt/metadata/html/dom/interfaces.worker.js.ini index 82b91b25b7f..c7c69ba8fa9 100644 --- a/tests/wpt/metadata/html/dom/interfaces.worker.js.ini +++ b/tests/wpt/metadata/html/dom/interfaces.worker.js.ini @@ -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 + diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change.html.ini index e16c5dbd9b0..772148dc71f 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change.html.ini @@ -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 - diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/non-active-document.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/non-active-document.html.ini new file mode 100644 index 00000000000..8cc42056d34 --- /dev/null +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/non-active-document.html.ini @@ -0,0 +1,10 @@ +[non-active-document.html] + [DOMParser] + expected: FAIL + + [createHTMLDocument] + expected: FAIL + + [<template>] + expected: FAIL + diff --git a/tests/wpt/metadata/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini b/tests/wpt/metadata/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini deleted file mode 100644 index 9e522297c94..00000000000 --- a/tests/wpt/metadata/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini +++ /dev/null @@ -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 - diff --git a/tests/wpt/metadata/html/semantics/selectors/pseudo-classes/link.html.ini b/tests/wpt/metadata/html/semantics/selectors/pseudo-classes/link.html.ini deleted file mode 100644 index 86c6dc4cfb1..00000000000 --- a/tests/wpt/metadata/html/semantics/selectors/pseudo-classes/link.html.ini +++ /dev/null @@ -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 - diff --git a/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/iframe_005.html.ini b/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/iframe_005.html.ini deleted file mode 100644 index 6cf9d13975c..00000000000 --- a/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/iframe_005.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[iframe_005.html] - [document.write external script into iframe write back into parent] - expected: FAIL - diff --git a/tests/wpt/metadata/webvr/webvr-enabled-on-self-origin-by-feature-policy.https.sub.html.ini b/tests/wpt/metadata/webvr/webvr-enabled-on-self-origin-by-feature-policy.https.sub.html.ini index 29450885a68..6dbabdb2fa3 100644 --- a/tests/wpt/metadata/webvr/webvr-enabled-on-self-origin-by-feature-policy.https.sub.html.ini +++ b/tests/wpt/metadata/webvr/webvr-enabled-on-self-origin-by-feature-policy.https.sub.html.ini @@ -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 diff --git a/tests/wpt/web-platform-tests/animation-worklet/current-time.https.html b/tests/wpt/web-platform-tests/animation-worklet/current-time.https.html new file mode 100644 index 00000000000..402c49307df --- /dev/null +++ b/tests/wpt/web-platform-tests/animation-worklet/current-time.https.html @@ -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> diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/background-image-first-line.html b/tests/wpt/web-platform-tests/css/css-backgrounds/background-image-first-line.html new file mode 100644 index 00000000000..c8dee7050b6 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-backgrounds/background-image-first-line.html @@ -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> diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/reference/background-image-first-line-ref.html b/tests/wpt/web-platform-tests/css/css-backgrounds/reference/background-image-first-line-ref.html new file mode 100644 index 00000000000..82fd9a2d3d0 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-backgrounds/reference/background-image-first-line-ref.html @@ -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> diff --git a/tests/wpt/web-platform-tests/css/css-break/block-end-aligned-abspos-nested.html b/tests/wpt/web-platform-tests/css/css-break/block-end-aligned-abspos-nested.html new file mode 100644 index 00000000000..b74a28e7319 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/block-end-aligned-abspos-nested.html @@ -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> diff --git a/tests/wpt/web-platform-tests/css/css-flexbox/hittest-overlapping-order.html b/tests/wpt/web-platform-tests/css/css-flexbox/hittest-overlapping-order.html new file mode 100644 index 00000000000..f52a37c181c --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-flexbox/hittest-overlapping-order.html @@ -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> diff --git a/tests/wpt/web-platform-tests/css/css-grid/animation/grid-template-columns-001-ref.html b/tests/wpt/web-platform-tests/css/css-grid/animation/grid-template-columns-001-ref.html new file mode 100644 index 00000000000..1d53815f37d --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-grid/animation/grid-template-columns-001-ref.html @@ -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> diff --git a/tests/wpt/web-platform-tests/css/css-grid/animation/grid-template-columns-001.html b/tests/wpt/web-platform-tests/css/css-grid/animation/grid-template-columns-001.html new file mode 100644 index 00000000000..4e618edb22e --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-grid/animation/grid-template-columns-001.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> diff --git a/tests/wpt/web-platform-tests/css/css-grid/animation/grid-template-columns-interpolation.html b/tests/wpt/web-platform-tests/css/css-grid/animation/grid-template-columns-interpolation.html new file mode 100644 index 00000000000..4adba6de3fe --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-grid/animation/grid-template-columns-interpolation.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> diff --git a/tests/wpt/web-platform-tests/css/css-grid/animation/grid-template-rows-001-ref.html b/tests/wpt/web-platform-tests/css/css-grid/animation/grid-template-rows-001-ref.html new file mode 100644 index 00000000000..8f9929f97dc --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-grid/animation/grid-template-rows-001-ref.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> diff --git a/tests/wpt/web-platform-tests/css/css-grid/animation/grid-template-rows-001.html b/tests/wpt/web-platform-tests/css/css-grid/animation/grid-template-rows-001.html new file mode 100644 index 00000000000..403fed432ac --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-grid/animation/grid-template-rows-001.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> diff --git a/tests/wpt/web-platform-tests/css/css-grid/animation/grid-template-rows-interpolation.html b/tests/wpt/web-platform-tests/css/css-grid/animation/grid-template-rows-interpolation.html new file mode 100644 index 00000000000..42152bcdf20 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-grid/animation/grid-template-rows-interpolation.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> diff --git a/tests/wpt/web-platform-tests/css/css-grid/animation/resources/interpolation-testcommon.js b/tests/wpt/web-platform-tests/css/css-grid/animation/resources/interpolation-testcommon.js new file mode 100644 index 00000000000..530b4fea5c3 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-grid/animation/resources/interpolation-testcommon.js @@ -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)); +} diff --git a/tests/wpt/web-platform-tests/css/css-overflow/overflow-abpos-transform.html b/tests/wpt/web-platform-tests/css/css-overflow/overflow-abpos-transform.html new file mode 100644 index 00000000000..df1128316f6 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-overflow/overflow-abpos-transform.html @@ -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> diff --git a/tests/wpt/web-platform-tests/css/css-overflow/overflow-inline-transform-relative.html b/tests/wpt/web-platform-tests/css/css-overflow/overflow-inline-transform-relative.html new file mode 100644 index 00000000000..4df7b638943 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-overflow/overflow-inline-transform-relative.html @@ -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> diff --git a/tests/wpt/web-platform-tests/css/css-scroll-anchoring/ancestor-change-heuristic.html b/tests/wpt/web-platform-tests/css/css-scroll-anchoring/ancestor-change-heuristic.html index 21adfbb6b7a..ffe60ad775a 100644 --- a/tests/wpt/web-platform-tests/css/css-scroll-anchoring/ancestor-change-heuristic.html +++ b/tests/wpt/web-platform-tests/css/css-scroll-anchoring/ancestor-change-heuristic.html @@ -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; } diff --git a/tests/wpt/web-platform-tests/css/css-scroll-anchoring/anchoring-with-bounds-clamping.html b/tests/wpt/web-platform-tests/css/css-scroll-anchoring/anchoring-with-bounds-clamping.html index e9d06579d57..3adcfe598a5 100644 --- a/tests/wpt/web-platform-tests/css/css-scroll-anchoring/anchoring-with-bounds-clamping.html +++ b/tests/wpt/web-platform-tests/css/css-scroll-anchoring/anchoring-with-bounds-clamping.html @@ -6,7 +6,7 @@ #changer { height: 1500px; } #anchor { width: 150px; - height: 4000px; + height: 1000px; background-color: pink; } diff --git a/tests/wpt/web-platform-tests/css/css-scroll-anchoring/basic.html b/tests/wpt/web-platform-tests/css/css-scroll-anchoring/basic.html index 99625ba7da1..2c46c28dc21 100644 --- a/tests/wpt/web-platform-tests/css/css-scroll-anchoring/basic.html +++ b/tests/wpt/web-platform-tests/css/css-scroll-anchoring/basic.html @@ -3,7 +3,7 @@ <script src="/resources/testharnessreport.js"></script> <style> -body { height: 4000px; } +body { height: 1000px; } div { height: 100px; } </style> diff --git a/tests/wpt/web-platform-tests/css/css-scroll-anchoring/descend-into-container-with-float.html b/tests/wpt/web-platform-tests/css/css-scroll-anchoring/descend-into-container-with-float.html index ff39608ff04..a86634f9ed3 100644 --- a/tests/wpt/web-platform-tests/css/css-scroll-anchoring/descend-into-container-with-float.html +++ b/tests/wpt/web-platform-tests/css/css-scroll-anchoring/descend-into-container-with-float.html @@ -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 { diff --git a/tests/wpt/web-platform-tests/css/css-scroll-anchoring/descend-into-container-with-overflow.html b/tests/wpt/web-platform-tests/css/css-scroll-anchoring/descend-into-container-with-overflow.html index 654f34a051d..3b469157dc2 100644 --- a/tests/wpt/web-platform-tests/css/css-scroll-anchoring/descend-into-container-with-overflow.html +++ b/tests/wpt/web-platform-tests/css/css-scroll-anchoring/descend-into-container-with-overflow.html @@ -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; } diff --git a/tests/wpt/web-platform-tests/css/css-scroll-anchoring/exclude-fixed-position.html b/tests/wpt/web-platform-tests/css/css-scroll-anchoring/exclude-fixed-position.html index d48d3f7cedf..99686bdee44 100644 --- a/tests/wpt/web-platform-tests/css/css-scroll-anchoring/exclude-fixed-position.html +++ b/tests/wpt/web-platform-tests/css/css-scroll-anchoring/exclude-fixed-position.html @@ -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; } diff --git a/tests/wpt/web-platform-tests/css/css-scroll-anchoring/inline-block.html b/tests/wpt/web-platform-tests/css/css-scroll-anchoring/inline-block.html index 881ff97de9e..fa7655bcd8a 100644 --- a/tests/wpt/web-platform-tests/css/css-scroll-anchoring/inline-block.html +++ b/tests/wpt/web-platform-tests/css/css-scroll-anchoring/inline-block.html @@ -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 } diff --git a/tests/wpt/web-platform-tests/css/css-scroll-anchoring/position-change-heuristic.html b/tests/wpt/web-platform-tests/css/css-scroll-anchoring/position-change-heuristic.html index b36b211f586..a7ef5525cdf 100644 --- a/tests/wpt/web-platform-tests/css/css-scroll-anchoring/position-change-heuristic.html +++ b/tests/wpt/web-platform-tests/css/css-scroll-anchoring/position-change-heuristic.html @@ -4,7 +4,7 @@ <style> #space { - height: 4000px; + height: 1000px; } #header { background-color: #F5B335; diff --git a/tests/wpt/web-platform-tests/css/css-scroll-anchoring/start-edge-in-block-layout-direction.html b/tests/wpt/web-platform-tests/css/css-scroll-anchoring/start-edge-in-block-layout-direction.html index 638993f079d..4607c37b720 100644 --- a/tests/wpt/web-platform-tests/css/css-scroll-anchoring/start-edge-in-block-layout-direction.html +++ b/tests/wpt/web-platform-tests/css/css-scroll-anchoring/start-edge-in-block-layout-direction.html @@ -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> diff --git a/tests/wpt/web-platform-tests/css/css-scroll-anchoring/subtree-exclusion.html b/tests/wpt/web-platform-tests/css/css-scroll-anchoring/subtree-exclusion.html index 25961b36642..c384280f10f 100644 --- a/tests/wpt/web-platform-tests/css/css-scroll-anchoring/subtree-exclusion.html +++ b/tests/wpt/web-platform-tests/css/css-scroll-anchoring/subtree-exclusion.html @@ -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; } diff --git a/tests/wpt/web-platform-tests/css/css-scroll-anchoring/wrapped-text.html b/tests/wpt/web-platform-tests/css/css-scroll-anchoring/wrapped-text.html index 60f11fbcfea..4bd2cdb3251 100644 --- a/tests/wpt/web-platform-tests/css/css-scroll-anchoring/wrapped-text.html +++ b/tests/wpt/web-platform-tests/css/css-scroll-anchoring/wrapped-text.html @@ -7,7 +7,7 @@ body { position: absolute; font-size: 100px; width: 200px; - height: 4000px; + height: 1000px; line-height: 100px; } diff --git a/tests/wpt/web-platform-tests/docs/_running-tests/chrome_android.md b/tests/wpt/web-platform-tests/docs/_running-tests/chrome_android.md index adb662d5710..d6cad0acd4a 100644 --- a/tests/wpt/web-platform-tests/docs/_running-tests/chrome_android.md +++ b/tests/wpt/web-platform-tests/docs/_running-tests/chrome_android.md @@ -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 diff --git a/tests/wpt/web-platform-tests/html/dom/interfaces.worker.js b/tests/wpt/web-platform-tests/html/dom/interfaces.worker.js index 8bf24b51b08..f49198cd5c6 100644 --- a/tests/wpt/web-platform-tests/html/dom/interfaces.worker.js +++ b/tests/wpt/web-platform-tests/html/dom/interfaces.worker.js @@ -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(); diff --git a/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/link.html b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/link.html index fd485b83ec5..05067dd2ecf 100644 --- a/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/link.html +++ b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/link.html @@ -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> diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/fennec.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/fennec.py index 47eea9a1042..b8e4ebc4aeb 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/fennec.py +++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/fennec.py @@ -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") diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/servodriver.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/servodriver.py index 75cee5abb68..0a63a32c966 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/servodriver.py +++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/servodriver.py @@ -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() diff --git a/tests/wpt/web-platform-tests/web-animations/animation-model/animation-types/property-list.js b/tests/wpt/web-platform-tests/web-animations/animation-model/animation-types/property-list.js index b6ddb0c7eae..0f644adce29 100644 --- a/tests/wpt/web-platform-tests/web-animations/animation-model/animation-types/property-list.js +++ b/tests/wpt/web-platform-tests/web-animations/animation-model/animation-types/property-list.js @@ -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: [ diff --git a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription.html b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription.html index 1030f494f24..5e9b54389bf 100644 --- a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription.html +++ b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription.html @@ -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'); diff --git a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-rollback.html b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-rollback.html index c317f3e1ae6..f2dbf0b96f3 100644 --- a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-rollback.html +++ b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-rollback.html @@ -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> diff --git a/tests/wpt/web-platform-tests/webxr/xrSession_requestAnimationFrame_data_valid.https.html b/tests/wpt/web-platform-tests/webxr/xrSession_requestAnimationFrame_data_valid.https.html index 5f825fa3d58..b5f4f180c1a 100644 --- a/tests/wpt/web-platform-tests/webxr/xrSession_requestAnimationFrame_data_valid.https.html +++ b/tests/wpt/web-platform-tests/webxr/xrSession_requestAnimationFrame_data_valid.https.html @@ -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(); |