Update web-platform-tests to revision b'b3615436df24bedfdc4f14f959428307a86f74ce'

This commit is contained in:
WPT Sync Bot 2023-02-21 01:36:20 +00:00
parent 883dcbda45
commit 496ae4e174
66 changed files with 771 additions and 173 deletions

View file

@ -7,7 +7,7 @@
expected: FAIL expected: FAIL
[Opening a blob URL in a new window immediately before revoking it works.] [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.] [Opening a blob URL in a noopener about:blank window immediately before revoking it works.]
expected: TIMEOUT expected: TIMEOUT

View file

@ -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": [ "modal-dialog-backdrop.html": [
"55d7132f8cefa6be3b2a3133e35e9c9c3cbef603", "55d7132f8cefa6be3b2a3133e35e9c9c3cbef603",
[ [
@ -317297,7 +317310,7 @@
] ]
], ],
"transform-dynamic-change.html": [ "transform-dynamic-change.html": [
"57b5551061945931b39f35394e2974b2306e2762", "0efefba0f54510925eb5a350e253212de303196b",
[ [
null, null,
[ [
@ -417957,6 +417970,16 @@
[] []
] ]
}, },
"scripting": {
"the-script-element": {
"resources": {
"script.js": [
"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
[]
]
}
}
},
"semantics": { "semantics": {
"document-metadata": { "document-metadata": {
"interactions-of-styling-and-scripting": { "interactions-of-styling-and-scripting": {
@ -419824,6 +419847,10 @@
"1b757ecf62dbdbf1a6a710525dcd1cd5aa816fa7", "1b757ecf62dbdbf1a6a710525dcd1cd5aa816fa7",
[] []
], ],
"modal-dialog-backdrop-opacity-ref.html": [
"b50e6ae026124af0a27622cb995cd497e9761dda",
[]
],
"modal-dialog-backdrop-ref.html": [ "modal-dialog-backdrop-ref.html": [
"d703b7f28e01eef831c09a4fdac9403e603a6b9d", "d703b7f28e01eef831c09a4fdac9403e603a6b9d",
[] []
@ -421659,6 +421686,14 @@
[] []
] ]
} }
},
"the-link-element": {
"resources": {
"stylesheet.css": [
"9d9d772fb468756d1a90f72325f89cd372f812ef",
[]
]
}
} }
}, },
"syntax": { "syntax": {
@ -430028,22 +430063,6 @@
} }
} }
}, },
"priority-hints": {
"META.yml": [
"487b4013a02209cf35be8c9d5099c4d7842ba915",
[]
],
"resources": {
"script.js": [
"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
[]
],
"stylesheet.css": [
"9d9d772fb468756d1a90f72325f89cd372f812ef",
[]
]
}
},
"proximity": { "proximity": {
"META.yml": [ "META.yml": [
"87450781306a3941fe13d756a3761fdecd829016", "87450781306a3941fe13d756a3761fdecd829016",
@ -437952,7 +437971,7 @@
[] []
], ],
"transform-dynamic-change-ref.html": [ "transform-dynamic-change-ref.html": [
"df8afcebc18e912d3c4a66be7e069f1a827e1e88", "db88a073254200a69faee8fff1a0bda19cfeaa9b",
[] []
], ],
"transform-dynamic-change-root-ref.html": [ "transform-dynamic-change-root-ref.html": [
@ -488202,7 +488221,7 @@
] ]
], ],
"cors-safelisted-request-header.any.js": [ "cors-safelisted-request-header.any.js": [
"4783c86296c03f7df13f90befda0d3902a58efac", "a0a0417d74b3dbbb31de66b70b098eba15bcdba5",
[ [
"cors/cors-safelisted-request-header.any.html", "cors/cors-safelisted-request-header.any.html",
{ {
@ -494805,7 +494824,7 @@
] ]
], ],
"linear-timing-functions-syntax.tentative.html": [ "linear-timing-functions-syntax.tentative.html": [
"73267f08604d0243d63712c34fd073d58715f0b2", "99b680d0bde07bbaa1824d7fcd13e78e0dc172f0",
[ [
null, null,
{} {}
@ -513444,7 +513463,7 @@
] ]
], ],
"transition-timing-function.html": [ "transition-timing-function.html": [
"2200c73471774b6475fa7198f037daf79671c507", "0184b29a796140f423f72097f57875a629598c6b",
[ [
null, null,
{} {}
@ -513726,7 +513745,7 @@
] ]
], ],
"transition-timing-function-valid.html": [ "transition-timing-function-valid.html": [
"5402fdac195b2dc2d68553d593e1924f5c3be695", "658ef76bbe84d47864570be49726d36e75b1b555",
[ [
null, null,
{} {}
@ -513828,7 +513847,7 @@
] ]
], ],
"transition-001.html": [ "transition-001.html": [
"e0bf09ae37589b9a8ed2688dd4479e2b109ad076", "492b4437470f5855e1390b3eafdf320528ed4c43",
[ [
null, null,
{} {}
@ -549718,7 +549737,7 @@
}, },
"headers": { "headers": {
"header-setcookie.any.js": [ "header-setcookie.any.js": [
"b8a3348f5f5392757ff02c76418c73bd0cb55207", "cafb780c2c75a9ae6a84fb842f0d0fa075aeffd8",
[ [
"fetch/api/headers/header-setcookie.any.html", "fetch/api/headers/header-setcookie.any.html",
{ {
@ -558401,6 +558420,31 @@
] ]
}, },
"range": { "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": [ "data.any.js": [
"22ef11e9317275cc70b9a23653b87f089afe4457", "22ef11e9317275cc70b9a23653b87f089afe4457",
[ [
@ -592550,6 +592594,17 @@
] ]
} }
}, },
"embedded-content": {
"the-img-element": {
"attr-img-fetchpriority.html": [
"996aa4d1567d1548c805163f2c9ce30cd2008e47",
[
null,
{}
]
]
}
},
"infrastructure": { "infrastructure": {
"common-dom-interfaces": { "common-dom-interfaces": {
"collections": { "collections": {
@ -595714,6 +595769,17 @@
} }
} }
}, },
"scripting": {
"the-script-element": {
"attr-script-fetchpriority.html": [
"8639d04d86aaa8d5275fee19fadab0e23d1a8583",
[
null,
{}
]
]
}
},
"select": { "select": {
"options-length-too-large.html": [ "options-length-too-large.html": [
"7ce33ffad49b839dc9fa383ef55cc04b9dfa6bb6", "7ce33ffad49b839dc9fa383ef55cc04b9dfa6bb6",
@ -608982,6 +609048,15 @@
] ]
] ]
} }
},
"the-link-element": {
"attr-link-fetchpriority.html": [
"32c318b7605c2bd92ef59fdd27137fe3dd48d0f5",
[
null,
{}
]
]
} }
}, },
"syntax": { "syntax": {
@ -614268,6 +614343,15 @@
"testdriver": true "testdriver": true
} }
] ]
],
"page-visibility.https.html": [
"550683f704c99efc73e6de2412b56fb2664699ba",
[
null,
{
"testdriver": true
}
]
] ]
}, },
"imagebitmap-renderingcontext": { "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": { "private-click-measurement": {
"idlharness.window.js": [ "idlharness.window.js": [
"1d0539a7bf56d071d247cded4ed2f4555b34bf6f", "1d0539a7bf56d071d247cded4ed2f4555b34bf6f",
@ -649318,7 +649372,7 @@
] ]
], ],
"hidden_document.html": [ "hidden_document.html": [
"349539628a3718920384ae6faca36844041ecdc8", "6c39d6e6e5be3233017ef6fec577a58187bfe4e9",
[ [
null, null,
{ {

View file

@ -8,5 +8,8 @@
[[data-expected-height\] 3] [[data-expected-height\] 3]
expected: FAIL expected: FAIL
[[data-expected-height\] 4] [[data-expected-height\] 1]
expected: FAIL
[[data-expected-height\] 2]
expected: FAIL expected: FAIL

View file

@ -1,3 +0,0 @@
[block-in-inline-hittest-float-002.html]
[block-in-inline-hittest-float-002]
expected: FAIL

View file

@ -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

View file

@ -74,9 +74,6 @@
[Matching font-weight: '501' should prefer '501' over '502 510'] [Matching font-weight: '501' should prefer '501' over '502 510']
expected: FAIL 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'] [Matching font-style: 'oblique 0deg' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg']
expected: FAIL expected: FAIL
@ -137,9 +134,6 @@
[Matching font-weight: '430' should prefer '500' over '400 425'] [Matching font-weight: '430' should prefer '500' over '400 425']
expected: FAIL 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'] [Matching font-weight: '400' should prefer '351 398' over '501 550']
expected: FAIL expected: FAIL
@ -224,9 +218,6 @@
[Matching font-style: 'oblique -21deg' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg'] [Matching font-style: 'oblique -21deg' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg']
expected: FAIL 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'] [Matching font-weight: '430' should prefer '350 399' over '340 398']
expected: FAIL expected: FAIL
@ -269,9 +260,6 @@
[Matching font-style: 'oblique 21deg' should prefer 'oblique 10deg' over 'italic'] [Matching font-style: 'oblique 21deg' should prefer 'oblique 10deg' over 'italic']
expected: FAIL 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'] [Matching font-weight: '501' should prefer '450 460' over '390 410']
expected: FAIL expected: FAIL
@ -316,3 +304,21 @@
[Matching font-style: 'oblique 10deg' should prefer 'oblique 0deg' over 'oblique -50deg -20deg'] [Matching font-style: 'oblique 10deg' should prefer 'oblique 0deg' over 'oblique -50deg -20deg']
expected: FAIL 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

View file

@ -0,0 +1,2 @@
[segment-break-transformation-unremovable-2.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[segment-break-transformation-unremovable-3.html]
expected: FAIL

View file

@ -1,3 +1,3 @@
[text-align-last-010.html] [text-align-last-010.html]
type: reftest type: reftest
expected: FAIL expected: TIMEOUT

View file

@ -0,0 +1,2 @@
[trailing-other-space-separators-break-spaces-006.html]
expected: FAIL

View file

@ -4,3 +4,6 @@
[CSS Test: Positions of trailing collapsible spaces 2] [CSS Test: Positions of trailing collapsible spaces 2]
expected: FAIL expected: FAIL
[CSS Test: Positions of trailing collapsible spaces 4]
expected: FAIL

View file

@ -11,3 +11,11 @@
[e.style['transition-timing-function'\] = "steps(2, jump-end)" should set the property value] [e.style['transition-timing-function'\] = "steps(2, jump-end)" should set the property value]
expected: FAIL 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

View file

@ -0,0 +1,3 @@
[transition-001.html]
[parse '1s width linear(0, .5 10% 20%, 1, .5 50%, 1) 2s']
expected: FAIL

View file

@ -0,0 +1,3 @@
[elementFromPoint-001.html]
[CSSOM View - 5 - extensions to the Document interface]
expected: FAIL

View file

@ -0,0 +1,3 @@
[elementFromPoint-dynamic-anon-box.html]
[Link should be clickable after hiding a scrollbox with an anonymous table inside]
expected: FAIL

View file

@ -1,3 +0,0 @@
[elementFromPoint-float-in-table.html]
[float-in-div]
expected: FAIL

View file

@ -13,3 +13,6 @@
[<li>Outside 3</li>] [<li>Outside 3</li>]
expected: FAIL expected: FAIL
[<li>Inside 2</li>]
expected: FAIL

View file

@ -0,0 +1,3 @@
[elementFromPoint-subpixel.html]
[Hit test top left corner of box]
expected: FAIL

View file

@ -0,0 +1,3 @@
[elementFromPoint-visibility-hidden-resizer.html]
[elementFromPoint on resizer area of an element with visibility:hidden]
expected: FAIL

View file

@ -50,6 +50,12 @@
[Set-Cookie is a forbidden response header] [Set-Cookie is a forbidden response header]
expected: FAIL 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] [header-setcookie.any.html]
[Headers iterator does not combine set-cookie headers] [Headers iterator does not combine set-cookie headers]
@ -100,6 +106,12 @@
[Set-Cookie is a forbidden response header] [Set-Cookie is a forbidden response header]
expected: FAIL 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] [header-setcookie.any.sharedworker.html]
expected: ERROR expected: ERROR

View file

@ -147,5 +147,5 @@
[list-style-image sec-fetch-site - HTTPS downgrade-upgrade] [list-style-image sec-fetch-site - HTTPS downgrade-upgrade]
expected: FAIL expected: FAIL
[background-image sec-fetch-dest - Not sent to non-trustworthy same-site destination] [border-image sec-fetch-user - Not sent to non-trustworthy same-site destination]
expected: TIMEOUT expected: FAIL

View file

@ -31,3 +31,6 @@
[private https to local: failure.] [private https to local: failure.]
expected: FAIL expected: FAIL
[local to local: success.]
expected: FAIL

View 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

View file

@ -1,9 +1,10 @@
[iframe-src-aboutblank-navigate-immediately.html] [iframe-src-aboutblank-navigate-immediately.html]
expected: TIMEOUT
[Navigating to a different document with window.open] [Navigating to a different document with window.open]
expected: FAIL expected: FAIL
[Navigating to a different document with form submission] [Navigating to a different document with form submission]
expected: FAIL expected: TIMEOUT
[Navigating to a different document with link click] [Navigating to a different document with link click]
expected: FAIL expected: FAIL

View file

@ -0,0 +1,3 @@
[navigation-unload-cross-origin.sub.window.html]
[Cross-origin navigation started from unload handler must be ignored]
expected: FAIL

View file

@ -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

View file

@ -0,0 +1,3 @@
[navigation-unload-same-origin.window.html]
[Same-origin navigation started from unload handler must be ignored]
expected: FAIL

View file

@ -1,3 +1,4 @@
[pageload-image-in-popup.html] [pageload-image-in-popup.html]
expected: TIMEOUT
[The document for a standalone media file should have one child in the body.] [The document for a standalone media file should have one child in the body.]
expected: FAIL expected: NOTRUN

View file

@ -1,4 +0,0 @@
[creating_browsing_context_test_01.html]
expected: TIMEOUT
[first argument: absolute url]
expected: TIMEOUT

View file

@ -1,2 +1,2 @@
[canvas.2d.disconnected.html] [canvas.2d.disconnected.html]
expected: TIMEOUT expected: FAIL

View file

@ -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

View file

@ -1,4 +1,5 @@
[supported-elements.html] [supported-elements.html]
expected: TIMEOUT
[Contenteditable element should support autofocus] [Contenteditable element should support autofocus]
expected: FAIL expected: FAIL
@ -6,10 +7,10 @@
expected: FAIL expected: FAIL
[Host element with delegatesFocus including no focusable descendants should be skipped] [Host element with delegatesFocus including no focusable descendants should be skipped]
expected: FAIL expected: TIMEOUT
[Area element should support autofocus] [Area element should support autofocus]
expected: FAIL expected: NOTRUN
[Host element with delegatesFocus should support autofocus] [Host element with delegatesFocus should support autofocus]
expected: FAIL expected: FAIL

View file

@ -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

View file

@ -1,4 +1,5 @@
[iframe_sandbox_popups_escaping-3.html] [iframe_sandbox_popups_escaping-3.html]
type: testharness type: testharness
expected: TIMEOUT
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used] [Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
expected: FAIL expected: TIMEOUT

View file

@ -1,4 +1,5 @@
[iframe_sandbox_popups_nonescaping-2.html] [iframe_sandbox_popups_nonescaping-2.html]
type: testharness type: testharness
expected: CRASH
[Check that popups from a sandboxed iframe do not escape the sandbox] [Check that popups from a sandboxed iframe do not escape the sandbox]
expected: FAIL expected: FAIL

View file

@ -175,3 +175,6 @@
[application/x-www-form-urlencoded: 0x00 in filename (formdata event)] [application/x-www-form-urlencoded: 0x00 in filename (formdata event)]
expected: FAIL expected: FAIL
[application/x-www-form-urlencoded: character not in encoding in filename (formdata event)]
expected: FAIL

View file

@ -0,0 +1,3 @@
[select-event.html]
[input type text: selectionEnd a second time (must not fire select)]
expected: FAIL

View file

@ -0,0 +1,2 @@
[modal-dialog-backdrop-opacity.html]
expected: FAIL

View file

@ -1,5 +1,6 @@
[htmlanchorelement_noopener.html] [htmlanchorelement_noopener.html]
type: testharness type: testharness
expected: TIMEOUT
[Check that targeting of rel=noopener with a given name ignores an existing window with that name] [Check that targeting of rel=noopener with a given name ignores an existing window with that name]
expected: NOTRUN expected: NOTRUN
@ -11,3 +12,6 @@
[Check that rel=noopener with target=_parent does a normal load] [Check that rel=noopener with target=_parent does a normal load]
expected: FAIL expected: FAIL
[Check that rel=noopener with target=_self does a normal load]
expected: NOTRUN

View file

@ -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

View file

@ -94,10 +94,10 @@
expected: FAIL expected: FAIL
[mime-type 16 : text/html;charset=\x0bgbk] [mime-type 16 : text/html;charset=\x0bgbk]
expected: FAIL expected: TIMEOUT
[mime-type 17 : text/html;charset=\x0cgbk] [mime-type 17 : text/html;charset=\x0cgbk]
expected: TIMEOUT expected: NOTRUN
[mime-type 18 : text/html;\x0bcharset=gbk] [mime-type 18 : text/html;\x0bcharset=gbk]
expected: NOTRUN expected: NOTRUN

View file

@ -1,6 +1,7 @@
[entry.html] [entry.html]
expected: TIMEOUT
[Start function] [Start function]
expected: FAIL expected: TIMEOUT
[Sanity check: this all works as expected synchronously] [Sanity check: this all works as expected synchronously]
expected: FAIL expected: FAIL

View file

@ -1,5 +1,5 @@
[cross-partition.https.tentative.html] [cross-partition.https.tentative.html]
expected: TIMEOUT expected: CRASH
[BroadcastChannel messages aren't received from a cross-partition iframe] [BroadcastChannel messages aren't received from a cross-partition iframe]
expected: FAIL expected: FAIL

View file

@ -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

View file

@ -1,3 +0,0 @@
[scrollBy.html]
[Ensure that the window.scrollBy function affects scroll position as expected]
expected: FAIL

View file

@ -0,0 +1,6 @@
[task_queue_throttling.any.html]
[Throttling the performance timeline task queue.]
expected: FAIL
[task_queue_throttling.any.worker.html]

View file

@ -46,6 +46,15 @@ function safelist(headers, expectPreflight = false) {
["100-200", true], ["100-200", true],
["MB=100-200", true], ["MB=100-200", true],
["bytes=100-200"], ["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=100-200hello", true],
["bytes=abc-def", true], ["bytes=abc-def", true],
["bytes=100-200,300-400", 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=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],
[",bytes=100-200", true], [",bytes=100-200", true],
["bytes=,100-200", true], ["bytes=,100-200", true],
].forEach(([value, preflight = false]) => { ].forEach(([value, preflight = false]) => {

View file

@ -13,23 +13,24 @@
<body> <body>
<div id="target"></div> <div id="target"></div>
<script> <script>
test_valid_value("animation-timing-function", "linear()"); test_valid_value("animation-timing-function", "linear(0 0%, 1 100%)");
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% 50%, 1 50% 100%)", "linear(0 0%, 0 50%, 1 50%, 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, 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, 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, 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(100%)");
test_invalid_value("animation-timing-function", "linear(0% 1 50%)"); 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, 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 calc(0%), 0 calc(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(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% 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, 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%)"); 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%)");

View file

@ -69,6 +69,7 @@
verifyPosition('box3', easeIn()); verifyPosition('box3', easeIn());
verifyPosition('box4', easeOut()); verifyPosition('box4', easeOut());
verifyPosition('box5', easeInOut()); verifyPosition('box5', easeInOut());
verifyPosition('box6', 400);
}); });
}, 'Ensure that transition easing functions are properly applied.'); }, '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="box3" class="box" style="transition-timing-function: ease-in;"></div>
<div id="box4" class="box" style="transition-timing-function: ease-out;"></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="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> </div>
</body> </body>
</html> </html>

View file

@ -13,6 +13,9 @@
<body> <body>
<script> <script>
test_valid_value("transition-timing-function", "linear"); 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");
test_valid_value("transition-timing-function", "ease-in"); test_valid_value("transition-timing-function", "ease-in");

View file

@ -41,8 +41,8 @@
'1s 2s width ease-in' : ["width", "1s", "ease-in", "2s"], '1s 2s width ease-in' : ["width", "1s", "ease-in", "2s"],
'1s ease-in 2s width' : ["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 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) { for (var key in values) {
if (Object.prototype.hasOwnProperty.call(values, key)) { if (Object.prototype.hasOwnProperty.call(values, key)) {

View file

@ -129,6 +129,23 @@ test(function () {
assert_true(iterator.next().done); assert_true(iterator.next().done);
}, "Headers iterator is correctly updated with set-cookie changes"); }, "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 () { test(function () {
const headers = new Headers(headerList); const headers = new Headers(headerList);
assert_true(headers.has("sEt-cOoKiE")); assert_true(headers.has("sEt-cOoKiE"));
@ -215,6 +232,31 @@ test(function () {
assert_array_equals(headers.getSetCookie(), ["z=z", "a=a", "n=n"]); assert_array_equals(headers.getSetCookie(), ["z=z", "a=a", "n=n"]);
}, "Headers.prototype.getSetCookie preserves header ordering"); }, "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 () { test(function () {
const response = new Response(); const response = new Response();
response.headers.append("Set-Cookie", "foo=bar"); response.headers.append("Set-Cookie", "foo=bar");

View 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);
});

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -1,5 +0,0 @@
spec: https://wicg.github.io/priority-hints/
suggested_reviewers:
- addyosmani
- domfarolino
- yoavweiss

View file

@ -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>

View file

@ -14,11 +14,13 @@
promise_test(async (t) => { promise_test(async (t) => {
const { minimize, restore } = window_state_context(t); const { minimize, restore } = window_state_context(t);
t.add_cleanup(makeCleanup());
await minimize(); await minimize();
assert_equals(document.visibilityState, "hidden", "Document must be hidden"); 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"); }, "hidden documents must reject went trying to call lock or unlock");
promise_test(async (t) => { promise_test(async (t) => {
@ -29,33 +31,4 @@
assert_equals(document.visibilityState, "hidden", "Document must be hidden"); assert_equals(document.visibilityState, "hidden", "Document must be hidden");
assert_throws_dom("SecurityError", () => screen.orientation.unlock()); assert_throws_dom("SecurityError", () => screen.orientation.unlock());
}, "hidden documents must reject went trying to call 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> </script>

View file

@ -15,5 +15,12 @@
<svg width="500" height="400" style="transform-origin: 0px 0px; transform: scale(2) translate(-300px, -300px);"> <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> <text x="300" y="350" font-size="50" fill="green">PASS</text>
</svg> </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> </body>
</html> </html>

View file

@ -2,6 +2,7 @@
<html class="reftest-wait"> <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=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=1271931">
<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1414117">
<link rel="match" href="transform-dynamic-change-ref.html"> <link rel="match" href="transform-dynamic-change-ref.html">
<body> <body>
@ -20,6 +21,12 @@
<text x="300" y="350" id="text2" font-size="50">PASS</text> <text x="300" y="350" id="text2" font-size="50">PASS</text>
</svg> </svg>
<div id="container3">
<svg width="200" height="100">
<text x="0" y="50" font-size="20">PASS</text>
</svg>
</div>
<script> <script>
requestAnimationFrame(() => { requestAnimationFrame(() => {
requestAnimationFrame(() => { requestAnimationFrame(() => {
@ -29,6 +36,10 @@ requestAnimationFrame(() => {
document.getElementById('svg2').style.transform = 'scale(2) translate(-300px, -300px)'; document.getElementById('svg2').style.transform = 'scale(2) translate(-300px, -300px)';
document.getElementById('text2').style.fill = 'green'; 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'); document.documentElement.classList.remove('reftest-wait');
}); });
}); });