mirror of
https://github.com/servo/servo.git
synced 2025-07-16 03:43:38 +01:00
Update web-platform-tests to revision b'b3615436df24bedfdc4f14f959428307a86f74ce'
This commit is contained in:
parent
883dcbda45
commit
496ae4e174
66 changed files with 771 additions and 173 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: TIMEOUT
|
||||
|
|
|
@ -308795,6 +308795,19 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"modal-dialog-backdrop-opacity.html": [
|
||||
"d8356c7837e5a5f8966128a806237b88f5305ac5",
|
||||
[
|
||||
null,
|
||||
[
|
||||
[
|
||||
"/html/semantics/interactive-elements/the-dialog-element/modal-dialog-backdrop-opacity-ref.html",
|
||||
"=="
|
||||
]
|
||||
],
|
||||
{}
|
||||
]
|
||||
],
|
||||
"modal-dialog-backdrop.html": [
|
||||
"55d7132f8cefa6be3b2a3133e35e9c9c3cbef603",
|
||||
[
|
||||
|
@ -317297,7 +317310,7 @@
|
|||
]
|
||||
],
|
||||
"transform-dynamic-change.html": [
|
||||
"57b5551061945931b39f35394e2974b2306e2762",
|
||||
"0efefba0f54510925eb5a350e253212de303196b",
|
||||
[
|
||||
null,
|
||||
[
|
||||
|
@ -417957,6 +417970,16 @@
|
|||
[]
|
||||
]
|
||||
},
|
||||
"scripting": {
|
||||
"the-script-element": {
|
||||
"resources": {
|
||||
"script.js": [
|
||||
"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
|
||||
[]
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"semantics": {
|
||||
"document-metadata": {
|
||||
"interactions-of-styling-and-scripting": {
|
||||
|
@ -419824,6 +419847,10 @@
|
|||
"1b757ecf62dbdbf1a6a710525dcd1cd5aa816fa7",
|
||||
[]
|
||||
],
|
||||
"modal-dialog-backdrop-opacity-ref.html": [
|
||||
"b50e6ae026124af0a27622cb995cd497e9761dda",
|
||||
[]
|
||||
],
|
||||
"modal-dialog-backdrop-ref.html": [
|
||||
"d703b7f28e01eef831c09a4fdac9403e603a6b9d",
|
||||
[]
|
||||
|
@ -421659,6 +421686,14 @@
|
|||
[]
|
||||
]
|
||||
}
|
||||
},
|
||||
"the-link-element": {
|
||||
"resources": {
|
||||
"stylesheet.css": [
|
||||
"9d9d772fb468756d1a90f72325f89cd372f812ef",
|
||||
[]
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"syntax": {
|
||||
|
@ -430028,22 +430063,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"priority-hints": {
|
||||
"META.yml": [
|
||||
"487b4013a02209cf35be8c9d5099c4d7842ba915",
|
||||
[]
|
||||
],
|
||||
"resources": {
|
||||
"script.js": [
|
||||
"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
|
||||
[]
|
||||
],
|
||||
"stylesheet.css": [
|
||||
"9d9d772fb468756d1a90f72325f89cd372f812ef",
|
||||
[]
|
||||
]
|
||||
}
|
||||
},
|
||||
"proximity": {
|
||||
"META.yml": [
|
||||
"87450781306a3941fe13d756a3761fdecd829016",
|
||||
|
@ -437952,7 +437971,7 @@
|
|||
[]
|
||||
],
|
||||
"transform-dynamic-change-ref.html": [
|
||||
"df8afcebc18e912d3c4a66be7e069f1a827e1e88",
|
||||
"db88a073254200a69faee8fff1a0bda19cfeaa9b",
|
||||
[]
|
||||
],
|
||||
"transform-dynamic-change-root-ref.html": [
|
||||
|
@ -488202,7 +488221,7 @@
|
|||
]
|
||||
],
|
||||
"cors-safelisted-request-header.any.js": [
|
||||
"4783c86296c03f7df13f90befda0d3902a58efac",
|
||||
"a0a0417d74b3dbbb31de66b70b098eba15bcdba5",
|
||||
[
|
||||
"cors/cors-safelisted-request-header.any.html",
|
||||
{
|
||||
|
@ -494805,7 +494824,7 @@
|
|||
]
|
||||
],
|
||||
"linear-timing-functions-syntax.tentative.html": [
|
||||
"73267f08604d0243d63712c34fd073d58715f0b2",
|
||||
"99b680d0bde07bbaa1824d7fcd13e78e0dc172f0",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
|
@ -513444,7 +513463,7 @@
|
|||
]
|
||||
],
|
||||
"transition-timing-function.html": [
|
||||
"2200c73471774b6475fa7198f037daf79671c507",
|
||||
"0184b29a796140f423f72097f57875a629598c6b",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
|
@ -513726,7 +513745,7 @@
|
|||
]
|
||||
],
|
||||
"transition-timing-function-valid.html": [
|
||||
"5402fdac195b2dc2d68553d593e1924f5c3be695",
|
||||
"658ef76bbe84d47864570be49726d36e75b1b555",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
|
@ -513828,7 +513847,7 @@
|
|||
]
|
||||
],
|
||||
"transition-001.html": [
|
||||
"e0bf09ae37589b9a8ed2688dd4479e2b109ad076",
|
||||
"492b4437470f5855e1390b3eafdf320528ed4c43",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
|
@ -549718,7 +549737,7 @@
|
|||
},
|
||||
"headers": {
|
||||
"header-setcookie.any.js": [
|
||||
"b8a3348f5f5392757ff02c76418c73bd0cb55207",
|
||||
"cafb780c2c75a9ae6a84fb842f0d0fa075aeffd8",
|
||||
[
|
||||
"fetch/api/headers/header-setcookie.any.html",
|
||||
{
|
||||
|
@ -558401,6 +558420,31 @@
|
|||
]
|
||||
},
|
||||
"range": {
|
||||
"blob.any.js": [
|
||||
"f3eb313b34b42d12f6ee7e2740edd9360c4ab6f1",
|
||||
[
|
||||
"fetch/range/blob.any.html",
|
||||
{
|
||||
"script_metadata": [
|
||||
[
|
||||
"script",
|
||||
"/common/utils.js"
|
||||
]
|
||||
]
|
||||
}
|
||||
],
|
||||
[
|
||||
"fetch/range/blob.any.worker.html",
|
||||
{
|
||||
"script_metadata": [
|
||||
[
|
||||
"script",
|
||||
"/common/utils.js"
|
||||
]
|
||||
]
|
||||
}
|
||||
]
|
||||
],
|
||||
"data.any.js": [
|
||||
"22ef11e9317275cc70b9a23653b87f089afe4457",
|
||||
[
|
||||
|
@ -592550,6 +592594,17 @@
|
|||
]
|
||||
}
|
||||
},
|
||||
"embedded-content": {
|
||||
"the-img-element": {
|
||||
"attr-img-fetchpriority.html": [
|
||||
"996aa4d1567d1548c805163f2c9ce30cd2008e47",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
"infrastructure": {
|
||||
"common-dom-interfaces": {
|
||||
"collections": {
|
||||
|
@ -595714,6 +595769,17 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"scripting": {
|
||||
"the-script-element": {
|
||||
"attr-script-fetchpriority.html": [
|
||||
"8639d04d86aaa8d5275fee19fadab0e23d1a8583",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
"select": {
|
||||
"options-length-too-large.html": [
|
||||
"7ce33ffad49b839dc9fa383ef55cc04b9dfa6bb6",
|
||||
|
@ -608982,6 +609048,15 @@
|
|||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
"the-link-element": {
|
||||
"attr-link-fetchpriority.html": [
|
||||
"32c318b7605c2bd92ef59fdd27137fe3dd48d0f5",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
"syntax": {
|
||||
|
@ -614268,6 +614343,15 @@
|
|||
"testdriver": true
|
||||
}
|
||||
]
|
||||
],
|
||||
"page-visibility.https.html": [
|
||||
"550683f704c99efc73e6de2412b56fb2664699ba",
|
||||
[
|
||||
null,
|
||||
{
|
||||
"testdriver": true
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"imagebitmap-renderingcontext": {
|
||||
|
@ -633583,36 +633667,6 @@
|
|||
]
|
||||
}
|
||||
},
|
||||
"priority-hints": {
|
||||
"iframe-attr-fetchpriority.tentative.html": [
|
||||
"386577690b2557cf5f54e586a4b95f638d237ecf",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"img-attr-fetchpriority.tentative.html": [
|
||||
"996aa4d1567d1548c805163f2c9ce30cd2008e47",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"link-attr-fetchpriority.tentative.html": [
|
||||
"32c318b7605c2bd92ef59fdd27137fe3dd48d0f5",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
],
|
||||
"script-attr-fetchpriority.tentative.html": [
|
||||
"8639d04d86aaa8d5275fee19fadab0e23d1a8583",
|
||||
[
|
||||
null,
|
||||
{}
|
||||
]
|
||||
]
|
||||
},
|
||||
"private-click-measurement": {
|
||||
"idlharness.window.js": [
|
||||
"1d0539a7bf56d071d247cded4ed2f4555b34bf6f",
|
||||
|
@ -649318,7 +649372,7 @@
|
|||
]
|
||||
],
|
||||
"hidden_document.html": [
|
||||
"349539628a3718920384ae6faca36844041ecdc8",
|
||||
"6c39d6e6e5be3233017ef6fec577a58187bfe4e9",
|
||||
[
|
||||
null,
|
||||
{
|
||||
|
|
|
@ -8,5 +8,8 @@
|
|||
[[data-expected-height\] 3]
|
||||
expected: FAIL
|
||||
|
||||
[[data-expected-height\] 4]
|
||||
[[data-expected-height\] 1]
|
||||
expected: FAIL
|
||||
|
||||
[[data-expected-height\] 2]
|
||||
expected: FAIL
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
[block-in-inline-hittest-float-002.html]
|
||||
[block-in-inline-hittest-float-002]
|
||||
expected: FAIL
|
|
@ -0,0 +1,3 @@
|
|||
[hittest-anonymous-box.html]
|
||||
[Hit-testing within an anonymous flex-item should return the flexbox as the hittest result.]
|
||||
expected: FAIL
|
|
@ -74,9 +74,6 @@
|
|||
[Matching font-weight: '501' should prefer '501' over '502 510']
|
||||
expected: FAIL
|
||||
|
||||
[Matching font-weight: '430' should prefer '501 550' over '502 560']
|
||||
expected: FAIL
|
||||
|
||||
[Matching font-style: 'oblique 0deg' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg']
|
||||
expected: FAIL
|
||||
|
||||
|
@ -137,9 +134,6 @@
|
|||
[Matching font-weight: '430' should prefer '500' over '400 425']
|
||||
expected: FAIL
|
||||
|
||||
[Matching font-weight: '500' should prefer '350 399' over '351 398']
|
||||
expected: FAIL
|
||||
|
||||
[Matching font-weight: '400' should prefer '351 398' over '501 550']
|
||||
expected: FAIL
|
||||
|
||||
|
@ -224,9 +218,6 @@
|
|||
[Matching font-style: 'oblique -21deg' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg']
|
||||
expected: FAIL
|
||||
|
||||
[Matching font-style: 'italic' should prefer 'normal' over 'oblique 0deg']
|
||||
expected: FAIL
|
||||
|
||||
[Matching font-weight: '430' should prefer '350 399' over '340 398']
|
||||
expected: FAIL
|
||||
|
||||
|
@ -269,9 +260,6 @@
|
|||
[Matching font-style: 'oblique 21deg' should prefer 'oblique 10deg' over 'italic']
|
||||
expected: FAIL
|
||||
|
||||
[Matching font-style: 'oblique 0deg' should prefer 'oblique 40deg 50deg' over 'italic']
|
||||
expected: FAIL
|
||||
|
||||
[Matching font-weight: '501' should prefer '450 460' over '390 410']
|
||||
expected: FAIL
|
||||
|
||||
|
@ -316,3 +304,21 @@
|
|||
|
||||
[Matching font-style: 'oblique 10deg' should prefer 'oblique 0deg' over 'oblique -50deg -20deg']
|
||||
expected: FAIL
|
||||
|
||||
[Matching font-weight: '500' should prefer '500' over '450 460']
|
||||
expected: FAIL
|
||||
|
||||
[Matching font-style: 'normal' should prefer 'oblique 0deg' over 'oblique 10deg 40deg']
|
||||
expected: FAIL
|
||||
|
||||
[Matching font-style: 'normal' should prefer 'oblique -50deg -20deg' over 'oblique -40deg -30deg']
|
||||
expected: FAIL
|
||||
|
||||
[Matching font-style: 'italic' should prefer 'oblique 0deg' over 'oblique -60deg -30deg']
|
||||
expected: FAIL
|
||||
|
||||
[Matching font-style: 'oblique -10deg' should prefer 'oblique -60deg -30deg' over 'oblique -50deg -40deg']
|
||||
expected: FAIL
|
||||
|
||||
[Matching font-style: 'oblique -20deg' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg']
|
||||
expected: FAIL
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
[segment-break-transformation-unremovable-2.html]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[segment-break-transformation-unremovable-3.html]
|
||||
expected: FAIL
|
|
@ -1,3 +1,3 @@
|
|||
[text-align-last-010.html]
|
||||
type: reftest
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
[trailing-other-space-separators-break-spaces-006.html]
|
||||
expected: FAIL
|
|
@ -4,3 +4,6 @@
|
|||
|
||||
[CSS Test: Positions of trailing collapsible spaces 2]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Test: Positions of trailing collapsible spaces 4]
|
||||
expected: FAIL
|
||||
|
|
|
@ -11,3 +11,11 @@
|
|||
[e.style['transition-timing-function'\] = "steps(2, jump-end)" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['transition-timing-function'\] = "linear(0 0%, 0.5 50%, 1 100%)" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['transition-timing-function'\] = "linear(0 0%, 10 10%, 10 50%, 25.4 75%, 100 100%)" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['transition-timing-function'\] = "linear(0 0%, 1 100%)" should set the property value]
|
||||
expected: FAIL
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
[transition-001.html]
|
||||
[parse '1s width linear(0, .5 10% 20%, 1, .5 50%, 1) 2s']
|
||||
expected: FAIL
|
|
@ -0,0 +1,3 @@
|
|||
[elementFromPoint-001.html]
|
||||
[CSSOM View - 5 - extensions to the Document interface]
|
||||
expected: FAIL
|
|
@ -0,0 +1,3 @@
|
|||
[elementFromPoint-dynamic-anon-box.html]
|
||||
[Link should be clickable after hiding a scrollbox with an anonymous table inside]
|
||||
expected: FAIL
|
|
@ -1,3 +0,0 @@
|
|||
[elementFromPoint-float-in-table.html]
|
||||
[float-in-div]
|
||||
expected: FAIL
|
|
@ -13,3 +13,6 @@
|
|||
|
||||
[<li>Outside 3</li>]
|
||||
expected: FAIL
|
||||
|
||||
[<li>Inside 2</li>]
|
||||
expected: FAIL
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
[elementFromPoint-subpixel.html]
|
||||
[Hit test top left corner of box]
|
||||
expected: FAIL
|
|
@ -0,0 +1,3 @@
|
|||
[elementFromPoint-visibility-hidden-resizer.html]
|
||||
[elementFromPoint on resizer area of an element with visibility:hidden]
|
||||
expected: FAIL
|
|
@ -50,6 +50,12 @@
|
|||
[Set-Cookie is a forbidden response header]
|
||||
expected: FAIL
|
||||
|
||||
[Headers iterator is correctly updated with set-cookie changes #2]
|
||||
expected: FAIL
|
||||
|
||||
[Adding Set-Cookie headers normalizes their value]
|
||||
expected: FAIL
|
||||
|
||||
|
||||
[header-setcookie.any.html]
|
||||
[Headers iterator does not combine set-cookie headers]
|
||||
|
@ -100,6 +106,12 @@
|
|||
[Set-Cookie is a forbidden response header]
|
||||
expected: FAIL
|
||||
|
||||
[Headers iterator is correctly updated with set-cookie changes #2]
|
||||
expected: FAIL
|
||||
|
||||
[Adding Set-Cookie headers normalizes their value]
|
||||
expected: FAIL
|
||||
|
||||
|
||||
[header-setcookie.any.sharedworker.html]
|
||||
expected: ERROR
|
||||
|
|
|
@ -147,5 +147,5 @@
|
|||
[list-style-image sec-fetch-site - HTTPS downgrade-upgrade]
|
||||
expected: FAIL
|
||||
|
||||
[background-image sec-fetch-dest - Not sent to non-trustworthy same-site destination]
|
||||
expected: TIMEOUT
|
||||
[border-image sec-fetch-user - Not sent to non-trustworthy same-site destination]
|
||||
expected: FAIL
|
||||
|
|
|
@ -31,3 +31,6 @@
|
|||
|
||||
[private https to local: failure.]
|
||||
expected: FAIL
|
||||
|
||||
[local to local: success.]
|
||||
expected: FAIL
|
||||
|
|
116
tests/wpt/metadata/fetch/range/blob.any.js.ini
Normal file
116
tests/wpt/metadata/fetch/range/blob.any.js.ini
Normal file
|
@ -0,0 +1,116 @@
|
|||
[blob.any.worker.html]
|
||||
[A simple blob range request.]
|
||||
expected: FAIL
|
||||
|
||||
[A blob range request with no end.]
|
||||
expected: FAIL
|
||||
|
||||
[A blob range request with no start.]
|
||||
expected: FAIL
|
||||
|
||||
[A simple blob range request with whitespace.]
|
||||
expected: FAIL
|
||||
|
||||
[Blob content with short content and a large range end]
|
||||
expected: FAIL
|
||||
|
||||
[Blob range request with multiple range values]
|
||||
expected: FAIL
|
||||
|
||||
[Blob range request with multiple range values and whitespace]
|
||||
expected: FAIL
|
||||
|
||||
[Blob range request with trailing comma]
|
||||
expected: FAIL
|
||||
|
||||
[Blob range with no start or end]
|
||||
expected: FAIL
|
||||
|
||||
[Blob range with invalid whitespace in range #1]
|
||||
expected: FAIL
|
||||
|
||||
[Blob range with invalid whitespace in range #2]
|
||||
expected: FAIL
|
||||
|
||||
[Blob range request with short range end]
|
||||
expected: FAIL
|
||||
|
||||
[Blob range start should be an ASCII digit]
|
||||
expected: FAIL
|
||||
|
||||
[Blob range should have a dash]
|
||||
expected: FAIL
|
||||
|
||||
[Blob range end should be an ASCII digit]
|
||||
expected: FAIL
|
||||
|
||||
[Blob range should include '-']
|
||||
expected: FAIL
|
||||
|
||||
[Blob range should include '=']
|
||||
expected: FAIL
|
||||
|
||||
[Blob range should include 'bytes=']
|
||||
expected: FAIL
|
||||
|
||||
[Blob content with short content and a large range start]
|
||||
expected: FAIL
|
||||
|
||||
|
||||
[blob.any.html]
|
||||
[A simple blob range request.]
|
||||
expected: FAIL
|
||||
|
||||
[A blob range request with no end.]
|
||||
expected: FAIL
|
||||
|
||||
[A blob range request with no start.]
|
||||
expected: FAIL
|
||||
|
||||
[A simple blob range request with whitespace.]
|
||||
expected: FAIL
|
||||
|
||||
[Blob content with short content and a large range end]
|
||||
expected: FAIL
|
||||
|
||||
[Blob range request with multiple range values]
|
||||
expected: FAIL
|
||||
|
||||
[Blob range request with multiple range values and whitespace]
|
||||
expected: FAIL
|
||||
|
||||
[Blob range request with trailing comma]
|
||||
expected: FAIL
|
||||
|
||||
[Blob range with no start or end]
|
||||
expected: FAIL
|
||||
|
||||
[Blob range with invalid whitespace in range #1]
|
||||
expected: FAIL
|
||||
|
||||
[Blob range with invalid whitespace in range #2]
|
||||
expected: FAIL
|
||||
|
||||
[Blob range request with short range end]
|
||||
expected: FAIL
|
||||
|
||||
[Blob range start should be an ASCII digit]
|
||||
expected: FAIL
|
||||
|
||||
[Blob range should have a dash]
|
||||
expected: FAIL
|
||||
|
||||
[Blob range end should be an ASCII digit]
|
||||
expected: FAIL
|
||||
|
||||
[Blob range should include '-']
|
||||
expected: FAIL
|
||||
|
||||
[Blob range should include '=']
|
||||
expected: FAIL
|
||||
|
||||
[Blob range should include 'bytes=']
|
||||
expected: FAIL
|
||||
|
||||
[Blob content with short content and a large range start]
|
||||
expected: FAIL
|
|
@ -1,9 +1,10 @@
|
|||
[iframe-src-aboutblank-navigate-immediately.html]
|
||||
expected: TIMEOUT
|
||||
[Navigating to a different document with window.open]
|
||||
expected: FAIL
|
||||
|
||||
[Navigating to a different document with form submission]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[Navigating to a different document with link click]
|
||||
expected: FAIL
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
[navigation-unload-cross-origin.sub.window.html]
|
||||
[Cross-origin navigation started from unload handler must be ignored]
|
||||
expected: FAIL
|
|
@ -1,3 +0,0 @@
|
|||
[navigation-unload-same-origin-fragment.html]
|
||||
[Tests that a fragment navigation in the unload handler will not block the initial navigation]
|
||||
expected: FAIL
|
|
@ -0,0 +1,3 @@
|
|||
[navigation-unload-same-origin.window.html]
|
||||
[Same-origin navigation started from unload handler must be ignored]
|
||||
expected: FAIL
|
|
@ -1,3 +1,4 @@
|
|||
[pageload-image-in-popup.html]
|
||||
expected: TIMEOUT
|
||||
[The document for a standalone media file should have one child in the body.]
|
||||
expected: FAIL
|
||||
expected: NOTRUN
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[creating_browsing_context_test_01.html]
|
||||
expected: TIMEOUT
|
||||
[first argument: absolute url]
|
||||
expected: TIMEOUT
|
|
@ -1,2 +1,2 @@
|
|||
[canvas.2d.disconnected.html]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
[attr-img-fetchpriority.html]
|
||||
[fetchpriority attribute on <img> elements should reflect valid IDL values]
|
||||
expected: FAIL
|
||||
|
||||
[fetchPriority of new Image() is 'auto']
|
||||
expected: FAIL
|
|
@ -1,4 +1,5 @@
|
|||
[supported-elements.html]
|
||||
expected: TIMEOUT
|
||||
[Contenteditable element should support autofocus]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -6,10 +7,10 @@
|
|||
expected: FAIL
|
||||
|
||||
[Host element with delegatesFocus including no focusable descendants should be skipped]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[Area element should support autofocus]
|
||||
expected: FAIL
|
||||
expected: NOTRUN
|
||||
|
||||
[Host element with delegatesFocus should support autofocus]
|
||||
expected: FAIL
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
[attr-script-fetchpriority.html]
|
||||
[fetchpriority attribute on <script> elements should reflect valid IDL values]
|
||||
expected: FAIL
|
||||
|
||||
[default fetchpriority attribute on <script> elements should be 'auto']
|
||||
expected: FAIL
|
|
@ -1,4 +1,5 @@
|
|||
[iframe_sandbox_popups_escaping-3.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
[iframe_sandbox_popups_nonescaping-2.html]
|
||||
type: testharness
|
||||
expected: CRASH
|
||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||
expected: FAIL
|
||||
|
|
|
@ -175,3 +175,6 @@
|
|||
|
||||
[application/x-www-form-urlencoded: 0x00 in filename (formdata event)]
|
||||
expected: FAIL
|
||||
|
||||
[application/x-www-form-urlencoded: character not in encoding in filename (formdata event)]
|
||||
expected: FAIL
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
[select-event.html]
|
||||
[input type text: selectionEnd a second time (must not fire select)]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[modal-dialog-backdrop-opacity.html]
|
||||
expected: FAIL
|
|
@ -1,5 +1,6 @@
|
|||
[htmlanchorelement_noopener.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[Check that targeting of rel=noopener with a given name ignores an existing window with that name]
|
||||
expected: NOTRUN
|
||||
|
||||
|
@ -11,3 +12,6 @@
|
|||
|
||||
[Check that rel=noopener with target=_parent does a normal load]
|
||||
expected: FAIL
|
||||
|
||||
[Check that rel=noopener with target=_self does a normal load]
|
||||
expected: NOTRUN
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
[attr-link-fetchpriority.html]
|
||||
[fetchpriority attribute on <link> elements should reflect valid IDL values]
|
||||
expected: FAIL
|
||||
|
||||
[default fetchpriority attribute on <link> elements should be 'auto']
|
||||
expected: FAIL
|
|
@ -94,10 +94,10 @@
|
|||
expected: FAIL
|
||||
|
||||
[mime-type 16 : text/html;charset=\x0bgbk]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[mime-type 17 : text/html;charset=\x0cgbk]
|
||||
expected: TIMEOUT
|
||||
expected: NOTRUN
|
||||
|
||||
[mime-type 18 : text/html;\x0bcharset=gbk]
|
||||
expected: NOTRUN
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
[entry.html]
|
||||
expected: TIMEOUT
|
||||
[Start function]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[Sanity check: this all works as expected synchronously]
|
||||
expected: FAIL
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
[cross-partition.https.tentative.html]
|
||||
expected: TIMEOUT
|
||||
expected: CRASH
|
||||
[BroadcastChannel messages aren't received from a cross-partition iframe]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
[localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.tentative.html]
|
||||
expected: TIMEOUT
|
||||
[StorageKey: test 3P about:blank window opened from a 3P iframe]
|
||||
expected: TIMEOUT
|
|
@ -1,3 +0,0 @@
|
|||
[scrollBy.html]
|
||||
[Ensure that the window.scrollBy function affects scroll position as expected]
|
||||
expected: FAIL
|
|
@ -0,0 +1,6 @@
|
|||
[task_queue_throttling.any.html]
|
||||
[Throttling the performance timeline task queue.]
|
||||
expected: FAIL
|
||||
|
||||
|
||||
[task_queue_throttling.any.worker.html]
|
|
@ -46,6 +46,15 @@ function safelist(headers, expectPreflight = false) {
|
|||
["100-200", true],
|
||||
["MB=100-200", true],
|
||||
["bytes=100-200"],
|
||||
["bytes =100-200", true],
|
||||
["bytes\t=100-200", true],
|
||||
["bytes= 100-200", true],
|
||||
["bytes=\t\t100-200", true],
|
||||
["bytes= \t100-200", true],
|
||||
["bytes=100 -200", true],
|
||||
["bytes=100\t-200", true],
|
||||
["bytes=100- 200", true],
|
||||
["bytes=100-\t200", true],
|
||||
["bytes=100-200hello", true],
|
||||
["bytes=abc-def", true],
|
||||
["bytes=100-200,300-400", true],
|
||||
|
@ -55,7 +64,6 @@ function safelist(headers, expectPreflight = false) {
|
|||
[`bytes=1${'0'.repeat(60)}-2${'0'.repeat(60)}`, true],
|
||||
["bytes 100-200", true],
|
||||
["bytes = 100-200", true],
|
||||
["bytes =100-200", true],
|
||||
[",bytes=100-200", true],
|
||||
["bytes=,100-200", true],
|
||||
].forEach(([value, preflight = false]) => {
|
||||
|
|
|
@ -13,23 +13,24 @@
|
|||
<body>
|
||||
<div id="target"></div>
|
||||
<script>
|
||||
test_valid_value("animation-timing-function", "linear()");
|
||||
test_valid_value("animation-timing-function", "linear(0)");
|
||||
test_valid_value("animation-timing-function", "linear(0, 1)");
|
||||
test_valid_value("animation-timing-function", "linear(0 0% 100%)", "linear(0 0%, 0 100%)");
|
||||
test_valid_value("animation-timing-function", "linear(0% 100% 0)", "linear(0 0%, 0 100%)");
|
||||
test_valid_value("animation-timing-function", "linear(0 0%, 1 100%)");
|
||||
test_valid_value("animation-timing-function", "linear(0 0% 50%, 1 50% 100%)", "linear(0 0%, 0 50%, 1 50%, 1 100%)");
|
||||
test_valid_value("animation-timing-function", "linear(0, 0.5 25% 75%, 1 100% 100%)", "linear(0, 0.5 25%, 0.5 75%, 1 100%, 1 100%)");
|
||||
test_valid_value("animation-timing-function", "linear(0, 1.3, 1, 0.92, 1, 0.99, 1, 1.004, 0.998, 1 100% 100%)", "linear(0, 1.3, 1, 0.92, 1, 0.99, 1, 1.004, 0.998, 1 100%, 1 100%)");
|
||||
test_valid_value("animation-timing-function", "linear(0, 0.5 25% 75%, 1 100% 100%)", "linear(0 0%, 0.5 25%, 0.5 75%, 1 100%, 1 100%)");
|
||||
test_valid_value("animation-timing-function", "linear(0, 1.3, 1, 0.92, 1, 0.99, 1, 1.004, 0.998, 1 100% 100%)", "linear(0 0%, 1.3 11.1111%, 1 22.2222%, 0.92 33.3333%, 1 44.4444%, 0.99 55.5556%, 1 66.6667%, 1.004 77.7778%, 0.998 88.8889%, 1 100%, 1 100%)");
|
||||
|
||||
test_invalid_value("animation-timing-function", "linear()");
|
||||
test_invalid_value("animation-timing-function", "linear(0)");
|
||||
test_invalid_value("animation-timing-function", "linear(100%)");
|
||||
test_invalid_value("animation-timing-function", "linear(0% 1 50%)");
|
||||
test_invalid_value("animation-timing-function", "linear(0 0% 100%)");
|
||||
test_invalid_value("animation-timing-function", "linear(0% 100% 0)");
|
||||
test_invalid_value("animation-timing-function", "linear(0 calc(50px - 50%), 0 calc(50em + 50em))");
|
||||
test_invalid_value("animation-timing-function", "linear(0 calc(50%, 50%), 0 calc(50% + 50%))");
|
||||
|
||||
test_computed_value("animation-timing-function", "linear()");
|
||||
test_computed_value("animation-timing-function", "linear(0)", "linear(0 0%)");
|
||||
test_computed_value("animation-timing-function", "linear(0, 1)", "linear(0 0%, 1 100%)");
|
||||
test_computed_value("animation-timing-function", "linear(0 0% 100%)", "linear(0 0%, 0 100%)");
|
||||
test_computed_value("animation-timing-function", "linear(0% 100% 0)", "linear(0 0%, 0 100%)");
|
||||
test_computed_value("animation-timing-function", "linear(0 calc(0%), 0 calc(100%))", "linear(0 0%, 0 100%)");
|
||||
test_computed_value("animation-timing-function", "linear(0 calc(50% - 50%), 0 calc(50% + 50%))", "linear(0 0%, 0 100%)");
|
||||
test_computed_value("animation-timing-function", "linear(0 calc(min(50%, 60%)), 0 100%)", "linear(0 50%, 0 100%)");
|
||||
test_computed_value("animation-timing-function", "linear(0 0% 50%, 1 50% 100%)", "linear(0 0%, 0 50%, 1 50%, 1 100%)");
|
||||
test_computed_value("animation-timing-function", "linear(0, 0.5 25% 75%, 1 100% 100%)", "linear(0 0%, 0.5 25%, 0.5 75%, 1 100%, 1 100%)");
|
||||
test_computed_value("animation-timing-function", "linear(0, 1.3, 1, 0.92, 1, 0.99, 1, 0.998, 1 100% 100%)", "linear(0 0%, 1.3 12.5%, 1 25%, 0.92 37.5%, 1 50%, 0.99 62.5%, 1 75%, 0.998 87.5%, 1 100%, 1 100%)");
|
||||
|
|
|
@ -69,6 +69,7 @@
|
|||
verifyPosition('box3', easeIn());
|
||||
verifyPosition('box4', easeOut());
|
||||
verifyPosition('box5', easeInOut());
|
||||
verifyPosition('box6', 400);
|
||||
});
|
||||
}, 'Ensure that transition easing functions are properly applied.');
|
||||
};
|
||||
|
@ -80,6 +81,7 @@
|
|||
<div id="box3" class="box" style="transition-timing-function: ease-in;"></div>
|
||||
<div id="box4" class="box" style="transition-timing-function: ease-out;"></div>
|
||||
<div id="box5" class="box" style="transition-timing-function: ease-in-out;"></div>
|
||||
<div id="box6" class="box" style="transition-timing-function: linear(0, 1, 0);"></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -13,6 +13,9 @@
|
|||
<body>
|
||||
<script>
|
||||
test_valid_value("transition-timing-function", "linear");
|
||||
test_valid_value("transition-timing-function", "linear(0 0%, 0.5 50%, 1 100%)");
|
||||
test_valid_value("transition-timing-function", "linear(0 0%, 10 10%, 10 50%, 25.4 75%, 100 100%)");
|
||||
test_valid_value("transition-timing-function", "linear(0 0%, 1 100%)");
|
||||
|
||||
test_valid_value("transition-timing-function", "ease");
|
||||
test_valid_value("transition-timing-function", "ease-in");
|
||||
|
|
|
@ -41,8 +41,8 @@
|
|||
'1s 2s width ease-in' : ["width", "1s", "ease-in", "2s"],
|
||||
'1s ease-in 2s width' : ["width", "1s", "ease-in", "2s"],
|
||||
'width ease-in 1s 2s' : ["width", "1s", "ease-in", "2s"],
|
||||
'width .1s ease-in .2s' : ["width", "0.1s", "ease-in", "0.2s"]
|
||||
};
|
||||
'width .1s ease-in .2s' : ["width", "0.1s", "ease-in", "0.2s"],
|
||||
'1s width linear(0, .5 10% 20%, 1, .5 50%, 1) 2s' : ["width", "1s", "linear(0 0%, 0.5 10%, 0.5 20%, 1 35%, 0.5 50%, 1 100%)", "2s"]};
|
||||
|
||||
for (var key in values) {
|
||||
if (Object.prototype.hasOwnProperty.call(values, key)) {
|
||||
|
|
|
@ -129,6 +129,23 @@ test(function () {
|
|||
assert_true(iterator.next().done);
|
||||
}, "Headers iterator is correctly updated with set-cookie changes");
|
||||
|
||||
test(function () {
|
||||
const headers = new Headers([
|
||||
["set-cookie", "a"],
|
||||
["set-cookie", "b"],
|
||||
["set-cookie", "c"]
|
||||
]);
|
||||
const iterator = headers[Symbol.iterator]();
|
||||
assert_array_equals(iterator.next().value, ["set-cookie", "a"]);
|
||||
headers.delete("set-cookie");
|
||||
headers.append("set-cookie", "d");
|
||||
headers.append("set-cookie", "e");
|
||||
headers.append("set-cookie", "f");
|
||||
assert_array_equals(iterator.next().value, ["set-cookie", "e"]);
|
||||
assert_array_equals(iterator.next().value, ["set-cookie", "f"]);
|
||||
assert_true(iterator.next().done);
|
||||
}, "Headers iterator is correctly updated with set-cookie changes #2");
|
||||
|
||||
test(function () {
|
||||
const headers = new Headers(headerList);
|
||||
assert_true(headers.has("sEt-cOoKiE"));
|
||||
|
@ -215,6 +232,31 @@ test(function () {
|
|||
assert_array_equals(headers.getSetCookie(), ["z=z", "a=a", "n=n"]);
|
||||
}, "Headers.prototype.getSetCookie preserves header ordering");
|
||||
|
||||
test(function () {
|
||||
const headers = new Headers({"Set-Cookie": " a=b\n"});
|
||||
headers.append("set-cookie", "\n\rc=d ");
|
||||
assert_nested_array_equals([...headers], [
|
||||
["set-cookie", "a=b"],
|
||||
["set-cookie", "c=d"]
|
||||
]);
|
||||
headers.set("set-cookie", "\te=f ");
|
||||
assert_nested_array_equals([...headers], [["set-cookie", "e=f"]]);
|
||||
}, "Adding Set-Cookie headers normalizes their value");
|
||||
|
||||
test(function () {
|
||||
assert_throws_js(TypeError, () => {
|
||||
new Headers({"set-cookie": "\0"});
|
||||
});
|
||||
|
||||
const headers = new Headers();
|
||||
assert_throws_js(TypeError, () => {
|
||||
headers.append("Set-Cookie", "a\nb");
|
||||
});
|
||||
assert_throws_js(TypeError, () => {
|
||||
headers.set("Set-Cookie", "a\rb");
|
||||
});
|
||||
}, "Adding invalid Set-Cookie headers throws");
|
||||
|
||||
test(function () {
|
||||
const response = new Response();
|
||||
response.headers.append("Set-Cookie", "foo=bar");
|
||||
|
|
197
tests/wpt/web-platform-tests/fetch/range/blob.any.js
Normal file
197
tests/wpt/web-platform-tests/fetch/range/blob.any.js
Normal file
|
@ -0,0 +1,197 @@
|
|||
// META: script=/common/utils.js
|
||||
|
||||
const supportedBlobRange = [
|
||||
{
|
||||
name: "A simple blob range request.",
|
||||
data: ["A simple Hello, World! example"],
|
||||
type: "text/plain",
|
||||
range: "bytes=9-21",
|
||||
content_length: 13,
|
||||
content_range: "bytes 9-21/30",
|
||||
result: "Hello, World!",
|
||||
},
|
||||
{
|
||||
name: "A blob range request with no end.",
|
||||
data: ["Range with no end"],
|
||||
type: "text/plain",
|
||||
range: "bytes=11-",
|
||||
content_length: 6,
|
||||
content_range: "bytes 11-16/17",
|
||||
result: "no end",
|
||||
},
|
||||
{
|
||||
name: "A blob range request with no start.",
|
||||
data: ["Range with no start"],
|
||||
type: "text/plain",
|
||||
range: "bytes=-8",
|
||||
content_length: 8,
|
||||
content_range: "bytes 11-18/19",
|
||||
result: "no start",
|
||||
},
|
||||
{
|
||||
name: "A simple blob range request with whitespace.",
|
||||
data: ["A simple Hello, World! example"],
|
||||
type: "text/plain",
|
||||
range: "bytes= \t9-21",
|
||||
content_length: 13,
|
||||
content_range: "bytes 9-21/30",
|
||||
result: "Hello, World!",
|
||||
},
|
||||
{
|
||||
name: "Blob content with short content and a large range end",
|
||||
data: ["Not much here"],
|
||||
type: "text/plain",
|
||||
range: "bytes=4-100000000000",
|
||||
content_length: 9,
|
||||
content_range: "bytes 4-12/13",
|
||||
result: "much here",
|
||||
},
|
||||
];
|
||||
|
||||
const unsupportedBlobRange = [
|
||||
{
|
||||
name: "Blob range request with multiple range values",
|
||||
data: ["Multiple ranges are not currently supported"],
|
||||
type: "text/plain",
|
||||
headers: {
|
||||
"Range": "bytes=0-5,15-"
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "Blob range request with multiple range values and whitespace",
|
||||
data: ["Multiple ranges are not currently supported"],
|
||||
type: "text/plain",
|
||||
headers: {
|
||||
"Range": "bytes=0-5, 15-"
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "Blob range request with trailing comma",
|
||||
data: ["Range with invalid trailing comma"],
|
||||
type: "text/plain",
|
||||
headers: {
|
||||
"Range": "bytes=0-5,"
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "Blob range with no start or end",
|
||||
data: ["Range with no start or end"],
|
||||
type: "text/plain",
|
||||
headers: {
|
||||
"Range": "bytes=-"
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "Blob range with invalid whitespace in range #1",
|
||||
data: ["Invalid whitespace #1"],
|
||||
type: "text/plain",
|
||||
headers: {
|
||||
"Range": "bytes=5 - 10"
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "Blob range with invalid whitespace in range #2",
|
||||
data: ["Invalid whitespace #2"],
|
||||
type: "text/plain",
|
||||
headers: {
|
||||
"Range": "bytes=-\t 5"
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "Blob range request with short range end",
|
||||
data: ["Range end should be greater than range start"],
|
||||
type: "text/plain" ,
|
||||
headers: {
|
||||
"Range": "bytes=10-5"
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "Blob range start should be an ASCII digit",
|
||||
data: ["Range start must be an ASCII digit"],
|
||||
type: "text/plain" ,
|
||||
headers: {
|
||||
"Range": "bytes=x-5"
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "Blob range should have a dash",
|
||||
data: ["Blob range should have a dash"],
|
||||
type: "text/plain" ,
|
||||
headers: {
|
||||
"Range": "bytes=5"
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "Blob range end should be an ASCII digit",
|
||||
data: ["Range end must be an ASCII digit"],
|
||||
type: "text/plain" ,
|
||||
headers: {
|
||||
"Range": "bytes=5-x"
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "Blob range should include '-'",
|
||||
data: ["Range end must include '-'"],
|
||||
type: "text/plain" ,
|
||||
headers: {
|
||||
"Range": "bytes=x"
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "Blob range should include '='",
|
||||
data: ["Range end must include '='"],
|
||||
type: "text/plain" ,
|
||||
headers: {
|
||||
"Range": "bytes 5-"
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "Blob range should include 'bytes='",
|
||||
data: ["Range end must include 'bytes='"],
|
||||
type: "text/plain" ,
|
||||
headers: {
|
||||
"Range": "5-"
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "Blob content with short content and a large range start",
|
||||
data: ["Not much here"],
|
||||
type: "text/plain",
|
||||
headers: {
|
||||
"Range": "bytes=100000-",
|
||||
}
|
||||
},
|
||||
];
|
||||
|
||||
|
||||
supportedBlobRange.forEach(({ name, data, type, range, content_length, content_range, result }) => {
|
||||
promise_test(async () => {
|
||||
let blob = new Blob(data, { "type" : type });
|
||||
return fetch(URL.createObjectURL(blob), {
|
||||
"method": "GET",
|
||||
"headers": {
|
||||
"Range": range
|
||||
}
|
||||
}).then(function(resp) {
|
||||
assert_equals(resp.status, 206, "HTTP status is 206");
|
||||
assert_equals(resp.type, "basic", "response type is basic");
|
||||
assert_equals(resp.headers.get("Content-Type"), type, "Content-Type is " + resp.headers.get("Content-Type"));
|
||||
assert_equals(resp.headers.get("Content-Length"), content_length.toString(), "Content-Length is " + resp.headers.get("Content-Length"));
|
||||
assert_equals(resp.headers.get("Content-Range"), content_range, "Content-Range is " + resp.headers.get("Content-Range"));
|
||||
return resp.text();
|
||||
}).then(function(text) {
|
||||
assert_equals(text, result, "Response's body is correct");
|
||||
});
|
||||
}, name);
|
||||
});
|
||||
|
||||
unsupportedBlobRange.forEach(({ name, data, type, headers }) => {
|
||||
promise_test(function(test) {
|
||||
let blob = new Blob(data, { "type" : type });
|
||||
let promise = fetch(URL.createObjectURL(blob), {
|
||||
"method": "GET",
|
||||
"headers": headers,
|
||||
});
|
||||
return promise_rejects_js(test, TypeError, promise);
|
||||
}, name);
|
||||
});
|
|
@ -0,0 +1,22 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" href="resources/dialog.css">
|
||||
<style>
|
||||
.backdrop {
|
||||
display: block;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
|
||||
background-color: green;
|
||||
opacity: 0.5;
|
||||
}
|
||||
</style>
|
||||
<body>
|
||||
<div class="backdrop"></div>
|
||||
<div class="pseudodialog">Test passes if you see a green backdrop at half opacity.</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,16 @@
|
|||
<!DOCTYPE html>
|
||||
<link rel="author" title="Tim Nguyen" href="https://github.com/nt1m">
|
||||
<link rel="match" href="modal-dialog-backdrop-opacity-ref.html">
|
||||
<link rel="help" href="https://fullscreen.spec.whatwg.org/#user-agent-level-style-sheet-defaults">
|
||||
<style>
|
||||
dialog::backdrop {
|
||||
background-color: rgb(0, 128, 0);
|
||||
opacity: 0.5;
|
||||
}
|
||||
</style>
|
||||
<body>
|
||||
<dialog>Test passes if you see a green backdrop at half opacity.</dialog>
|
||||
<script>
|
||||
document.querySelector('dialog').showModal();
|
||||
</script>
|
||||
</body>
|
|
@ -0,0 +1,79 @@
|
|||
<!DOCTYPE html>
|
||||
<link rel="help" href="https://github.com/samuelgoto/idle-detection">
|
||||
<title>Tests the Idle Detection API</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/resources/test-only-api.js"></script>
|
||||
<script src="/resources/testdriver.js"></script>
|
||||
<script src="/resources/testdriver-vendor.js"></script>
|
||||
<script src="/page-visibility/resources/window_state_context.js"></script>
|
||||
<script src="resources/idle-detection-helper.js"></script>
|
||||
<script>
|
||||
'use strict';
|
||||
|
||||
promise_setup(async t => {
|
||||
await test_driver.set_permission({ name: 'idle-detection' }, 'granted');
|
||||
if (isChromiumBased) {
|
||||
await loadChromiumResources();
|
||||
}
|
||||
})
|
||||
|
||||
promise_test(async t => {
|
||||
let monitor;
|
||||
|
||||
expect(addMonitor).andReturn(async (monitorPtr) => {
|
||||
monitor = monitorPtr;
|
||||
return {
|
||||
error: IdleDetectorError.SUCCESS,
|
||||
state: {
|
||||
idleTime: null,
|
||||
screenLocked: false
|
||||
}
|
||||
};
|
||||
});
|
||||
|
||||
const controller = new AbortController();
|
||||
t.add_cleanup(() => {
|
||||
controller.abort();
|
||||
});
|
||||
const detector = new IdleDetector();
|
||||
const watcher = new EventWatcher(t, detector, ["change"]);
|
||||
const initial_state = watcher.wait_for("change");
|
||||
|
||||
await detector.start({threshold: 60000, signal: controller.signal});
|
||||
await initial_state;
|
||||
|
||||
assert_equals(detector.userState, "active");
|
||||
assert_false(document.hidden);
|
||||
|
||||
const {minimize, restore} = window_state_context(t);
|
||||
|
||||
await minimize();
|
||||
monitor.update(
|
||||
{
|
||||
idleTime: { milliseconds: 0 },
|
||||
screenLocked: false
|
||||
},
|
||||
/*is_overridden_by_devtools=*/true
|
||||
);
|
||||
|
||||
// Assert that the detector works while the page is not visible.
|
||||
await watcher.wait_for("change");
|
||||
assert_equals(detector.userState, "idle");
|
||||
assert_true(document.hidden);
|
||||
|
||||
await restore();
|
||||
monitor.update(
|
||||
{
|
||||
idleTime: null,
|
||||
screenLocked: false
|
||||
},
|
||||
/*is_overridden_by_devtools=*/true
|
||||
);
|
||||
|
||||
await watcher.wait_for("change");
|
||||
assert_equals(detector.userState, "active");
|
||||
assert_false(document.hidden);
|
||||
}, 'Page visibility.');
|
||||
|
||||
</script>
|
|
@ -1,5 +0,0 @@
|
|||
spec: https://wicg.github.io/priority-hints/
|
||||
suggested_reviewers:
|
||||
- addyosmani
|
||||
- domfarolino
|
||||
- yoavweiss
|
|
@ -1,26 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<title>Priority Hints - iFrame element</title>
|
||||
<meta name="author" title="Patrick Meenan" href="mailto:patmeenan@gmail.com">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
|
||||
<iframe id=iframe1 src="/common/blank.html" fetchpriority=high></iframe>
|
||||
<iframe id=iframe2 src="/common/blank.html" fetchpriority=low></iframe>
|
||||
<iframe id=iframe3 src="/common/blank.html" fetchpriority=auto></iframe>
|
||||
<iframe id=iframe4 src="/common/blank.html" fetchpriority=xyz></iframe>
|
||||
<iframe id=iframe5 src="/common/blank.html"></iframe>
|
||||
|
||||
<script>
|
||||
test(() => {
|
||||
assert_equals(iframe1.fetchPriority, "high", "high fetchPriority is a valid IDL value on the script element");
|
||||
assert_equals(iframe2.fetchPriority, "low", "low fetchPriority is a valid IDL value on the script element");
|
||||
assert_equals(iframe3.fetchPriority, "auto", "auto fetchPriority is a valid IDL value on the script element");
|
||||
assert_equals(iframe4.fetchPriority, "auto", "invalid fetchPriority reflects as 'auto' IDL attribute on the script element");
|
||||
assert_equals(iframe5.fetchPriority, "auto", "missing fetchPriority reflects as 'auto' IDL attribute on the script element");
|
||||
}, "fetchpriority attribute on <iframe> elements should reflect valid IDL values");
|
||||
|
||||
test(() => {
|
||||
const iframe = document.createElement("iframe");
|
||||
assert_equals(iframe.fetchPriority, "auto");
|
||||
}, "default fetchpriority attribute on <iframe> elements should be 'auto'");
|
||||
</script>
|
|
@ -14,11 +14,13 @@
|
|||
|
||||
promise_test(async (t) => {
|
||||
const { minimize, restore } = window_state_context(t);
|
||||
t.add_cleanup(makeCleanup());
|
||||
|
||||
await minimize();
|
||||
|
||||
assert_equals(document.visibilityState, "hidden", "Document must be hidden");
|
||||
await promise_rejects_dom(t, "SecurityError", screen.orientation.lock("landscape") );
|
||||
const opposite = getOppositeOrientation();
|
||||
await promise_rejects_dom(t, "SecurityError", screen.orientation.lock(opposite) );
|
||||
}, "hidden documents must reject went trying to call lock or unlock");
|
||||
|
||||
promise_test(async (t) => {
|
||||
|
@ -29,33 +31,4 @@
|
|||
assert_equals(document.visibilityState, "hidden", "Document must be hidden");
|
||||
assert_throws_dom("SecurityError", () => screen.orientation.unlock());
|
||||
}, "hidden documents must reject went trying to call unlock");
|
||||
|
||||
promise_test(async (t) => {
|
||||
const { minimize, restore } = window_state_context(t);
|
||||
t.add_cleanup(makeCleanup());
|
||||
await screen.orientation.lock(getOppositeOrientation());
|
||||
|
||||
await minimize();
|
||||
|
||||
assert_equals(document.visibilityState, "hidden", "Document must be hidden");
|
||||
assert_throws_dom("SecurityError", () => screen.orientation.unlock());
|
||||
}, "hidden documents must not unlock the screen orientation");
|
||||
|
||||
promise_test(async (t) => {
|
||||
const { minimize, restore } = window_state_context(t);
|
||||
t.add_cleanup(makeCleanup());
|
||||
await screen.orientation.lock(getOppositeOrientation());
|
||||
|
||||
await minimize();
|
||||
|
||||
assert_equals(document.visibilityState, "hidden");
|
||||
await promise_rejects_dom(t, "SecurityError", screen.orientation.lock(getOppositeOrientation()));
|
||||
|
||||
// Maximize, now everything should work as expected.
|
||||
await restore();
|
||||
|
||||
assert_equals(document.visibilityState, "visible");
|
||||
await screen.orientation.lock(getOppositeOrientation());
|
||||
screen.orientation.unlock();
|
||||
}, "Once maximized, a minimized window can lock or unlock the screen orientation again");
|
||||
</script>
|
||||
|
|
|
@ -15,5 +15,12 @@
|
|||
<svg width="500" height="400" style="transform-origin: 0px 0px; transform: scale(2) translate(-300px, -300px);">
|
||||
<text x="300" y="350" font-size="50" fill="green">PASS</text>
|
||||
</svg>
|
||||
|
||||
<div id="container3" style="transform-origin: 0px 0px; transform: scale(3);">
|
||||
<svg width="200" height="100">
|
||||
<text x="0" y="50" font-size="20">PASS</text>
|
||||
</svg>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
<html class="reftest-wait">
|
||||
<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1270713">
|
||||
<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1271931">
|
||||
<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1414117">
|
||||
<link rel="match" href="transform-dynamic-change-ref.html">
|
||||
<body>
|
||||
|
||||
|
@ -20,6 +21,12 @@
|
|||
<text x="300" y="350" id="text2" font-size="50">PASS</text>
|
||||
</svg>
|
||||
|
||||
<div id="container3">
|
||||
<svg width="200" height="100">
|
||||
<text x="0" y="50" font-size="20">PASS</text>
|
||||
</svg>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
requestAnimationFrame(() => {
|
||||
requestAnimationFrame(() => {
|
||||
|
@ -29,6 +36,10 @@ requestAnimationFrame(() => {
|
|||
|
||||
document.getElementById('svg2').style.transform = 'scale(2) translate(-300px, -300px)';
|
||||
document.getElementById('text2').style.fill = 'green';
|
||||
|
||||
document.getElementById('container3').style.transformOrigin = "0px 0px";
|
||||
document.getElementById('container3').style.transform = "scale(3)";
|
||||
|
||||
document.documentElement.classList.remove('reftest-wait');
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue