mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
Update web-platform-tests to revision 157b71e48394fb63f91fa497be429c3543b0ab03
This commit is contained in:
parent
ea32495504
commit
ae09310953
43 changed files with 874 additions and 287 deletions
|
@ -7,7 +7,7 @@
|
|||
expected: FAIL
|
||||
|
||||
[Opening a blob URL in a new window immediately before revoking it works.]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[Opening a blob URL in a noopener about:blank window immediately before revoking it works.]
|
||||
expected: FAIL
|
||||
|
|
|
@ -2,8 +2,14 @@
|
|||
[Revoke blob URL after creating Request, will fetch]
|
||||
expected: FAIL
|
||||
|
||||
[Revoke blob URL after calling fetch, fetch should succeed]
|
||||
expected: FAIL
|
||||
|
||||
|
||||
[url-with-fetch.any.html]
|
||||
[Revoke blob URL after creating Request, will fetch]
|
||||
expected: FAIL
|
||||
|
||||
[Revoke blob URL after calling fetch, fetch should succeed]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -273357,6 +273357,12 @@
|
|||
"html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/resources/serviceworker-failure.js.headers": [
|
||||
[]
|
||||
],
|
||||
"html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/resources/serviceworker-success.js": [
|
||||
[]
|
||||
],
|
||||
"html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/resources/serviceworker-success.js.headers": [
|
||||
[]
|
||||
],
|
||||
"html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/resources/sharedworker-failure.js": [
|
||||
[]
|
||||
],
|
||||
|
@ -273387,6 +273393,9 @@
|
|||
"html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/window-serviceworker-failure.https.html.headers": [
|
||||
[]
|
||||
],
|
||||
"html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/window-serviceworker-success.https.html.headers": [
|
||||
[]
|
||||
],
|
||||
"html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/window-sharedworker-failure.https.html.headers": [
|
||||
[]
|
||||
],
|
||||
|
@ -289632,6 +289641,9 @@
|
|||
"wasm/serialization/module/resources/serviceworker-failure.js": [
|
||||
[]
|
||||
],
|
||||
"wasm/serialization/module/resources/serviceworker-success.js": [
|
||||
[]
|
||||
],
|
||||
"wasm/serialization/module/resources/sharedworker-failure.js": [
|
||||
[]
|
||||
],
|
||||
|
@ -312657,6 +312669,16 @@
|
|||
}
|
||||
]
|
||||
],
|
||||
"compression/decompression-corrupt-input.any.js": [
|
||||
[
|
||||
"compression/decompression-corrupt-input.any.html",
|
||||
{}
|
||||
],
|
||||
[
|
||||
"compression/decompression-corrupt-input.any.worker.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"compression/decompression-empty-input.tentative.any.js": [
|
||||
[
|
||||
"compression/decompression-empty-input.tentative.any.html",
|
||||
|
@ -323183,6 +323205,18 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"css/css-grid/parsing/grid-shorthand-invalid.html": [
|
||||
[
|
||||
"css/css-grid/parsing/grid-shorthand-invalid.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-grid/parsing/grid-shorthand-valid.html": [
|
||||
[
|
||||
"css/css-grid/parsing/grid-shorthand-valid.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-grid/parsing/grid-shorthand.html": [
|
||||
[
|
||||
"css/css-grid/parsing/grid-shorthand.html",
|
||||
|
@ -323267,6 +323301,18 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"css/css-grid/parsing/grid-template-shorthand-invalid.html": [
|
||||
[
|
||||
"css/css-grid/parsing/grid-template-shorthand-invalid.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-grid/parsing/grid-template-shorthand-valid.html": [
|
||||
[
|
||||
"css/css-grid/parsing/grid-template-shorthand-valid.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/css-grid/parsing/grid-template-shorthand.html": [
|
||||
[
|
||||
"css/css-grid/parsing/grid-template-shorthand.html",
|
||||
|
@ -358130,6 +358176,12 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/window-serviceworker-success.https.html": [
|
||||
[
|
||||
"html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/window-serviceworker-success.https.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/window-sharedworker-failure.https.html": [
|
||||
[
|
||||
"html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/window-sharedworker-failure.https.html",
|
||||
|
@ -416726,9 +416778,9 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"trusted-types/idlharness.window.js": [
|
||||
"trusted-types/idlharness.tentative.window.js": [
|
||||
[
|
||||
"trusted-types/idlharness.window.html",
|
||||
"trusted-types/idlharness.tentative.window.html",
|
||||
{
|
||||
"script_metadata": [
|
||||
[
|
||||
|
@ -423351,6 +423403,12 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"wasm/serialization/module/window-serviceworker-success.https.html": [
|
||||
[
|
||||
"wasm/serialization/module/window-serviceworker-success.https.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"wasm/serialization/module/window-sharedworker-failure.html": [
|
||||
[
|
||||
"wasm/serialization/module/window-sharedworker-failure.html",
|
||||
|
@ -471169,7 +471227,7 @@
|
|||
"support"
|
||||
],
|
||||
"common/security-features/resources/common.sub.js": [
|
||||
"b43417b417c189d1e1b3444baa286456df979bb5",
|
||||
"cdd20a9d8daecefec26c1fe3ef5d7f2a4ed48008",
|
||||
"support"
|
||||
],
|
||||
"common/security-features/resources/common.sub.js.headers": [
|
||||
|
@ -471548,6 +471606,10 @@
|
|||
"11d8736cb225d6ce575677dcdb70b0a19dd4f65f",
|
||||
"testharness"
|
||||
],
|
||||
"compression/decompression-corrupt-input.any.js": [
|
||||
"95e91b662ee47f545167cd05dc4d06b85cb74b00",
|
||||
"testharness"
|
||||
],
|
||||
"compression/decompression-empty-input.tentative.any.js": [
|
||||
"ff4cff522a4a7ba0ba3eedb79c4d39b0752c9caf",
|
||||
"testharness"
|
||||
|
@ -579089,7 +579151,7 @@
|
|||
"testharness"
|
||||
],
|
||||
"css/css-grid/parsing/grid-area-valid.html": [
|
||||
"8e7d0d43d1cfac44935593892b67fdb40b179791",
|
||||
"9f93e6325b1b3cb2fff53f1c9e8b4963ac875e09",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-grid/parsing/grid-auto-columns-computed.html": [
|
||||
|
@ -579128,6 +579190,14 @@
|
|||
"d4dcdb12b177cf97c3aa030cbb19c2ce2ae6d25d",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-grid/parsing/grid-shorthand-invalid.html": [
|
||||
"642a4abab3b8177982c4006e4a5c0477d035305a",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-grid/parsing/grid-shorthand-valid.html": [
|
||||
"435959af25e0f03b8f53844f907430daa3d36d97",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-grid/parsing/grid-shorthand.html": [
|
||||
"91995608dd9eda5cd8d99abe3454cd67e52e405b",
|
||||
"testharness"
|
||||
|
@ -579184,6 +579254,14 @@
|
|||
"2d3a1ed8045c3eef9982cffc3f95415518f560cb",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-grid/parsing/grid-template-shorthand-invalid.html": [
|
||||
"366cdf4d887aa937875cd5e5a49631d1b3e283b1",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-grid/parsing/grid-template-shorthand-valid.html": [
|
||||
"042268f334816172b077edf341b1c091196f5197",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-grid/parsing/grid-template-shorthand.html": [
|
||||
"b9165359a7250afab60463878b9beb8592424f58",
|
||||
"testharness"
|
||||
|
@ -652148,6 +652226,14 @@
|
|||
"6604450991a122e3e241e40b1b9e0516c525389d",
|
||||
"support"
|
||||
],
|
||||
"html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/resources/serviceworker-success.js": [
|
||||
"34add843ecaaff85b5d50b6eab31a616226f9234",
|
||||
"support"
|
||||
],
|
||||
"html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/resources/serviceworker-success.js.headers": [
|
||||
"20319c1b02dda1ca0d40a0cae6bf6b460f5562f1",
|
||||
"support"
|
||||
],
|
||||
"html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/resources/sharedworker-failure.js": [
|
||||
"8472318abd53207ec56b3f5988fb0a49d0c006a4",
|
||||
"support"
|
||||
|
@ -652220,6 +652306,14 @@
|
|||
"63b60e490f47f4db77d33d7a4ca2f5b9a4181de8",
|
||||
"support"
|
||||
],
|
||||
"html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/window-serviceworker-success.https.html": [
|
||||
"3d5ced9760625793950bf27934c182f48420a487",
|
||||
"testharness"
|
||||
],
|
||||
"html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/window-serviceworker-success.https.html.headers": [
|
||||
"4fff9d9fba4c81f953826ffea010a75be626b95d",
|
||||
"support"
|
||||
],
|
||||
"html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/window-sharedworker-failure.https.html": [
|
||||
"023cb5acdef1c144dbad4ebefd0af23fc6c17d79",
|
||||
"testharness"
|
||||
|
@ -666261,7 +666355,7 @@
|
|||
"testharness"
|
||||
],
|
||||
"lint.whitelist": [
|
||||
"be6ae4f0314942a35632a1b0dc8b10dd9dd34657",
|
||||
"48d7e9d6a747b973333912b6e940055449f2f5ce",
|
||||
"support"
|
||||
],
|
||||
"loading/lazyload/common.js": [
|
||||
|
@ -711280,8 +711374,8 @@
|
|||
"074fe79dc93fee6563bcb9ce2db3fa708bf4ad4f",
|
||||
"testharness"
|
||||
],
|
||||
"trusted-types/idlharness.window.js": [
|
||||
"7be9615ce67ca1582c3b82ed849d7019a61e4cdd",
|
||||
"trusted-types/idlharness.tentative.window.js": [
|
||||
"5a854a12b78026a3318dad70ffa0d6a690e39f55",
|
||||
"testharness"
|
||||
],
|
||||
"trusted-types/support/WorkerGlobalScope-importScripts.https.js": [
|
||||
|
@ -716412,6 +716506,10 @@
|
|||
"39796f9d94a39d2a13ed832544ce781373a20655",
|
||||
"support"
|
||||
],
|
||||
"wasm/serialization/module/resources/serviceworker-success.js": [
|
||||
"89dd8a3831b138cb6c4eb2a5578b95bb711cd189",
|
||||
"support"
|
||||
],
|
||||
"wasm/serialization/module/resources/sharedworker-failure.js": [
|
||||
"854c70b9e84e6e6fb1c59f64a06a79646a122576",
|
||||
"support"
|
||||
|
@ -716444,6 +716542,10 @@
|
|||
"97c5a1decdb85317930508ece8f306fb80880ca2",
|
||||
"testharness"
|
||||
],
|
||||
"wasm/serialization/module/window-serviceworker-success.https.html": [
|
||||
"a479b37e5e227e4961f59e09554c137041528124",
|
||||
"testharness"
|
||||
],
|
||||
"wasm/serialization/module/window-sharedworker-failure.html": [
|
||||
"667e985a30b53c0ecadfd4c68f6217b87a7a5b98",
|
||||
"testharness"
|
||||
|
|
|
@ -309,21 +309,21 @@
|
|||
[<iframe>: separate response Content-Type: */* text/html]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: */* text/html]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/plain */*]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html */*;charset=gbk]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
|
||||
[<iframe>: combined response Content-Type: text/html;" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
|
||||
[<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html */*]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;" \\" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -53,3 +53,9 @@
|
|||
[combined text/javascript ]
|
||||
expected: FAIL
|
||||
|
||||
[separate text/javascript x/x]
|
||||
expected: FAIL
|
||||
|
||||
[separate text/javascript; charset=windows-1252 text/javascript]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[traverse_the_history_1.html]
|
||||
[Multiple history traversals from the same task]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
[traverse_the_history_3.html]
|
||||
[traverse_the_history_2.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
[traverse_the_history_4.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -1,24 +1,5 @@
|
|||
[open-features-negative-innerwidth-innerheight.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[HTML: window.open `features`: negative values for legacy `innerwidth`, `innerheight`]
|
||||
expected: FAIL
|
||||
|
||||
[features "innerheight=-404.5" should NOT set "height=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerwidth=-404.5" should NOT set "width=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerwidth=-404" should NOT set "width=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerheight=-404e1" should NOT set "height=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerheight=-404" should NOT set "height=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerwidth=-404e1" should NOT set "width=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
|
|
@ -1,24 +1,5 @@
|
|||
[open-features-negative-screenx-screeny.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[HTML: window.open `features`: negative values for legacy `screenx`, `screeny`]
|
||||
expected: FAIL
|
||||
|
||||
[features "screenx=-204" should NOT set "left=204"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screeny=-204" should NOT set "top=204"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screeny=-204.5" should NOT set "top=204"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screeny=-0" should NOT set "top=204"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screenx=-0" should NOT set "left=204"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screenx=-204.5" should NOT set "left=204"]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
|
|
@ -1,24 +1,5 @@
|
|||
[open-features-negative-top-left.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[HTML: window.open `features`: negative values for `top`, `left`]
|
||||
expected: FAIL
|
||||
|
||||
[features "top=-204" should NOT set "top=204"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "top=-204.5" should NOT set "top=204"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "left=-204" should NOT set "left=204"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "top=-0" should NOT set "top=204"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "left=-204.5" should NOT set "left=204"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "left=-0" should NOT set "left=204"]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
|
|
@ -1,48 +1,32 @@
|
|||
[open-features-non-integer-height.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[HTML: window.open `features`: non-integer values for feature `height`]
|
||||
expected: FAIL
|
||||
|
||||
[features "height=405*3" should set "height=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "height=405.32" should set "height=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "height=405e1" should set "height=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "height=405/5" should set "height=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "height=405^4" should set "height=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "height=405.5" should set "height=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "height=405e-1" should set "height=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "height=405 " should set "height=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "height=405LLl" should set "height=405"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "height=/404" should NOT set "height=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[top=0,left=0,width=401,: absence of feature "height" should be treated same as "height=0"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[top=0,left=0: absence of feature "height" should be treated same as "height=0"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "height=_404" should NOT set "height=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "height=L404" should NOT set "height=404"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,42 +1,32 @@
|
|||
[open-features-non-integer-innerheight.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[HTML: window.open `features`: non-integer values for legacy feature `innerheight`]
|
||||
expected: FAIL
|
||||
|
||||
[features "innerheight=405e-1" should set "height=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "innerheight=405LLl" should set "height=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "innerheight=405^4" should set "height=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "innerheight=405e1" should set "height=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "innerheight=405 " should set "height=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "innerheight=405/5" should set "height=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "innerheight=405.32" should set "height=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "innerheight=405.5" should set "height=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "innerheight=405*3" should set "height=405"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerheight=_404" should NOT set "height=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerheight=L404" should NOT set "height=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerheight=/404" should NOT set "height=404"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,42 +1,32 @@
|
|||
[open-features-non-integer-innerwidth.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[HTML: window.open `features`: non-integer values for legacy feature `innerwidth`]
|
||||
expected: FAIL
|
||||
|
||||
[features "innerwidth=405e-1" should set "width=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "innerwidth=405*3" should set "width=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "innerwidth=405.5" should set "width=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "innerwidth=405e1" should set "width=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "innerwidth=405.32" should set "width=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "innerwidth=405 " should set "width=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "innerwidth=405LLl" should set "width=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "innerwidth=405/5" should set "width=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "innerwidth=405^4" should set "width=405"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerwidth=/404" should NOT set "width=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerwidth=_404" should NOT set "width=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "innerwidth=L404" should NOT set "width=404"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,42 +1,32 @@
|
|||
[open-features-non-integer-left.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[HTML: window.open `features`: non-integer values for feature `left`]
|
||||
expected: FAIL
|
||||
|
||||
[features "left=105e1" should set "left=105"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "left=105 " should set "left=105"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "left=105/5" should set "left=105"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "left=105e-1" should set "left=105"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "left=105^4" should set "left=105"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "left=105LLl" should set "left=105"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "left=105.32" should set "left=105"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "left=105*3" should set "left=105"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "left=105.5" should set "left=105"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "left=L104" should NOT set "left=104"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "left=/104" should NOT set "left=104"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "left=_104" should NOT set "left=104"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,42 +1,32 @@
|
|||
[open-features-non-integer-screenx.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[HTML: window.open `features`: non-integer values for legacy feature `screenx`]
|
||||
expected: FAIL
|
||||
|
||||
[features "screenx=105.5" should set "left=105"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "screenx=105e1" should set "left=105"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "screenx=105 " should set "left=105"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "screenx=105*3" should set "left=105"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "screenx=105e-1" should set "left=105"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "screenx=105^4" should set "left=105"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "screenx=105LLl" should set "left=105"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "screenx=105/5" should set "left=105"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "screenx=105.32" should set "left=105"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screenx=_104" should NOT set "left=104"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screenx=L104" should NOT set "left=104"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screenx=/104" should NOT set "left=104"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,42 +1,32 @@
|
|||
[open-features-non-integer-screeny.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[HTML: window.open `features`: non-integer values for legacy feature `screeny`]
|
||||
expected: FAIL
|
||||
|
||||
[features "screeny=405^4" should set "height=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "screeny=405e-1" should set "height=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "screeny=405LLl" should set "height=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "screeny=405e1" should set "height=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "screeny=405 " should set "height=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "screeny=405/5" should set "height=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "screeny=405*3" should set "height=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "screeny=405.32" should set "height=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "screeny=405.5" should set "height=405"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screeny=_404" should NOT set "height=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screeny=L404" should NOT set "height=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "screeny=/404" should NOT set "height=404"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,42 +1,32 @@
|
|||
[open-features-non-integer-top.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[HTML: window.open `features`: non-integer values for feature `top`]
|
||||
expected: FAIL
|
||||
|
||||
[features "top=105/5" should set "top=105"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "top=105*3" should set "top=105"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "top=105LLl" should set "top=105"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "top=105e-1" should set "top=105"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "top=105.32" should set "top=105"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "top=105e1" should set "top=105"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "top=105 " should set "top=105"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "top=105^4" should set "top=105"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "top=105.5" should set "top=105"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "top=/104" should NOT set "top=104"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "top=_104" should NOT set "top=104"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "top=L104" should NOT set "top=104"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,48 +1,32 @@
|
|||
[open-features-non-integer-width.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[HTML: window.open `features`: non-integer values for feature `width`]
|
||||
expected: FAIL
|
||||
|
||||
[features "width=405^4" should set "width=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "width=405.5" should set "width=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "width=405e1" should set "width=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "width=405 " should set "width=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "width=405.32" should set "width=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "width=405LLl" should set "width=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "width=405*3" should set "width=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "width=405e-1" should set "width=405"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[features "width=405/5" should set "width=405"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[top=0,left=0: absence of feature "width" should be treated same as "width=0"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "width=_404" should NOT set "width=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[top=0,left=0,height=401,: absence of feature "width" should be treated same as "width=0"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "width=/404" should NOT set "width=404"]
|
||||
expected: TIMEOUT
|
||||
|
||||
[features "width=L404" should NOT set "width=404"]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
[embedded-opener-remove-frame.html]
|
||||
expected: TIMEOUT
|
||||
[opener and "removed" embedded documents]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -7,5 +6,5 @@
|
|||
expected: FAIL
|
||||
|
||||
[opener of discarded auxiliary browsing context]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
[window-serviceworker-success.https.html]
|
||||
[Test ServiceWorkerContainer.onmessageerror using SharedArrayBuffer]
|
||||
expected: FAIL
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
[iframe_sandbox_popups_nonescaping-1.html]
|
||||
type: testharness
|
||||
expected: CRASH
|
||||
expected: TIMEOUT
|
||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||
expected: NOTRUN
|
||||
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
[script-onerror-insertion-point-2.html]
|
||||
expected: TIMEOUT
|
|
@ -1,4 +0,0 @@
|
|||
[DOMContentLoaded-defer.html]
|
||||
[The end: DOMContentLoaded and defer scripts]
|
||||
expected: FAIL
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
[promise-rejection-events-onerror.html]
|
||||
expected: TIMEOUT
|
||||
[Throwing inside an unhandledrejection handler invokes the error handler.]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[window-serviceworker-success.https.html]
|
||||
[Test ServiceWorkerContainer.onmessageerror using WebAssembly.Module]
|
||||
expected: FAIL
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
[realtimeanalyser-fft-scaling.html]
|
||||
expected: TIMEOUT
|
||||
[X 2048-point FFT peak position is not equal to 64. Got 0.]
|
||||
expected: FAIL
|
||||
|
||||
|
|
5
tests/wpt/metadata/webmessaging/with-ports/017.html.ini
Normal file
5
tests/wpt/metadata/webmessaging/with-ports/017.html.ini
Normal file
|
@ -0,0 +1,5 @@
|
|||
[017.html]
|
||||
expected: TIMEOUT
|
||||
[origin of the script that invoked the method, about:blank]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -286,9 +286,17 @@ function bindEvents2(resolveObject, resolveEventName, rejectObject, rejectEventN
|
|||
function createElement(tagName, attrs, parentNode, doBindEvents) {
|
||||
var element = document.createElement(tagName);
|
||||
|
||||
if (doBindEvents)
|
||||
if (doBindEvents) {
|
||||
bindEvents(element);
|
||||
|
||||
if (element.tagName == "IFRAME" && !('srcdoc' in attrs || 'src' in attrs)) {
|
||||
// If we're loading a frame, ensure we spin the event loop after load to
|
||||
// paper over the different event timing in Gecko vs Blink/WebKit
|
||||
// see https://github.com/whatwg/html/issues/4965
|
||||
element.eventPromise = element.eventPromise.then(() => {
|
||||
return new Promise(resolve => setTimeout(resolve, 0))
|
||||
});
|
||||
}
|
||||
}
|
||||
// We set the attributes after binding to events to catch any
|
||||
// event-triggering attribute changes. E.g. form submission.
|
||||
//
|
||||
|
|
|
@ -0,0 +1,299 @@
|
|||
// META global=worker
|
||||
|
||||
// This test checks that DecompressionStream behaves according to the standard
|
||||
// when the input is corrupted. To avoid a combinatorial explosion in the
|
||||
// number of tests, we only mutate one field at a time, and we only test
|
||||
// "interesting" values.
|
||||
|
||||
'use strict';
|
||||
|
||||
// The many different cases are summarised in this data structure.
|
||||
const expectations = [
|
||||
{
|
||||
format: 'deflate',
|
||||
|
||||
// Decompresses to 'expected output'.
|
||||
baseInput: [120, 156, 75, 173, 40, 72, 77, 46, 73, 77, 81, 200, 47, 45, 41,
|
||||
40, 45, 1, 0, 48, 173, 6, 36],
|
||||
|
||||
// See RFC1950 for the definition of the various fields used by deflate:
|
||||
// https://tools.ietf.org/html/rfc1950.
|
||||
fields: [
|
||||
{
|
||||
// The function of this field. This matches the name used in the RFC.
|
||||
name: 'CMF',
|
||||
|
||||
// The offset of the field in bytes from the start of the input.
|
||||
offset: 0,
|
||||
|
||||
// The length of the field in bytes.
|
||||
length: 1,
|
||||
|
||||
cases: [
|
||||
{
|
||||
// The value to set the field to. If the field contains multiple
|
||||
// bytes, all the bytes will be set to this value.
|
||||
value: 0,
|
||||
|
||||
// The expected result. 'success' means the input is decoded
|
||||
// successfully. 'error' means that the stream will be errored.
|
||||
result: 'error'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: 'FLG',
|
||||
offset: 1,
|
||||
length: 1,
|
||||
|
||||
// FLG contains a 4-bit checksum (FCHECK) which is calculated in such a
|
||||
// way that there are 4 valid values for this field.
|
||||
cases: [
|
||||
{
|
||||
value: 218,
|
||||
result: 'success'
|
||||
},
|
||||
{
|
||||
value: 1,
|
||||
result: 'success'
|
||||
},
|
||||
{
|
||||
value: 94,
|
||||
result: 'success'
|
||||
},
|
||||
{
|
||||
// The remaining 252 values cause an error.
|
||||
value: 157,
|
||||
result: 'error'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: 'DATA',
|
||||
// In general, changing any bit of the data will trigger a checksum
|
||||
// error. Only the last byte does anything else.
|
||||
offset: 18,
|
||||
length: 1,
|
||||
cases: [
|
||||
{
|
||||
value: 4,
|
||||
result: 'success'
|
||||
},
|
||||
{
|
||||
value: 5,
|
||||
result: 'error'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: 'ADLER',
|
||||
offset: -4,
|
||||
length: 4,
|
||||
cases: [
|
||||
{
|
||||
value: 255,
|
||||
result: 'error'
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
format: 'gzip',
|
||||
|
||||
// Decompresses to 'expected output'.
|
||||
baseInput: [31, 139, 8, 0, 0, 0, 0, 0, 0, 3, 75, 173, 40, 72, 77, 46, 73,
|
||||
77, 81, 200, 47, 45, 41, 40, 45, 1, 0, 176, 1, 57, 179, 15, 0,
|
||||
0, 0],
|
||||
|
||||
// See RFC1952 for the definition of the various fields used by gzip:
|
||||
// https://tools.ietf.org/html/rfc1952.
|
||||
fields: [
|
||||
{
|
||||
name: 'ID',
|
||||
offset: 0,
|
||||
length: 2,
|
||||
cases: [
|
||||
{
|
||||
value: 255,
|
||||
result: 'error'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: 'CM',
|
||||
offset: 2,
|
||||
length: 1,
|
||||
cases: [
|
||||
{
|
||||
value: 0,
|
||||
result: 'error'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: 'FLG',
|
||||
offset: 3,
|
||||
length: 1,
|
||||
cases: [
|
||||
{
|
||||
value: 1, // FTEXT
|
||||
result: 'success'
|
||||
},
|
||||
{
|
||||
value: 2, // FHCRC
|
||||
result: 'error'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: 'MTIME',
|
||||
offset: 4,
|
||||
length: 4,
|
||||
cases: [
|
||||
{
|
||||
// Any value is valid for this field.
|
||||
value: 255,
|
||||
result: 'success'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: 'XFL',
|
||||
offset: 8,
|
||||
length: 1,
|
||||
cases: [
|
||||
{
|
||||
// Any value is accepted.
|
||||
value: 255,
|
||||
result: 'success'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: 'OS',
|
||||
offset: 9,
|
||||
length: 1,
|
||||
cases: [
|
||||
{
|
||||
// Any value is accepted.
|
||||
value: 128,
|
||||
result: 'success'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: 'DATA',
|
||||
|
||||
// The last byte of the data is the most interesting.
|
||||
offset: 26,
|
||||
length: 1,
|
||||
cases: [
|
||||
{
|
||||
value: 3,
|
||||
result: 'error'
|
||||
},
|
||||
{
|
||||
value: 4,
|
||||
result: 'success'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: 'CRC',
|
||||
offset: -8,
|
||||
length: 4,
|
||||
cases: [
|
||||
{
|
||||
// Any change will error the stream.
|
||||
value: 0,
|
||||
result: 'error'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: 'ISIZE',
|
||||
offset: -4,
|
||||
length: 4,
|
||||
cases: [
|
||||
{
|
||||
// A mismatch will error the stream.
|
||||
value: 1,
|
||||
result: 'error'
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
async function tryDecompress(input, format) {
|
||||
const ds = new DecompressionStream(format);
|
||||
const reader = ds.readable.getReader();
|
||||
const writer = ds.writable.getWriter();
|
||||
writer.write(input).catch(() => {});
|
||||
writer.close().catch(() => {});
|
||||
let out = [];
|
||||
while (true) {
|
||||
try {
|
||||
const { value, done } = await reader.read();
|
||||
if (done) {
|
||||
break;
|
||||
}
|
||||
out = out.concat(Array.from(value));
|
||||
} catch (e) {
|
||||
return { result: 'error' };
|
||||
}
|
||||
}
|
||||
const expectedOutput = 'expected output';
|
||||
if (out.length !== expectedOutput.length) {
|
||||
return { result: 'corrupt' };
|
||||
}
|
||||
for (let i = 0; i < out.length; ++i) {
|
||||
if (out[i] !== expectedOutput.charCodeAt(i)) {
|
||||
return { result: 'corrupt' };
|
||||
}
|
||||
}
|
||||
return { result: 'success' };
|
||||
}
|
||||
|
||||
function corruptInput(input, offset, length, value) {
|
||||
const output = new Uint8Array(input);
|
||||
if (offset < 0) {
|
||||
offset += input.length;
|
||||
}
|
||||
for (let i = offset; i < offset + length; ++i) {
|
||||
output[i] = value;
|
||||
}
|
||||
return output;
|
||||
}
|
||||
|
||||
for (const { format, baseInput, fields } of expectations) {
|
||||
promise_test(async () => {
|
||||
const { result } = await tryDecompress(new Uint8Array(baseInput), format);
|
||||
assert_equals(result, 'success', 'decompression should succeed');
|
||||
}, `the unchanged input for '${format}' should decompress successfully`);
|
||||
|
||||
promise_test(async () => {
|
||||
const truncatedInput = new Uint8Array(baseInput.slice(0, -1));
|
||||
const { result } = await tryDecompress(truncatedInput, format);
|
||||
assert_equals(result, 'error', 'decompression should fail');
|
||||
}, `truncating the input for '${format}' should give an error`);
|
||||
|
||||
promise_test(async () => {
|
||||
const extendedInput = new Uint8Array(baseInput.concat([0]));
|
||||
const { result } = await tryDecompress(extendedInput, format);
|
||||
assert_equals(result, 'error', 'decompression should fail');
|
||||
}, `trailing junk for '${format}' should give an error`);
|
||||
|
||||
for (const { name, offset, length, cases } of fields) {
|
||||
for (const { value, result } of cases) {
|
||||
promise_test(async () => {
|
||||
const corruptedInput = corruptInput(baseInput, offset, length, value);
|
||||
const { result: actual } =
|
||||
await tryDecompress(corruptedInput, format);
|
||||
assert_equals(actual, result, 'result should match');
|
||||
}, `format '${format}' field ${name} should be ${result} for ${value}`);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -13,26 +13,32 @@
|
|||
<body>
|
||||
<script>
|
||||
// auto
|
||||
test_valid_value("grid-area", "auto", "auto / auto / auto / auto");
|
||||
test_valid_value("grid-area", "AuTo", "auto / auto / auto / auto");
|
||||
test_valid_value("grid-row", "auto", "auto / auto");
|
||||
test_valid_value("grid-area", "auto");
|
||||
test_valid_value("grid-area", "auto / auto", "auto");
|
||||
test_valid_value("grid-area", "auto / auto / auto", "auto");
|
||||
test_valid_value("grid-area", "auto / auto / auto / auto", "auto");
|
||||
test_valid_value("grid-area", "AuTo", "auto");
|
||||
test_valid_value("grid-row", "auto");
|
||||
test_valid_value("grid-row", "auto/auto", "auto");
|
||||
test_valid_value("grid-column-end", "AuTo", "auto");
|
||||
|
||||
// <custom-ident>
|
||||
test_valid_value("grid-area", "--a", "--a / --a / --a / --a");
|
||||
test_valid_value("grid-row", "-zπ", "-zπ / -zπ");
|
||||
test_valid_value("grid-area", "--a");
|
||||
test_valid_value("grid-row", "-zπ");
|
||||
test_valid_value("grid-row", "-zπ/-zπ", "-zπ");
|
||||
test_valid_value("grid-row", "i / i", "i");
|
||||
test_valid_value("grid-row-start", "AZ");
|
||||
test_valid_value("grid-column-start", "-_π");
|
||||
test_valid_value("grid-row-end", "_9");
|
||||
|
||||
|
||||
// <integer> && <custom-ident>?
|
||||
test_valid_value("grid-area", "1", "1 / auto / auto / auto");
|
||||
test_valid_value("grid-area", "+90 -a-", "90 -a- / auto / auto / auto");
|
||||
test_valid_value("grid-row", "az 2", "2 az / auto");
|
||||
test_valid_value("grid-column", "9", "9 / auto");
|
||||
test_valid_value("grid-column", "-19 zA", "-19 zA / auto");
|
||||
test_valid_value("grid-column", "-A0 33", "33 -A0 / auto");
|
||||
test_valid_value("grid-area", "1");
|
||||
test_valid_value("grid-area", "+90 -a-", "90 -a-");
|
||||
test_valid_value("grid-row", "az 2", "2 az");
|
||||
test_valid_value("grid-column", "9");
|
||||
test_valid_value("grid-column", "-19 zA");
|
||||
test_valid_value("grid-column", "-A0 33", "33 -A0");
|
||||
test_valid_value("grid-row-start", "-19");
|
||||
test_valid_value("grid-row-start", "9 -Z_");
|
||||
test_valid_value("grid-column-start", "+90", "90");
|
||||
|
@ -41,27 +47,41 @@ test_valid_value("grid-row-end", "1 -πA");
|
|||
test_valid_value("grid-column-end", "π_ +5", "5 π_");
|
||||
|
||||
// span && [ <integer> || <custom-ident> ]
|
||||
test_valid_value("grid-area", "span 2 i", "span 2 i / auto / auto / auto");
|
||||
test_valid_value("grid-area", "i 2 SpAn", "span 2 i / auto / auto / auto");
|
||||
test_valid_value("grid-row", "span 2", "span 2 / auto");
|
||||
test_valid_value("grid-column", "i SpAn", "span i / auto");
|
||||
test_valid_value("grid-row-start", "span i", "span i");
|
||||
test_valid_value("grid-area", "span 2 i");
|
||||
test_valid_value("grid-area", "i 2 SpAn", "span 2 i");
|
||||
test_valid_value("grid-row", "span 2");
|
||||
test_valid_value("grid-column", "i SpAn", "span i");
|
||||
test_valid_value("grid-row-start", "span i");
|
||||
test_valid_value("grid-column-start", "SpAn i 2", "span 2 i");
|
||||
test_valid_value("grid-row-end", "2 i span", "span 2 i");
|
||||
test_valid_value("grid-column-end", "2 SpAn", "span 2");
|
||||
|
||||
// <grid-line> [ / <grid-line> ]{0,3}
|
||||
test_valid_value("grid-area", "auto / i", "auto / i / auto / i");
|
||||
test_valid_value("grid-area", "auto / i / 2 j", "auto / i / 2 j / i");
|
||||
test_valid_value("grid-area", "auto / i");
|
||||
test_valid_value("grid-area", "auto / i / auto / i", "auto / i");
|
||||
test_valid_value("grid-area", "auto / i / auto / 2 i");
|
||||
test_valid_value("grid-area", "1 / i / auto / i", "1 / i");
|
||||
test_valid_value("grid-area", "1 / auto / auto / auto", "1");
|
||||
test_valid_value("grid-area", "1 / auto / i / auto", "1 / auto / i");
|
||||
test_valid_value("grid-area", "1 / j / i / k");
|
||||
test_valid_value("grid-area", "1 / auto / 2 / auto", "1 / auto / 2");
|
||||
test_valid_value("grid-area", "1 / i / 2 / auto");
|
||||
test_valid_value("grid-area", "i / i / auto / auto");
|
||||
test_valid_value("grid-area", "i / auto / i / auto", "i / auto");
|
||||
test_valid_value("grid-area", "auto / i / 2 j");
|
||||
test_valid_value("grid-area", "auto / i / 2 j / span 3 k");
|
||||
test_valid_value("grid-row", "auto / i");
|
||||
test_valid_value("grid-row", "i / auto");
|
||||
test_valid_value("grid-row", "2 i / auto", "2 i");
|
||||
test_valid_value("grid-row", "1 / auto", "1");
|
||||
test_valid_value("grid-column", "2 j / span 3 k");
|
||||
|
||||
|
||||
// https://github.com/w3c/csswg-drafts/issues/2858
|
||||
// '\\31 st' in Blink, Firefox, '1st' in Edge, '"1st"' in Safari.
|
||||
test_valid_value("grid-column-end", "\\31st", ["\\31 st", "1st", '"1st"']);
|
||||
test_valid_value("grid-column-end", "\\31 st", ["\\31 st", "1st", '"1st"']);
|
||||
// '\\31 st' in Blink, Firefox, EdgeHTML and Safari serialize invalid values.
|
||||
test_valid_value("grid-column-end", "\\31st", ["\\31 st", "\\31st"]);
|
||||
test_valid_value("grid-column-end", "\\31 st", ["\\31 st", "\\31st"]);
|
||||
test_valid_value("grid-column", "\\31st / \\31 st", ["\\31 st", "\\31st"]);
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -0,0 +1,50 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Grid Layout Test: parsing 'grid' with invalid values</title>
|
||||
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid/#propdef-grid">
|
||||
<meta name="assert" content="grid-template supports only the grammar `<'grid-template'> | <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? | [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>`.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/parsing-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
|
||||
test_invalid_value("grid", 'none none');
|
||||
test_invalid_value("grid", 'none []');
|
||||
test_invalid_value("grid", '10px');
|
||||
test_invalid_value("grid", '20%');
|
||||
test_invalid_value("grid", '5fr');
|
||||
test_invalid_value("grid", '[a]');
|
||||
test_invalid_value("grid", '[a] 10px');
|
||||
test_invalid_value("grid", '[a] 10px []');
|
||||
test_invalid_value("grid", '[]');
|
||||
test_invalid_value("grid", '10px "a"');
|
||||
test_invalid_value("grid", '[] 10px "a"');
|
||||
test_invalid_value("grid", '10px [] "a"');
|
||||
test_invalid_value("grid", '[] [] "a"');
|
||||
test_invalid_value("grid", '"a" none');
|
||||
test_invalid_value("grid", '"a" 10px 10px');
|
||||
test_invalid_value("grid", '"a" [a] 10px');
|
||||
test_invalid_value("grid", '"a" [a] 10px [a]');
|
||||
test_invalid_value("grid", '"a" [a] [a] 10px');
|
||||
test_invalid_value("grid", '"a" 10px [a] [a]');
|
||||
test_invalid_value("grid", '"a" [a] [a]');
|
||||
test_invalid_value("grid", '[a] "a" [a] [a]');
|
||||
test_invalid_value("grid", '"a" "a" [a] [a]');
|
||||
test_invalid_value("grid", '"a" [a] [a] / none');
|
||||
test_invalid_value("grid", '"a" "a" [a] [a] / none');
|
||||
test_invalid_value("grid", 'none / "a"');
|
||||
test_invalid_value("grid", '"a" / none');
|
||||
test_invalid_value("grid", 'none / [] "a"');
|
||||
test_invalid_value("grid", 'none / "a" []');
|
||||
test_invalid_value("grid", 'none / "a" [] 10px');
|
||||
|
||||
// FIXME: add more values to test full syntax
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,33 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Grid Layout Test: parsing 'grid' with valid values</title>
|
||||
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid/#propdef-grid">
|
||||
<meta name="assert" content="grid-template supports the grammar `<'grid-template'> | <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? | [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>`.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/parsing-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
|
||||
// <'grid-template'> values
|
||||
test_valid_value("grid", 'auto / auto');
|
||||
test_valid_value("grid", 'none / [a] 0px');
|
||||
test_valid_value("grid", 'none / [] 0px', 'none / 0px');
|
||||
test_valid_value("grid", '[a] 10px / auto');
|
||||
test_valid_value("grid", '[a] 10px / none');
|
||||
test_valid_value("grid", '[] 10px [] / [] auto []', '10px / auto');
|
||||
test_valid_value("grid", '[a] "a" 10px');
|
||||
test_valid_value("grid", '[a] "a" 10px []', '[a] "a" 10px');
|
||||
test_valid_value("grid", '"a" 10px');
|
||||
test_valid_value("grid", '[] "a" 10px', '"a" 10px');
|
||||
test_valid_value("grid", '[a] "a" 10px [a]');
|
||||
|
||||
// FIXME: add more values to test full syntax
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,51 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Grid Layout Test: parsing grid-template with invalid values</title>
|
||||
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid/#propdef-grid-template">
|
||||
<meta name="assert" content="grid-template supports only the grammar `none | [ <'grid-template-rows'> / <'grid-template-columns'> ] | [ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]?`.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/parsing-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
|
||||
test_invalid_value("grid-template", 'auto');
|
||||
test_invalid_value("grid-template", 'none none');
|
||||
test_invalid_value("grid-template", 'none []');
|
||||
test_invalid_value("grid-template", '10px');
|
||||
test_invalid_value("grid-template", '20%');
|
||||
test_invalid_value("grid-template", '5fr');
|
||||
test_invalid_value("grid-template", '[a]');
|
||||
test_invalid_value("grid-template", '[a] 10px');
|
||||
test_invalid_value("grid-template", '[a] 10px []');
|
||||
test_invalid_value("grid-template", '[]');
|
||||
test_invalid_value("grid-template", '10px "a"');
|
||||
test_invalid_value("grid-template", '[] 10px "a"');
|
||||
test_invalid_value("grid-template", '10px [] "a"');
|
||||
test_invalid_value("grid-template", '[] [] "a"');
|
||||
test_invalid_value("grid-template", '"a" none');
|
||||
test_invalid_value("grid-template", '"a" 10px 10px');
|
||||
test_invalid_value("grid-template", '"a" [a] 10px');
|
||||
test_invalid_value("grid-template", '"a" [a] 10px [a]');
|
||||
test_invalid_value("grid-template", '"a" [a] [a] 10px');
|
||||
test_invalid_value("grid-template", '"a" 10px [a] [a]');
|
||||
test_invalid_value("grid-template", '"a" [a] [a]');
|
||||
test_invalid_value("grid-template", '[a] "a" [a] [a]');
|
||||
test_invalid_value("grid-template", '"a" "a" [a] [a]');
|
||||
test_invalid_value("grid-template", '"a" [a] [a] / none');
|
||||
test_invalid_value("grid-template", '"a" "a" [a] [a] / none');
|
||||
test_invalid_value("grid-template", 'none / "a"');
|
||||
test_invalid_value("grid-template", '"a" / none');
|
||||
test_invalid_value("grid-template", 'none / [] "a"');
|
||||
test_invalid_value("grid-template", 'none / "a" []');
|
||||
test_invalid_value("grid-template", 'none / "a" [] 10px');
|
||||
|
||||
// FIXME: add more values to test full syntax
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,32 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Grid Layout Test: parsing grid-template with valid values</title>
|
||||
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid/#propdef-grid-template">
|
||||
<meta name="assert" content="grid-template supports the grammar `none | [ <'grid-template-rows'> / <'grid-template-columns'> ] | [ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]?`.">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/css/support/parsing-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
|
||||
test_valid_value("grid-template", 'auto / auto');
|
||||
test_valid_value("grid-template", 'none / [a] 0px');
|
||||
test_valid_value("grid-template", 'none / [] 0px', 'none / 0px');
|
||||
test_valid_value("grid-template", '[a] 10px / auto');
|
||||
test_valid_value("grid-template", '[a] 10px / none');
|
||||
test_valid_value("grid-template", '[] 10px [] / [] auto []', '10px / auto');
|
||||
test_valid_value("grid-template", '[a] "a" 10px');
|
||||
test_valid_value("grid-template", '[a] "a" 10px []', '[a] "a" 10px');
|
||||
test_valid_value("grid-template", '"a" 10px');
|
||||
test_valid_value("grid-template", '[] "a" 10px', '"a" 10px');
|
||||
test_valid_value("grid-template", '[a] "a" 10px [a]');
|
||||
|
||||
// FIXME: add more values to test full syntax
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,18 @@
|
|||
"use strict";
|
||||
self.importScripts("/resources/testharness.js");
|
||||
|
||||
let state = "start in worker";
|
||||
|
||||
self.onmessage = e => {
|
||||
if (e.data === "start in window") {
|
||||
assert_equals(state, "start in worker");
|
||||
e.source.postMessage(state);
|
||||
state = "waiting for message from the window";
|
||||
} else if (e.data === "we are expecting a messageerror due to the worker sending us a SAB") {
|
||||
assert_equals(state, "waiting for message from the window");
|
||||
e.source.postMessage(new SharedArrayBuffer());
|
||||
state = "done in worker";
|
||||
} else {
|
||||
e.source.postMessage(`worker onmessage was reached when in state "${state}" and data ${e.data}`);
|
||||
}
|
||||
};
|
|
@ -0,0 +1 @@
|
|||
Cross-Origin-Embedder-Policy: require-corp
|
|
@ -0,0 +1,48 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>Test ServiceWorkerContainer.onmessageerror using SharedArrayBuffer</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/service-workers/service-worker/resources/test-helpers.sub.js"></script>
|
||||
|
||||
<script>
|
||||
"use strict";
|
||||
promise_test(t => {
|
||||
const scope = "resources/blank.html";
|
||||
return service_worker_unregister_and_register(t, "resources/serviceworker-success.js", scope)
|
||||
.then(reg => {
|
||||
t.add_cleanup(() => service_worker_unregister(t, scope));
|
||||
return wait_for_state(t, reg.installing, "activated");
|
||||
})
|
||||
.then(() => with_iframe(scope))
|
||||
.then(iframe => {
|
||||
t.add_cleanup(() => iframe.remove());
|
||||
const sw = iframe.contentWindow.navigator.serviceWorker;
|
||||
let state = "start in window";
|
||||
|
||||
return new Promise(resolve => {
|
||||
sw.onmessage = t.step_func(e => {
|
||||
if (e.data === "start in worker") {
|
||||
assert_equals(state, "start in window");
|
||||
state = "we are expecting a messageerror due to the worker sending us a SAB";
|
||||
sw.controller.postMessage(state);
|
||||
} else {
|
||||
assert_unreached("Got an unexpected message from the service worker: " + e.data);
|
||||
}
|
||||
});
|
||||
|
||||
sw.onmessageerror = t.step_func(e => {
|
||||
assert_equals(state, "we are expecting a messageerror due to the worker sending us a SAB");
|
||||
assert_equals(e.data, null, "data");
|
||||
assert_equals(e.origin, self.origin, "origin");
|
||||
assert_not_equals(e.source, null, "source");
|
||||
assert_equals(e.ports.length, 0, "ports length");
|
||||
state = "done in window";
|
||||
resolve();
|
||||
});
|
||||
|
||||
sw.controller.postMessage(state);
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
|
@ -0,0 +1,2 @@
|
|||
Cross-Origin-Opener-Policy: same-origin
|
||||
Cross-Origin-Embedder-Policy: require-corp
|
|
@ -282,6 +282,7 @@ GENERATE_TESTS: shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/w
|
|||
GENERATE_TESTS: shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/window-named-properties-003.html
|
||||
|
||||
# Intentional use of setTimeout
|
||||
SET TIMEOUT: common/security-features/resources/common.sub.js
|
||||
SET TIMEOUT: css/css-fonts/font-display/font-display.html
|
||||
SET TIMEOUT: css/css-fonts/font-display/font-display-change.html
|
||||
SET TIMEOUT: css/css-fonts/font-display/font-display-change-ref.html
|
||||
|
|
|
@ -12,6 +12,5 @@ idl_test(
|
|||
TrustedScript: ['window.trustedTypes.createPolicy("SomeName2", { createScript: s => s }).createScript("A string")'],
|
||||
TrustedScriptURL: ['window.trustedTypes.createPolicy("SomeName3", { createScriptURL: s => s }).createScriptURL("A string")'],
|
||||
});
|
||||
},
|
||||
'Trusted Types'
|
||||
}
|
||||
);
|
|
@ -0,0 +1,19 @@
|
|||
"use strict";
|
||||
self.importScripts("/resources/testharness.js");
|
||||
self.importScripts("./create-empty-wasm-module.js");
|
||||
|
||||
let state = "start in worker";
|
||||
|
||||
self.onmessage = e => {
|
||||
if (e.data === "start in window") {
|
||||
assert_equals(state, "start in worker");
|
||||
e.source.postMessage(state);
|
||||
state = "waiting for message from the window";
|
||||
} else if (e.data === "we are expecting a messageerror due to the worker sending us a WebAssembly.Module") {
|
||||
assert_equals(state, "waiting for message from the window");
|
||||
e.source.postMessage(createEmptyWasmModule());
|
||||
state = "done in worker";
|
||||
} else {
|
||||
e.source.postMessage(`worker onmessage was reached when in state "${state}" and data ${e.data}`);
|
||||
}
|
||||
};
|
|
@ -0,0 +1,49 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>Test ServiceWorkerContainer.onmessageerror using WebAssembly.Module</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/service-workers/service-worker/resources/test-helpers.sub.js"></script>
|
||||
<script src="./resources/create-empty-wasm-module.js"></script>
|
||||
|
||||
<script>
|
||||
"use strict";
|
||||
promise_test(t => {
|
||||
const scope = "resources/blank.html";
|
||||
return service_worker_unregister_and_register(t, "resources/serviceworker-success.js", scope)
|
||||
.then(reg => {
|
||||
t.add_cleanup(() => service_worker_unregister(t, scope));
|
||||
return wait_for_state(t, reg.installing, "activated");
|
||||
})
|
||||
.then(() => with_iframe(scope))
|
||||
.then(iframe => {
|
||||
t.add_cleanup(() => iframe.remove());
|
||||
const sw = iframe.contentWindow.navigator.serviceWorker;
|
||||
let state = "start in window";
|
||||
|
||||
return new Promise(resolve => {
|
||||
sw.onmessage = t.step_func(e => {
|
||||
if (e.data === "start in worker") {
|
||||
assert_equals(state, "start in window");
|
||||
state = "we are expecting a messageerror due to the worker sending us a WebAssembly.Module";
|
||||
sw.controller.postMessage(state);
|
||||
} else {
|
||||
assert_unreached("Got an unexpected message from the service worker: " + e.data);
|
||||
}
|
||||
});
|
||||
|
||||
sw.onmessageerror = t.step_func(e => {
|
||||
assert_equals(state, "we are expecting a messageerror due to the worker sending us a WebAssembly.Module");
|
||||
assert_equals(e.data, null, "data");
|
||||
assert_equals(e.origin, self.origin, "origin");
|
||||
assert_not_equals(e.source, null, "source");
|
||||
assert_equals(e.ports.length, 0, "ports length");
|
||||
state = "done in window";
|
||||
resolve();
|
||||
});
|
||||
|
||||
sw.controller.postMessage(state);
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
Loading…
Add table
Add a link
Reference in a new issue