mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Sync WPT with upstream (29-06-2025) (#37774)
Automated downstream sync of changes from upstream as of 29-06-2025 [no-wpt-sync] Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org>
This commit is contained in:
parent
e1c037815c
commit
9a0f2be162
548 changed files with 15671 additions and 4682 deletions
|
@ -14,6 +14,3 @@
|
|||
|
||||
[Opening a blob URL in a new window by clicking an <a> tag works immediately before revoking the URL.]
|
||||
expected: TIMEOUT
|
||||
|
||||
[Fetching a blob URL immediately before revoking it works in <script> tags.]
|
||||
expected: TIMEOUT
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
[idb-binary-key-detached.htm]
|
||||
expected: CRASH
|
2702
tests/wpt/meta/MANIFEST.json
vendored
2702
tests/wpt/meta/MANIFEST.json
vendored
File diff suppressed because it is too large
Load diff
55
tests/wpt/meta/content-security-policy/parsing/invalid-bytes.html.ini
vendored
Normal file
55
tests/wpt/meta/content-security-policy/parsing/invalid-bytes.html.ini
vendored
Normal file
|
@ -0,0 +1,55 @@
|
|||
[invalid-bytes.html]
|
||||
expected: TIMEOUT
|
||||
[CSP: "img-src 'none'\\x01" should allow rendering (Invalid directive ignored).]
|
||||
expected: TIMEOUT
|
||||
|
||||
[CSP: "img-src 'none' http:\\x01" should allow rendering (Invalid directive ignored).]
|
||||
expected: NOTRUN
|
||||
|
||||
[CSP: "img-src 'self'\\x01" should allow rendering (Invalid directive ignored).]
|
||||
expected: NOTRUN
|
||||
|
||||
[CSP: "img-src 'none'; media-src 'self'\\x01" should block rendering.]
|
||||
expected: NOTRUN
|
||||
|
||||
[CSP: "img-src 'self'; media-src 'self'\\x01" should allow rendering.]
|
||||
expected: NOTRUN
|
||||
|
||||
[CSP: "img-src 'self', img-src 'self'\\x01" should allow rendering.]
|
||||
expected: NOTRUN
|
||||
|
||||
[CSP: "img-src 'none', img-src 'self'\\x01" should block rendering.]
|
||||
expected: NOTRUN
|
||||
|
||||
[CSP: "img-src 'self', img-src\\x01" should allow rendering.]
|
||||
expected: NOTRUN
|
||||
|
||||
[CSP: "img-src 'none', img-src\\x01" should block rendering.]
|
||||
expected: NOTRUN
|
||||
|
||||
[CSP: "img-src 'none'\\x7f" should allow rendering (Invalid directive ignored).]
|
||||
expected: NOTRUN
|
||||
|
||||
[CSP: "img-src 'none' http:\\x7f" should allow rendering (Invalid directive ignored).]
|
||||
expected: NOTRUN
|
||||
|
||||
[CSP: "img-src 'self'\\x7f" should allow rendering (Invalid directive ignored).]
|
||||
expected: NOTRUN
|
||||
|
||||
[CSP: "img-src 'none'; media-src 'self'\\x7f" should block rendering.]
|
||||
expected: NOTRUN
|
||||
|
||||
[CSP: "img-src 'self'; media-src 'self'\\x7f" should allow rendering.]
|
||||
expected: NOTRUN
|
||||
|
||||
[CSP: "img-src 'self', img-src 'self'\\x7f" should allow rendering.]
|
||||
expected: NOTRUN
|
||||
|
||||
[CSP: "img-src 'none', img-src 'self'\\x7f" should block rendering.]
|
||||
expected: NOTRUN
|
||||
|
||||
[CSP: "img-src 'self', img-src\\x7f" should allow rendering.]
|
||||
expected: NOTRUN
|
||||
|
||||
[CSP: "img-src 'none', img-src\\x7f" should block rendering.]
|
||||
expected: NOTRUN
|
|
@ -0,0 +1,36 @@
|
|||
[script-url-allowed-by-hash.https.html]
|
||||
[script-src should allow script by its url hash - header]
|
||||
expected: FAIL
|
||||
|
||||
[A parseable url-hash should ignore hostname allowlists - header]
|
||||
expected: FAIL
|
||||
|
||||
[default-src should allow script by its url hash - header]
|
||||
expected: FAIL
|
||||
|
||||
[script-src-elem should allow script by its url hash - header]
|
||||
expected: FAIL
|
||||
|
||||
[url hashes should allow dynamically inserted script if allowlisted - header]
|
||||
expected: FAIL
|
||||
|
||||
[url hashes should allow redirected scripts - header]
|
||||
expected: FAIL
|
||||
|
||||
[script-src should allow script by its url hash - metatag]
|
||||
expected: FAIL
|
||||
|
||||
[A parseable url-hash should ignore hostname allowlists - metatag]
|
||||
expected: FAIL
|
||||
|
||||
[default-src should allow script by its url hash - metatag]
|
||||
expected: FAIL
|
||||
|
||||
[script-src-elem should allow script by its url hash - metatag]
|
||||
expected: FAIL
|
||||
|
||||
[url hashes should allow dynamically inserted script if allowlisted - metatag]
|
||||
expected: FAIL
|
||||
|
||||
[url hashes should allow redirected scripts - metatag]
|
||||
expected: FAIL
|
|
@ -0,0 +1,6 @@
|
|||
[url-hash-in-header-and-meta.https.html]
|
||||
[more lax meta tag should still allow script]
|
||||
expected: FAIL
|
||||
|
||||
[multiple meta tags should apply most strict policy - both lax]
|
||||
expected: FAIL
|
|
@ -0,0 +1,4 @@
|
|||
[eval-allowed-by-hash.sub.html]
|
||||
expected: ERROR
|
||||
[Expecting alerts: ["PASS (1 of 2)","PASS (2 of 2)"\]]
|
||||
expected: FAIL
|
|
@ -0,0 +1,9 @@
|
|||
[eval-hashes-override-unsafe-eval.sub.html]
|
||||
[Expecting logs: ["PASS EvalError","PASS EvalError", "violated-directive=script-src"\]]
|
||||
expected: FAIL
|
||||
|
||||
[eval-blocked]
|
||||
expected: FAIL
|
||||
|
||||
[eval-blocked 1]
|
||||
expected: FAIL
|
18
tests/wpt/meta/cookies/prefix/__HostHttp.https.tentative.html.ini
vendored
Normal file
18
tests/wpt/meta/cookies/prefix/__HostHttp.https.tentative.html.ini
vendored
Normal file
|
@ -0,0 +1,18 @@
|
|||
[__HostHttp.https.tentative.html]
|
||||
[__HostHttp: Does not set via DOM 'Secure; Path=/']
|
||||
expected: FAIL
|
||||
|
||||
[__HostHttp: Does not set via DOM with Domain attribute 'Secure; Path=/; Domain=web-platform.test']
|
||||
expected: FAIL
|
||||
|
||||
[__HostHttp: Does not set via HTTP with 'Secure; Path=/']
|
||||
expected: FAIL
|
||||
|
||||
[__HostHttp: Does not set via HTTP with 'Secure; Path=/cookies/; httponly']
|
||||
expected: FAIL
|
||||
|
||||
[__HostHttp: Does not set via HTTP with 'Path=/;' (without Secure)]
|
||||
expected: FAIL
|
||||
|
||||
[__HostHttp: Does not set via HTTP with Domain attribute 'Secure; Path=/; Domain=web-platform.test']
|
||||
expected: FAIL
|
12
tests/wpt/meta/cookies/prefix/__Http.https.tentative.html.ini
vendored
Normal file
12
tests/wpt/meta/cookies/prefix/__Http.https.tentative.html.ini
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
[__Http.https.tentative.html]
|
||||
[__Http: Does not set via DOM 'Path=/']
|
||||
expected: FAIL
|
||||
|
||||
[__Http: Does not set via DOM 'Secure; Path=/']
|
||||
expected: FAIL
|
||||
|
||||
[__Http: Does not set via HTTP with 'Path=/;' (without Secure)]
|
||||
expected: FAIL
|
||||
|
||||
[__Http: Does not set via HTTP with 'Secure; Path=/']
|
||||
expected: FAIL
|
|
@ -0,0 +1,3 @@
|
|||
[animation-trigger-behavior-computed.tentative.html]
|
||||
[Property animation-trigger-behavior value 'once, repeat, alternate, state']
|
||||
expected: FAIL
|
21
tests/wpt/meta/css/css-animations/parsing/animation-trigger-behavior-valid.tentative.html.ini
vendored
Normal file
21
tests/wpt/meta/css/css-animations/parsing/animation-trigger-behavior-valid.tentative.html.ini
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
[animation-trigger-behavior-valid.tentative.html]
|
||||
[e.style['animation-trigger-behavior'\] = "once" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['animation-trigger-behavior'\] = "repeat" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['animation-trigger-behavior'\] = "alternate" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['animation-trigger-behavior'\] = "state" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['animation-trigger-behavior'\] = "once, repeat" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['animation-trigger-behavior'\] = "once, repeat, alternate" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['animation-trigger-behavior'\] = "once, repeat, alternate, state" should set the property value]
|
||||
expected: FAIL
|
|
@ -268,3 +268,39 @@
|
|||
|
||||
[Property animation-trigger value 'view() once']
|
||||
expected: FAIL
|
||||
|
||||
[e.style['animation-trigger'\] = "view() once contain 0% contain 100% cover 0% cover 100%" should set animation-trigger-behavior]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['animation-trigger'\] = "view() once contain 20% contain 80% cover 10% cover 90%" should set animation-trigger-behavior]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['animation-trigger'\] = "view() once contain 0% contain 100% cover 0%" should set animation-trigger-behavior]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['animation-trigger'\] = "view() once contain 20% contain 80% cover 10%" should set animation-trigger-behavior]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['animation-trigger'\] = "view() once contain 0% contain 100% cover" should set animation-trigger-behavior]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['animation-trigger'\] = "view() alternate contain 0% contain 100%" should set animation-trigger-behavior]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['animation-trigger'\] = "view() alternate contain 20% contain 80%" should set animation-trigger-behavior]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['animation-trigger'\] = "view() alternate contain 0%" should set animation-trigger-behavior]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['animation-trigger'\] = "view() alternate contain 10%" should set animation-trigger-behavior]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['animation-trigger'\] = "view() alternate contain" should set animation-trigger-behavior]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['animation-trigger'\] = "view() alternate" should set animation-trigger-behavior]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['animation-trigger'\] = "repeat" should set animation-trigger-behavior]
|
||||
expected: FAIL
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
[animation-trigger-type-computed.tentative.html]
|
||||
[Property animation-trigger-type value 'once, repeat, alternate, state']
|
||||
expected: FAIL
|
|
@ -1,21 +0,0 @@
|
|||
[animation-trigger-type-valid.tentative.html]
|
||||
[e.style['animation-trigger-type'\] = "once" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['animation-trigger-type'\] = "repeat" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['animation-trigger-type'\] = "alternate" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['animation-trigger-type'\] = "state" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['animation-trigger-type'\] = "once, repeat" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['animation-trigger-type'\] = "once, repeat, alternate" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['animation-trigger-type'\] = "once, repeat, alternate, state" should set the property value]
|
||||
expected: FAIL
|
2
tests/wpt/meta/css/css-borders/corner-shape/corner-shape-iframe-border.html.ini
vendored
Normal file
2
tests/wpt/meta/css/css-borders/corner-shape/corner-shape-iframe-border.html.ini
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
[corner-shape-iframe-border.html]
|
||||
expected: FAIL
|
2
tests/wpt/meta/css/css-borders/corner-shape/corner-shape-img-border.html.ini
vendored
Normal file
2
tests/wpt/meta/css/css-borders/corner-shape/corner-shape-img-border.html.ini
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
[corner-shape-img-border.html]
|
||||
expected: FAIL
|
2
tests/wpt/meta/css/css-borders/corner-shape/corner-shape-svg-border.html.ini
vendored
Normal file
2
tests/wpt/meta/css/css-borders/corner-shape/corner-shape-svg-border.html.ini
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
[corner-shape-svg-border.html]
|
||||
expected: FAIL
|
2
tests/wpt/meta/css/css-borders/corner-shape/corner-shape-video-border.html.ini
vendored
Normal file
2
tests/wpt/meta/css/css-borders/corner-shape/corner-shape-video-border.html.ini
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
[corner-shape-video-border.html]
|
||||
expected: FAIL
|
2
tests/wpt/meta/css/css-borders/tentative/border-shape/border-shape-clips-background.html.ini
vendored
Normal file
2
tests/wpt/meta/css/css-borders/tentative/border-shape/border-shape-clips-background.html.ini
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
[border-shape-clips-background.html]
|
||||
expected: FAIL
|
2
tests/wpt/meta/css/css-borders/tentative/border-shape/border-shape-inner-outer.html.ini
vendored
Normal file
2
tests/wpt/meta/css/css-borders/tentative/border-shape/border-shape-inner-outer.html.ini
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
[border-shape-inner-outer.html]
|
||||
expected: FAIL
|
18
tests/wpt/meta/css/css-borders/tentative/parsing/border-shape-computed.html.ini
vendored
Normal file
18
tests/wpt/meta/css/css-borders/tentative/parsing/border-shape-computed.html.ini
vendored
Normal file
|
@ -0,0 +1,18 @@
|
|||
[border-shape-computed.html]
|
||||
[Property border-shape value 'none']
|
||||
expected: FAIL
|
||||
|
||||
[Property border-shape value 'circle()']
|
||||
expected: FAIL
|
||||
|
||||
[Property border-shape value 'polygon(10px 10px, 100px 10px, 10px 100px)']
|
||||
expected: FAIL
|
||||
|
||||
[Property border-shape value 'shape(from 0px 0px, hline to 100px, vline to 100px, close)']
|
||||
expected: FAIL
|
||||
|
||||
[Property border-shape value 'circle() circle()']
|
||||
expected: FAIL
|
||||
|
||||
[Property border-shape value 'circle() polygon(10px 10px, 100px 10px, 10px 100px)']
|
||||
expected: FAIL
|
18
tests/wpt/meta/css/css-borders/tentative/parsing/border-shape-valid.html.ini
vendored
Normal file
18
tests/wpt/meta/css/css-borders/tentative/parsing/border-shape-valid.html.ini
vendored
Normal file
|
@ -0,0 +1,18 @@
|
|||
[border-shape-valid.html]
|
||||
[e.style['border-shape'\] = "none" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['border-shape'\] = "circle()" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['border-shape'\] = "polygon(10px 10px, 100px 10px, 10px 100px)" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['border-shape'\] = "shape(from 0px 0px, hline to 100px, vline to 100px, close)" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['border-shape'\] = "circle() circle()" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['border-shape'\] = "circle() polygon(10px 10px, 100px 10px, 10px 100px)" should set the property value]
|
||||
expected: FAIL
|
|
@ -661,3 +661,6 @@
|
|||
|
||||
[e.style['color'\] = "oklch(10% 20 -700)" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['color'\] = "light-dark(black, white)" should set the property value]
|
||||
expected: FAIL
|
||||
|
|
|
@ -1,2 +1,12 @@
|
|||
[align-items-baseline-column-horz.html]
|
||||
expected: FAIL
|
||||
[#target > div 1]
|
||||
expected: FAIL
|
||||
|
||||
[#target > div 2]
|
||||
expected: FAIL
|
||||
|
||||
[#target > div 3]
|
||||
expected: FAIL
|
||||
|
||||
[#target > div 5]
|
||||
expected: FAIL
|
||||
|
|
|
@ -1,2 +1,6 @@
|
|||
[align-items-baseline-column-vert.html]
|
||||
expected: FAIL
|
||||
[#target > div 2]
|
||||
expected: FAIL
|
||||
|
||||
[#target > div 3]
|
||||
expected: FAIL
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
[align-items-baseline-row-horz.html]
|
||||
expected: FAIL
|
|
@ -1,2 +1,15 @@
|
|||
[align-items-baseline-row-vert.html]
|
||||
expected: FAIL
|
||||
[#target > div 1]
|
||||
expected: FAIL
|
||||
|
||||
[#target > div 2]
|
||||
expected: FAIL
|
||||
|
||||
[#target > div 3]
|
||||
expected: FAIL
|
||||
|
||||
[#target > div 4]
|
||||
expected: FAIL
|
||||
|
||||
[#target > div 5]
|
||||
expected: FAIL
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
[font-variant-caps-invalidation-container-sizing.html]
|
||||
expected: FAIL
|
33
tests/wpt/meta/css/css-grid/alignment/self-baseline/grid-self-baseline-two-dimensional.html.ini
vendored
Normal file
33
tests/wpt/meta/css/css-grid/alignment/self-baseline/grid-self-baseline-two-dimensional.html.ini
vendored
Normal file
|
@ -0,0 +1,33 @@
|
|||
[grid-self-baseline-two-dimensional.html]
|
||||
[.grid 1]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 2]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 3]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 4]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 5]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 6]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 7]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 8]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 9]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 11]
|
||||
expected: FAIL
|
||||
|
||||
[.grid 12]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[masonry-item-placement-001.html]
|
||||
expected: FAIL
|
12
tests/wpt/meta/css/css-grid/parsing/grid-template-columns-repeat-auto-valid.tentative.html.ini
vendored
Normal file
12
tests/wpt/meta/css/css-grid/parsing/grid-template-columns-repeat-auto-valid.tentative.html.ini
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
[grid-template-columns-repeat-auto-valid.tentative.html]
|
||||
[e.style['grid-template-columns'\] = "repeat(auto-fill, auto)" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['grid-template-columns'\] = "repeat(auto-fit, auto 100px auto)" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['grid-template-columns'\] = "repeat(auto-fill, minmax(30px, 5fr) [two\] auto)" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['grid-template-columns'\] = "repeat(auto-fit, [three\] auto [four\])" should set the property value]
|
||||
expected: FAIL
|
12
tests/wpt/meta/css/css-grid/parsing/grid-template-rows-repeat-auto-valid.tentative.html.ini
vendored
Normal file
12
tests/wpt/meta/css/css-grid/parsing/grid-template-rows-repeat-auto-valid.tentative.html.ini
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
[grid-template-rows-repeat-auto-valid.tentative.html]
|
||||
[e.style['grid-template-rows'\] = "repeat(auto-fill, auto)" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['grid-template-rows'\] = "repeat(auto-fit, auto 100px auto)" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['grid-template-rows'\] = "repeat(auto-fill, minmax(30px, 5fr) [two\] auto)" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['grid-template-rows'\] = "repeat(auto-fit, [three\] auto [four\])" should set the property value]
|
||||
expected: FAIL
|
|
@ -40,3 +40,21 @@
|
|||
|
||||
[if() no cycle in overridden argument]
|
||||
expected: FAIL
|
||||
|
||||
[CSS-wide keywords are interpreted locally (initial)]
|
||||
expected: FAIL
|
||||
|
||||
[CSS-wide keywords are interpreted locally (inherit)]
|
||||
expected: FAIL
|
||||
|
||||
[CSS-wide keywords are interpreted locally (guaranteed-invalid, initial)]
|
||||
expected: FAIL
|
||||
|
||||
[CSS-wide keywords are interpreted locally (guaranteed-invalid, unset)]
|
||||
expected: FAIL
|
||||
|
||||
[CSS-wide keywords are interpreted locally (revert)]
|
||||
expected: FAIL
|
||||
|
||||
[CSS-wide keywords are interpreted locally (revert-layer)]
|
||||
expected: FAIL
|
||||
|
|
21
tests/wpt/meta/css/css-mixins/parameter-types.tentative.html.ini
vendored
Normal file
21
tests/wpt/meta/css/css-mixins/parameter-types.tentative.html.ini
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
[parameter-types.tentative.html]
|
||||
[A parameter retains its type]
|
||||
expected: FAIL
|
||||
|
||||
[A parameter type acts as a local registration]
|
||||
expected: FAIL
|
||||
|
||||
[A parameter retains its type (parent stack frame)]
|
||||
expected: FAIL
|
||||
|
||||
[A parameter type acts as a local registration (parent stack frame)]
|
||||
expected: FAIL
|
||||
|
||||
[Universally typed parameter can shadow other parameters]
|
||||
expected: FAIL
|
||||
|
||||
[Invalid value for typed local becomes IACVT]
|
||||
expected: FAIL
|
||||
|
||||
[if() within @function can query registered custom property]
|
||||
expected: FAIL
|
3
tests/wpt/meta/css/css-overflow/scroll-button-elementFromPoint.html.ini
vendored
Normal file
3
tests/wpt/meta/css/css-overflow/scroll-button-elementFromPoint.html.ini
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
[scroll-button-elementFromPoint.html]
|
||||
[CSS Overflow: elementFromPoint for ::scroll-button is scroller]
|
||||
expected: FAIL
|
|
@ -85,3 +85,15 @@
|
|||
|
||||
[Property list-style-type value 'decimal' in ::marker]
|
||||
expected: FAIL
|
||||
|
||||
[Property animation-range value 'contain 10px cover 20px' in ::marker]
|
||||
expected: FAIL
|
||||
|
||||
[Property animation-range-start value 'contain 10px' in ::marker]
|
||||
expected: FAIL
|
||||
|
||||
[Property animation-range-end value 'cover 20px' in ::marker]
|
||||
expected: FAIL
|
||||
|
||||
[Property animation-timeline value 'scroll()' in ::marker]
|
||||
expected: FAIL
|
||||
|
|
|
@ -958,3 +958,51 @@
|
|||
|
||||
[Web Animations: property <text-underline-offset> from [0%\] to [100%\] at (1) should be [100%\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions: property <text-underline-offset> from [16px\] to [200%\] at (0.3) should be [calc(60% + 11.2px)\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions with transition: all: property <text-underline-offset> from [16px\] to [200%\] at (0.3) should be [calc(60% + 11.2px)\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Animations: property <text-underline-offset> from [16px\] to [200%\] at (0.3) should be [calc(60% + 11.2px)\]]
|
||||
expected: FAIL
|
||||
|
||||
[Web Animations: property <text-underline-offset> from [16px\] to [200%\] at (0.3) should be [calc(60% + 11.2px)\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions: property <text-underline-offset> from [100%\] to [32px\] at (0.3) should be [calc(70% + 9.6px)\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions: property <text-underline-offset> from [100%\] to [32px\] at (0.6) should be [calc(40% + 19.2px)\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions: property <text-underline-offset> from [100%\] to [32px\] at (1) should be [calc(0% + 32px)\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions with transition: all: property <text-underline-offset> from [100%\] to [32px\] at (0.3) should be [calc(70% + 9.6px)\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions with transition: all: property <text-underline-offset> from [100%\] to [32px\] at (0.6) should be [calc(40% + 19.2px)\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions with transition: all: property <text-underline-offset> from [100%\] to [32px\] at (1) should be [calc(0% + 32px)\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Animations: property <text-underline-offset> from [100%\] to [32px\] at (0.3) should be [calc(70% + 9.6px)\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Animations: property <text-underline-offset> from [100%\] to [32px\] at (0.6) should be [calc(40% + 19.2px)\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Animations: property <text-underline-offset> from [100%\] to [32px\] at (1) should be [calc(0% + 32px)\]]
|
||||
expected: FAIL
|
||||
|
||||
[Web Animations: property <text-underline-offset> from [100%\] to [32px\] at (0.3) should be [calc(70% + 9.6px)\]]
|
||||
expected: FAIL
|
||||
|
||||
[Web Animations: property <text-underline-offset> from [100%\] to [32px\] at (0.6) should be [calc(40% + 19.2px)\]]
|
||||
expected: FAIL
|
||||
|
||||
[Web Animations: property <text-underline-offset> from [100%\] to [32px\] at (1) should be [calc(0% + 32px)\]]
|
||||
expected: FAIL
|
||||
|
|
2
tests/wpt/meta/css/css-text/white-space/text-wrap-balance-line-clamp-002.html.ini
vendored
Normal file
2
tests/wpt/meta/css/css-text/white-space/text-wrap-balance-line-clamp-002.html.ini
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
[text-wrap-balance-line-clamp-002.html]
|
||||
expected: FAIL
|
2
tests/wpt/meta/css/css-text/white-space/text-wrap-balance-line-clamp-003.html.ini
vendored
Normal file
2
tests/wpt/meta/css/css-text/white-space/text-wrap-balance-line-clamp-003.html.ini
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
[text-wrap-balance-line-clamp-003.html]
|
||||
expected: FAIL
|
2
tests/wpt/meta/css/css-text/white-space/text-wrap-balance-line-clamp-004.html.ini
vendored
Normal file
2
tests/wpt/meta/css/css-text/white-space/text-wrap-balance-line-clamp-004.html.ini
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
[text-wrap-balance-line-clamp-004.html]
|
||||
expected: FAIL
|
2
tests/wpt/meta/css/css-ui/caret-shape-block-color-001.html.ini
vendored
Normal file
2
tests/wpt/meta/css/css-ui/caret-shape-block-color-001.html.ini
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
[caret-shape-block-color-001.html]
|
||||
expected: FAIL
|
2
tests/wpt/meta/css/css-ui/caret-shape-block-color-002.tentative.html.ini
vendored
Normal file
2
tests/wpt/meta/css/css-ui/caret-shape-block-color-002.tentative.html.ini
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
[caret-shape-block-color-002.tentative.html]
|
||||
expected: FAIL
|
2
tests/wpt/meta/css/css-ui/caret-shape-block-color-003.tentative.html.ini
vendored
Normal file
2
tests/wpt/meta/css/css-ui/caret-shape-block-color-003.tentative.html.ini
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
[caret-shape-block-color-003.tentative.html]
|
||||
expected: FAIL
|
9
tests/wpt/meta/css/css-variables/var-ident-function.html.ini
vendored
Normal file
9
tests/wpt/meta/css/css-variables/var-ident-function.html.ini
vendored
Normal file
|
@ -0,0 +1,9 @@
|
|||
[var-ident-function.html]
|
||||
[Referencing a custom property with ident()]
|
||||
expected: FAIL
|
||||
|
||||
[ident() causing lookup of invalid custom property, fallback]
|
||||
expected: FAIL
|
||||
|
||||
[ident() causing lookup of invalid custom property, fallback, CSS-wide keyword]
|
||||
expected: FAIL
|
12
tests/wpt/meta/css/cssom-view/scrollParent-shadow-tree.html.ini
vendored
Normal file
12
tests/wpt/meta/css/cssom-view/scrollParent-shadow-tree.html.ini
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
[scrollParent-shadow-tree.html]
|
||||
[scrollParent skips intermediate closed shadow tree nodes]
|
||||
expected: FAIL
|
||||
|
||||
[scrollParent skips intermediate open shadow tree nodes]
|
||||
expected: FAIL
|
||||
|
||||
[scrollParent from inside closed shadow tree]
|
||||
expected: FAIL
|
||||
|
||||
[scrollParent from inside open shadow tree]
|
||||
expected: FAIL
|
27
tests/wpt/meta/css/cssom-view/scrollParent.html.ini
vendored
Normal file
27
tests/wpt/meta/css/cssom-view/scrollParent.html.ini
vendored
Normal file
|
@ -0,0 +1,27 @@
|
|||
[scrollParent.html]
|
||||
[scrollParent returns the nearest scroll container.]
|
||||
expected: FAIL
|
||||
|
||||
[hidden element is a scroll container.]
|
||||
expected: FAIL
|
||||
|
||||
[Element with no box has null scrollParent.]
|
||||
expected: FAIL
|
||||
|
||||
[scrollParent follows absolute positioned containing block chain.]
|
||||
expected: FAIL
|
||||
|
||||
[scrollParent follows fixed positioned containing block chain.]
|
||||
expected: FAIL
|
||||
|
||||
[scrollParent of element fixed to root is null.]
|
||||
expected: FAIL
|
||||
|
||||
[scrollParent of child in root viewport returns document scrolling element.]
|
||||
expected: FAIL
|
||||
|
||||
[scrollParent of fixed element contained within root is document scrolling element.]
|
||||
expected: FAIL
|
||||
|
||||
[scrollParent of body is null.]
|
||||
expected: FAIL
|
|
@ -1,3 +1,6 @@
|
|||
[ElementInternals-validation.html]
|
||||
[Custom control affects :valid :invalid for FORM and FIELDSET]
|
||||
expected: FAIL
|
||||
|
||||
["anchor" argument of setValidity(): passing self]
|
||||
expected: FAIL
|
||||
|
|
|
@ -4,3 +4,9 @@
|
|||
|
||||
[innerHTML on an inserted element should continue to use the scoped registry it was created with]
|
||||
expected: FAIL
|
||||
|
||||
[nested descendants in innerHTML on a disconnected element should use the scoped registry the element was created with]
|
||||
expected: FAIL
|
||||
|
||||
[innerHTML on a disconnected element should use the scoped registry it was created with when parsing a simple HTML]
|
||||
expected: FAIL
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
[Node-cloneNode-document-allow-declarative-shadow-roots.window.html]
|
||||
[cloneNode() and document's allow declarative shadow roots]
|
||||
expected: FAIL
|
|
@ -47,8 +47,5 @@
|
|||
[sec-fetch-storage-access - Not sent to non-trustworthy same-origin destination]
|
||||
expected: FAIL
|
||||
|
||||
[sec-fetch-storage-access - Not sent to non-trustworthy cross-site destination]
|
||||
expected: FAIL
|
||||
|
||||
[sec-fetch-storage-access - Not sent to non-trustworthy same-site destination]
|
||||
expected: FAIL
|
||||
|
|
3
tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/009.html.ini
vendored
Normal file
3
tests/wpt/meta/html/browsers/browsing-the-web/navigating-across-documents/009.html.ini
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
[009.html]
|
||||
[Link with onclick form submit to javascript url with document.write and href navigation ]
|
||||
expected: FAIL
|
|
@ -4,3 +4,6 @@
|
|||
|
||||
[link click]
|
||||
expected: FAIL
|
||||
|
||||
[form submission]
|
||||
expected: FAIL
|
||||
|
|
|
@ -13,6 +13,3 @@
|
|||
|
||||
[load & pageshow events do not fire on contentWindow of <iframe> element created with src='about:blank']
|
||||
expected: FAIL
|
||||
|
||||
[load & pageshow events do not fire on contentWindow of <iframe> element created with src='']
|
||||
expected: FAIL
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
[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 @@
|
|||
[a-click.html]
|
||||
[aElement.click() before the load event must NOT replace]
|
||||
expected: FAIL
|
|
@ -1,3 +0,0 @@
|
|||
[traverse_the_history_5.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
2
tests/wpt/meta/html/canvas/element/manual/text/canvas.2d.disconnected.html.ini
vendored
Normal file
2
tests/wpt/meta/html/canvas/element/manual/text/canvas.2d.disconnected.html.ini
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
[canvas.2d.disconnected.html]
|
||||
expected: FAIL
|
|
@ -7,7 +7,7 @@
|
|||
expected: NOTRUN
|
||||
|
||||
[Element with tabindex should support autofocus]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[Area element should support autofocus]
|
||||
expected: NOTRUN
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
[update-the-rendering.html]
|
||||
expected: TIMEOUT
|
||||
["Flush autofocus candidates" should be happen before a scroll event and animation frame callbacks]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[iframe_sandbox_popups_escaping-1.html]
|
||||
expected: TIMEOUT
|
||||
expected: CRASH
|
||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||
expected: TIMEOUT
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[iframe_sandbox_popups_nonescaping-1.html]
|
||||
expected: TIMEOUT
|
||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||
expected: NOTRUN
|
||||
expected: FAIL
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[iframe_sandbox_popups_nonescaping-3.html]
|
||||
expected: TIMEOUT
|
||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||
expected: NOTRUN
|
||||
expected: FAIL
|
||||
|
|
|
@ -2,3 +2,6 @@
|
|||
expected: TIMEOUT
|
||||
[object's typemustmatch content attribute should not be supported]
|
||||
expected: TIMEOUT
|
||||
|
||||
[object's codebase content attribute should not be supported]
|
||||
expected: TIMEOUT
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
[form-submit-dialog-shadow.html]
|
||||
[<form method=dialog> should not submit across shadow boundaries.]
|
||||
expected: FAIL
|
|
@ -7,3 +7,12 @@
|
|||
|
||||
[Checkable menuitems can still invoke menulist popovers]
|
||||
expected: FAIL
|
||||
|
||||
[Menuitem with toggle-popover, show-popover, hide-popover commands can invoke menulist popover.]
|
||||
expected: FAIL
|
||||
|
||||
[Menuitem with toggle-menu, show-menu, hide-menu commands can invoke menulist popover.]
|
||||
expected: FAIL
|
||||
|
||||
[hidePopover() on menulist closes the popover.]
|
||||
expected: FAIL
|
||||
|
|
4
tests/wpt/meta/html/semantics/permission-element/display-values.tentative.html.ini
vendored
Normal file
4
tests/wpt/meta/html/semantics/permission-element/display-values.tentative.html.ini
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
[display-values.tentative.html]
|
||||
expected: TIMEOUT
|
||||
[Permission element display style validation]
|
||||
expected: TIMEOUT
|
3
tests/wpt/meta/html/semantics/popovers/popovertarget-disabled-fieldset.html.ini
vendored
Normal file
3
tests/wpt/meta/html/semantics/popovers/popovertarget-disabled-fieldset.html.ini
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
[popovertarget-disabled-fieldset.html]
|
||||
[Disabled fieldset ancestor should prevent popovertarget/command behavior.]
|
||||
expected: FAIL
|
|
@ -29,26 +29,26 @@
|
|||
[InterestEvent interface: new InterestEvent("interest") must inherit property "source" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[HTMLAnchorElement interface: attribute interestTargetElement]
|
||||
[HTMLAnchorElement interface: attribute interestForElement]
|
||||
expected: FAIL
|
||||
|
||||
[HTMLAnchorElement interface: document.createElement("a") must inherit property "interestTargetElement" with the proper type]
|
||||
[HTMLAnchorElement interface: document.createElement("a") must inherit property "interestForElement" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[HTMLAreaElement interface: attribute interestTargetElement]
|
||||
[HTMLAreaElement interface: attribute interestForElement]
|
||||
expected: FAIL
|
||||
|
||||
[HTMLAreaElement interface: document.createElement("area") must inherit property "interestTargetElement" with the proper type]
|
||||
[HTMLAreaElement interface: document.createElement("area") must inherit property "interestForElement" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[HTMLButtonElement interface: attribute interestTargetElement]
|
||||
[HTMLButtonElement interface: attribute interestForElement]
|
||||
expected: FAIL
|
||||
|
||||
[HTMLButtonElement interface: document.createElement("button") must inherit property "interestTargetElement" with the proper type]
|
||||
[HTMLButtonElement interface: document.createElement("button") must inherit property "interestForElement" with the proper type]
|
||||
expected: FAIL
|
||||
|
||||
[SVGAElement interface: attribute interestTargetElement]
|
||||
[SVGAElement interface: attribute interestForElement]
|
||||
expected: FAIL
|
||||
|
||||
[SVGAElement interface: document.createElementNS("http://www.w3.org/2000/svg", "a") must inherit property "interestTargetElement" with the proper type]
|
||||
[SVGAElement interface: document.createElementNS("http://www.w3.org/2000/svg", "a") must inherit property "interestForElement" with the proper type]
|
||||
expected: FAIL
|
|
@ -0,0 +1,18 @@
|
|||
[interestelement-interface.tentative.html]
|
||||
[interestForElement reflects interestee HTML element]
|
||||
expected: FAIL
|
||||
|
||||
[interestForElement reflects set value]
|
||||
expected: FAIL
|
||||
|
||||
[interestForElement reflects set value across shadow root into light dom]
|
||||
expected: FAIL
|
||||
|
||||
[interestForElement does not reflect set value inside shadowroot]
|
||||
expected: FAIL
|
||||
|
||||
[interestForElement does not reflect invalid value]
|
||||
expected: FAIL
|
||||
|
||||
[interestForElement throws error on assignment of non Element]
|
||||
expected: FAIL
|
|
@ -0,0 +1,204 @@
|
|||
[interestfor-css-properties.tentative.html]
|
||||
[Property interest-show-delay value '0s']
|
||||
expected: FAIL
|
||||
|
||||
[Property interest-show-delay value '0ms']
|
||||
expected: FAIL
|
||||
|
||||
[Property interest-show-delay value '32s']
|
||||
expected: FAIL
|
||||
|
||||
[Property interest-show-delay value '123ms']
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-show-delay'\] = "0s" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-show-delay'\] = "0ms" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-show-delay'\] = "32s" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-show-delay'\] = "123ms" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-show-delay'\] = "inherit" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-show-delay'\] = "calc(2s * sibling-index())" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions: property <interest-show-delay> from [1s\] to [2000ms\] at (-1.5) should be [0s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions: property <interest-show-delay> from [1s\] to [2000ms\] at (-0.3) should be [0.7s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions: property <interest-show-delay> from [1s\] to [2000ms\] at (0) should be [1s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions: property <interest-show-delay> from [1s\] to [2000ms\] at (0.5) should be [1.5s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions: property <interest-show-delay> from [1s\] to [2000ms\] at (1) should be [2s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions: property <interest-show-delay> from [1s\] to [2000ms\] at (1.5) should be [2.5s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions with transition: all: property <interest-show-delay> from [1s\] to [2000ms\] at (-1.5) should be [0s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions with transition: all: property <interest-show-delay> from [1s\] to [2000ms\] at (-0.3) should be [0.7s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions with transition: all: property <interest-show-delay> from [1s\] to [2000ms\] at (0) should be [1s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions with transition: all: property <interest-show-delay> from [1s\] to [2000ms\] at (0.5) should be [1.5s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions with transition: all: property <interest-show-delay> from [1s\] to [2000ms\] at (1) should be [2s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions with transition: all: property <interest-show-delay> from [1s\] to [2000ms\] at (1.5) should be [2.5s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Animations: property <interest-show-delay> from [1s\] to [2000ms\] at (-1.5) should be [0s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Animations: property <interest-show-delay> from [1s\] to [2000ms\] at (-0.3) should be [0.7s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Animations: property <interest-show-delay> from [1s\] to [2000ms\] at (0) should be [1s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Animations: property <interest-show-delay> from [1s\] to [2000ms\] at (0.5) should be [1.5s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Animations: property <interest-show-delay> from [1s\] to [2000ms\] at (1) should be [2s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Animations: property <interest-show-delay> from [1s\] to [2000ms\] at (1.5) should be [2.5s\]]
|
||||
expected: FAIL
|
||||
|
||||
[Web Animations: property <interest-show-delay> from [1s\] to [2000ms\] at (-1.5) should be [0s\]]
|
||||
expected: FAIL
|
||||
|
||||
[Web Animations: property <interest-show-delay> from [1s\] to [2000ms\] at (-0.3) should be [0.7s\]]
|
||||
expected: FAIL
|
||||
|
||||
[Web Animations: property <interest-show-delay> from [1s\] to [2000ms\] at (0) should be [1s\]]
|
||||
expected: FAIL
|
||||
|
||||
[Web Animations: property <interest-show-delay> from [1s\] to [2000ms\] at (0.5) should be [1.5s\]]
|
||||
expected: FAIL
|
||||
|
||||
[Web Animations: property <interest-show-delay> from [1s\] to [2000ms\] at (1) should be [2s\]]
|
||||
expected: FAIL
|
||||
|
||||
[Web Animations: property <interest-show-delay> from [1s\] to [2000ms\] at (1.5) should be [2.5s\]]
|
||||
expected: FAIL
|
||||
|
||||
[Property interest-hide-delay value '0s']
|
||||
expected: FAIL
|
||||
|
||||
[Property interest-hide-delay value '0ms']
|
||||
expected: FAIL
|
||||
|
||||
[Property interest-hide-delay value '32s']
|
||||
expected: FAIL
|
||||
|
||||
[Property interest-hide-delay value '123ms']
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-hide-delay'\] = "0s" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-hide-delay'\] = "0ms" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-hide-delay'\] = "32s" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-hide-delay'\] = "123ms" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-hide-delay'\] = "inherit" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-hide-delay'\] = "calc(2s * sibling-index())" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions: property <interest-hide-delay> from [1s\] to [2000ms\] at (-1.5) should be [0s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions: property <interest-hide-delay> from [1s\] to [2000ms\] at (-0.3) should be [0.7s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions: property <interest-hide-delay> from [1s\] to [2000ms\] at (0) should be [1s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions: property <interest-hide-delay> from [1s\] to [2000ms\] at (0.5) should be [1.5s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions: property <interest-hide-delay> from [1s\] to [2000ms\] at (1) should be [2s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions: property <interest-hide-delay> from [1s\] to [2000ms\] at (1.5) should be [2.5s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions with transition: all: property <interest-hide-delay> from [1s\] to [2000ms\] at (-1.5) should be [0s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions with transition: all: property <interest-hide-delay> from [1s\] to [2000ms\] at (-0.3) should be [0.7s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions with transition: all: property <interest-hide-delay> from [1s\] to [2000ms\] at (0) should be [1s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions with transition: all: property <interest-hide-delay> from [1s\] to [2000ms\] at (0.5) should be [1.5s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions with transition: all: property <interest-hide-delay> from [1s\] to [2000ms\] at (1) should be [2s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions with transition: all: property <interest-hide-delay> from [1s\] to [2000ms\] at (1.5) should be [2.5s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Animations: property <interest-hide-delay> from [1s\] to [2000ms\] at (-1.5) should be [0s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Animations: property <interest-hide-delay> from [1s\] to [2000ms\] at (-0.3) should be [0.7s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Animations: property <interest-hide-delay> from [1s\] to [2000ms\] at (0) should be [1s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Animations: property <interest-hide-delay> from [1s\] to [2000ms\] at (0.5) should be [1.5s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Animations: property <interest-hide-delay> from [1s\] to [2000ms\] at (1) should be [2s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Animations: property <interest-hide-delay> from [1s\] to [2000ms\] at (1.5) should be [2.5s\]]
|
||||
expected: FAIL
|
||||
|
||||
[Web Animations: property <interest-hide-delay> from [1s\] to [2000ms\] at (-1.5) should be [0s\]]
|
||||
expected: FAIL
|
||||
|
||||
[Web Animations: property <interest-hide-delay> from [1s\] to [2000ms\] at (-0.3) should be [0.7s\]]
|
||||
expected: FAIL
|
||||
|
||||
[Web Animations: property <interest-hide-delay> from [1s\] to [2000ms\] at (0) should be [1s\]]
|
||||
expected: FAIL
|
||||
|
||||
[Web Animations: property <interest-hide-delay> from [1s\] to [2000ms\] at (0.5) should be [1.5s\]]
|
||||
expected: FAIL
|
||||
|
||||
[Web Animations: property <interest-hide-delay> from [1s\] to [2000ms\] at (1) should be [2s\]]
|
||||
expected: FAIL
|
||||
|
||||
[Web Animations: property <interest-hide-delay> from [1s\] to [2000ms\] at (1.5) should be [2.5s\]]
|
||||
expected: FAIL
|
|
@ -0,0 +1,27 @@
|
|||
[interestfor-css-shorthands.tentative.html]
|
||||
[e.style['interest-delay'\] = "0.23s 450ms" should set interest-hide-delay]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-delay'\] = "0.23s 450ms" should set interest-show-delay]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-delay'\] = "0.23s 450ms" should not set unrelated longhands]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-delay'\] = "0.23s" should set interest-hide-delay]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-delay'\] = "0.23s" should set interest-show-delay]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-delay'\] = "0.23s" should not set unrelated longhands]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-delay'\] = "450ms" should set interest-hide-delay]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-delay'\] = "450ms" should set interest-show-delay]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-delay'\] = "450ms" should not set unrelated longhands]
|
||||
expected: FAIL
|
|
@ -1,39 +0,0 @@
|
|||
[interestelement-interface.tentative.html]
|
||||
[interestTargetElement reflects interestee HTML element]
|
||||
expected: FAIL
|
||||
|
||||
[interestTargetElement reflects set value]
|
||||
expected: FAIL
|
||||
|
||||
[interestTargetElement reflects set value across shadow root into light dom]
|
||||
expected: FAIL
|
||||
|
||||
[interestTargetElement does not reflect set value inside shadowroot]
|
||||
expected: FAIL
|
||||
|
||||
[interestTargetElement does not reflect invalid value]
|
||||
expected: FAIL
|
||||
|
||||
[interestTargetElement throws error on assignment of non Element]
|
||||
expected: FAIL
|
||||
|
||||
[interestAction reflects '' when attribute not present]
|
||||
expected: FAIL
|
||||
|
||||
[interestAction reflects '' when attribute empty, setAttribute version]
|
||||
expected: FAIL
|
||||
|
||||
[interestAction reflects '' when attribute empty, IDL setter version]
|
||||
expected: FAIL
|
||||
|
||||
[interestAction reflects same casing]
|
||||
expected: FAIL
|
||||
|
||||
[interestAction reflects '' when attribute set to [\]]
|
||||
expected: FAIL
|
||||
|
||||
[interestAction reflects tostring value]
|
||||
expected: FAIL
|
||||
|
||||
[interestAction reflects tostring value 2]
|
||||
expected: FAIL
|
|
@ -1,204 +0,0 @@
|
|||
[interesttarget-css-properties.tentative.html]
|
||||
[Property interest-target-show-delay value '0s']
|
||||
expected: FAIL
|
||||
|
||||
[Property interest-target-show-delay value '0ms']
|
||||
expected: FAIL
|
||||
|
||||
[Property interest-target-show-delay value '32s']
|
||||
expected: FAIL
|
||||
|
||||
[Property interest-target-show-delay value '123ms']
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-target-show-delay'\] = "0s" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-target-show-delay'\] = "0ms" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-target-show-delay'\] = "32s" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-target-show-delay'\] = "123ms" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-target-show-delay'\] = "inherit" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions: property <interest-target-show-delay> from [1s\] to [2000ms\] at (-1.5) should be [0s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions: property <interest-target-show-delay> from [1s\] to [2000ms\] at (-0.3) should be [0.7s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions: property <interest-target-show-delay> from [1s\] to [2000ms\] at (0) should be [1s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions: property <interest-target-show-delay> from [1s\] to [2000ms\] at (0.5) should be [1.5s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions: property <interest-target-show-delay> from [1s\] to [2000ms\] at (1) should be [2s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions: property <interest-target-show-delay> from [1s\] to [2000ms\] at (1.5) should be [2.5s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions with transition: all: property <interest-target-show-delay> from [1s\] to [2000ms\] at (-1.5) should be [0s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions with transition: all: property <interest-target-show-delay> from [1s\] to [2000ms\] at (-0.3) should be [0.7s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions with transition: all: property <interest-target-show-delay> from [1s\] to [2000ms\] at (0) should be [1s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions with transition: all: property <interest-target-show-delay> from [1s\] to [2000ms\] at (0.5) should be [1.5s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions with transition: all: property <interest-target-show-delay> from [1s\] to [2000ms\] at (1) should be [2s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions with transition: all: property <interest-target-show-delay> from [1s\] to [2000ms\] at (1.5) should be [2.5s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Animations: property <interest-target-show-delay> from [1s\] to [2000ms\] at (-1.5) should be [0s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Animations: property <interest-target-show-delay> from [1s\] to [2000ms\] at (-0.3) should be [0.7s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Animations: property <interest-target-show-delay> from [1s\] to [2000ms\] at (0) should be [1s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Animations: property <interest-target-show-delay> from [1s\] to [2000ms\] at (0.5) should be [1.5s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Animations: property <interest-target-show-delay> from [1s\] to [2000ms\] at (1) should be [2s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Animations: property <interest-target-show-delay> from [1s\] to [2000ms\] at (1.5) should be [2.5s\]]
|
||||
expected: FAIL
|
||||
|
||||
[Web Animations: property <interest-target-show-delay> from [1s\] to [2000ms\] at (-1.5) should be [0s\]]
|
||||
expected: FAIL
|
||||
|
||||
[Web Animations: property <interest-target-show-delay> from [1s\] to [2000ms\] at (-0.3) should be [0.7s\]]
|
||||
expected: FAIL
|
||||
|
||||
[Web Animations: property <interest-target-show-delay> from [1s\] to [2000ms\] at (0) should be [1s\]]
|
||||
expected: FAIL
|
||||
|
||||
[Web Animations: property <interest-target-show-delay> from [1s\] to [2000ms\] at (0.5) should be [1.5s\]]
|
||||
expected: FAIL
|
||||
|
||||
[Web Animations: property <interest-target-show-delay> from [1s\] to [2000ms\] at (1) should be [2s\]]
|
||||
expected: FAIL
|
||||
|
||||
[Web Animations: property <interest-target-show-delay> from [1s\] to [2000ms\] at (1.5) should be [2.5s\]]
|
||||
expected: FAIL
|
||||
|
||||
[Property interest-target-hide-delay value '0s']
|
||||
expected: FAIL
|
||||
|
||||
[Property interest-target-hide-delay value '0ms']
|
||||
expected: FAIL
|
||||
|
||||
[Property interest-target-hide-delay value '32s']
|
||||
expected: FAIL
|
||||
|
||||
[Property interest-target-hide-delay value '123ms']
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-target-hide-delay'\] = "0s" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-target-hide-delay'\] = "0ms" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-target-hide-delay'\] = "32s" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-target-hide-delay'\] = "123ms" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-target-hide-delay'\] = "inherit" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions: property <interest-target-hide-delay> from [1s\] to [2000ms\] at (-1.5) should be [0s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions: property <interest-target-hide-delay> from [1s\] to [2000ms\] at (-0.3) should be [0.7s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions: property <interest-target-hide-delay> from [1s\] to [2000ms\] at (0) should be [1s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions: property <interest-target-hide-delay> from [1s\] to [2000ms\] at (0.5) should be [1.5s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions: property <interest-target-hide-delay> from [1s\] to [2000ms\] at (1) should be [2s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions: property <interest-target-hide-delay> from [1s\] to [2000ms\] at (1.5) should be [2.5s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions with transition: all: property <interest-target-hide-delay> from [1s\] to [2000ms\] at (-1.5) should be [0s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions with transition: all: property <interest-target-hide-delay> from [1s\] to [2000ms\] at (-0.3) should be [0.7s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions with transition: all: property <interest-target-hide-delay> from [1s\] to [2000ms\] at (0) should be [1s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions with transition: all: property <interest-target-hide-delay> from [1s\] to [2000ms\] at (0.5) should be [1.5s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions with transition: all: property <interest-target-hide-delay> from [1s\] to [2000ms\] at (1) should be [2s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Transitions with transition: all: property <interest-target-hide-delay> from [1s\] to [2000ms\] at (1.5) should be [2.5s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Animations: property <interest-target-hide-delay> from [1s\] to [2000ms\] at (-1.5) should be [0s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Animations: property <interest-target-hide-delay> from [1s\] to [2000ms\] at (-0.3) should be [0.7s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Animations: property <interest-target-hide-delay> from [1s\] to [2000ms\] at (0) should be [1s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Animations: property <interest-target-hide-delay> from [1s\] to [2000ms\] at (0.5) should be [1.5s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Animations: property <interest-target-hide-delay> from [1s\] to [2000ms\] at (1) should be [2s\]]
|
||||
expected: FAIL
|
||||
|
||||
[CSS Animations: property <interest-target-hide-delay> from [1s\] to [2000ms\] at (1.5) should be [2.5s\]]
|
||||
expected: FAIL
|
||||
|
||||
[Web Animations: property <interest-target-hide-delay> from [1s\] to [2000ms\] at (-1.5) should be [0s\]]
|
||||
expected: FAIL
|
||||
|
||||
[Web Animations: property <interest-target-hide-delay> from [1s\] to [2000ms\] at (-0.3) should be [0.7s\]]
|
||||
expected: FAIL
|
||||
|
||||
[Web Animations: property <interest-target-hide-delay> from [1s\] to [2000ms\] at (0) should be [1s\]]
|
||||
expected: FAIL
|
||||
|
||||
[Web Animations: property <interest-target-hide-delay> from [1s\] to [2000ms\] at (0.5) should be [1.5s\]]
|
||||
expected: FAIL
|
||||
|
||||
[Web Animations: property <interest-target-hide-delay> from [1s\] to [2000ms\] at (1) should be [2s\]]
|
||||
expected: FAIL
|
||||
|
||||
[Web Animations: property <interest-target-hide-delay> from [1s\] to [2000ms\] at (1.5) should be [2.5s\]]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-target-show-delay'\] = "calc(2s * sibling-index())" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-target-hide-delay'\] = "calc(2s * sibling-index())" should set the property value]
|
||||
expected: FAIL
|
|
@ -1,27 +0,0 @@
|
|||
[interesttarget-css-shorthands.tentative.html]
|
||||
[e.style['interest-target-delay'\] = "0.23s 450ms" should set interest-target-hide-delay]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-target-delay'\] = "0.23s 450ms" should set interest-target-show-delay]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-target-delay'\] = "0.23s 450ms" should not set unrelated longhands]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-target-delay'\] = "0.23s" should set interest-target-hide-delay]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-target-delay'\] = "0.23s" should set interest-target-show-delay]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-target-delay'\] = "0.23s" should not set unrelated longhands]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-target-delay'\] = "450ms" should set interest-target-hide-delay]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-target-delay'\] = "450ms" should set interest-target-show-delay]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['interest-target-delay'\] = "450ms" should not set unrelated longhands]
|
||||
expected: FAIL
|
|
@ -0,0 +1,30 @@
|
|||
[promise-job-detached-iframe.html]
|
||||
[Reaction job should be skipped if onFulfilled handler belongs to detached iframe]
|
||||
expected: FAIL
|
||||
|
||||
[Reaction job should be skipped if onRejected handler belongs to detached iframe]
|
||||
expected: FAIL
|
||||
|
||||
[Thenable job for fulfilled promise should be skipped if it belongs to detached iframe]
|
||||
expected: FAIL
|
||||
|
||||
[Thenable job for rejected promise should be skipped if it belongs to detached iframe]
|
||||
expected: FAIL
|
||||
|
||||
[Thenable job created by reaction job for fulfillment should be skipped if it belongs to detached iframe]
|
||||
expected: FAIL
|
||||
|
||||
[Thenable job created by reaction job for rejection should be skipped if it belongs to detached iframe]
|
||||
expected: FAIL
|
||||
|
||||
[Thenable job created by Promise.all should be skipped if it belongs to detached iframe]
|
||||
expected: FAIL
|
||||
|
||||
[Thenable job created by Promise.allSettled should be skipped if it belongs to detached iframe]
|
||||
expected: FAIL
|
||||
|
||||
[Thenable job created by Promise.any should be skipped if it belongs to detached iframe]
|
||||
expected: FAIL
|
||||
|
||||
[Thenable job created by Promise.race should be skipped if it belongs to detached iframe]
|
||||
expected: FAIL
|
|
@ -19,3 +19,12 @@
|
|||
|
||||
[Reload fetchStart > Original fetchStart]
|
||||
expected: FAIL
|
||||
|
||||
[Reload domComplete > Original domComplete]
|
||||
expected: FAIL
|
||||
|
||||
[Reload loadEventEnd > Original loadEventEnd]
|
||||
expected: FAIL
|
||||
|
||||
[Reload loadEventStart > Original loadEventStart]
|
||||
expected: FAIL
|
||||
|
|
|
@ -59,9 +59,6 @@
|
|||
[Decode-error (script): main]
|
||||
expected: FAIL
|
||||
|
||||
[success (style): main]
|
||||
expected: FAIL
|
||||
|
||||
[CORS (style): main]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -74,11 +71,11 @@
|
|||
[404 (xhr): main]
|
||||
expected: FAIL
|
||||
|
||||
[Decode-error (style): main]
|
||||
expected: FAIL
|
||||
|
||||
[CORS (xhr): main]
|
||||
expected: FAIL
|
||||
|
||||
[success (xhr): main]
|
||||
expected: FAIL
|
||||
|
||||
[MIME-error (script): main]
|
||||
expected: FAIL
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
[eventloop.html]
|
||||
[test0: multiple notifications inside same event loop]
|
||||
expected: FAIL
|
|
@ -1,10 +1,10 @@
|
|||
[document-initiated.html]
|
||||
expected: ERROR
|
||||
expected: TIMEOUT
|
||||
[Ensure initiator Attribute matches with Document ResourceID]
|
||||
expected: TIMEOUT
|
||||
|
||||
[initiatorUrl by main html file]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[initiatorUrl for resource by document.write()]
|
||||
expected: NOTRUN
|
||||
expected: FAIL
|
||||
|
|
|
@ -97,3 +97,9 @@
|
|||
|
||||
[<area>: Setting <sc:space ?query#fragment>.hash = '']
|
||||
expected: FAIL
|
||||
|
||||
[<a>: Setting <https://domain.com:3000>.port = '\n\n\t\t']
|
||||
expected: FAIL
|
||||
|
||||
[<area>: Setting <https://domain.com:3000>.port = '\n\n\t\t']
|
||||
expected: FAIL
|
||||
|
|
6
tests/wpt/meta/url/url-setters.any.js.ini
vendored
6
tests/wpt/meta/url/url-setters.any.js.ini
vendored
|
@ -47,6 +47,9 @@
|
|||
[URL: Setting <sc:space ?query#fragment>.hash = '']
|
||||
expected: FAIL
|
||||
|
||||
[URL: Setting <https://domain.com:3000>.port = '\n\n\t\t']
|
||||
expected: FAIL
|
||||
|
||||
|
||||
[url-setters.any.worker.html?include=javascript]
|
||||
|
||||
|
@ -117,6 +120,9 @@
|
|||
[URL: Setting <sc:space ?query#fragment>.hash = '']
|
||||
expected: FAIL
|
||||
|
||||
[URL: Setting <https://domain.com:3000>.port = '\n\n\t\t']
|
||||
expected: FAIL
|
||||
|
||||
|
||||
[url-setters.any.worker.html?include=mailto]
|
||||
|
||||
|
|
|
@ -853,3 +853,12 @@
|
|||
|
||||
[X Stitched sine-wave buffers at sample rate 43800 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.0038986,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[14650\]\t-2.2120763400440616e-29\t8.6956524848937988e-1\t8.6956524848937988e-1\t1.0000000000000000e+0\t3.8985999999999999e-3\n\t[14651\]\t3.0547976493835449e-1\t8.9879405498504639e-1\t5.9331429004669189e-1\t6.6012262403823208e-1\t3.8985999999999999e-3\n\tMax AbsError of 8.6956524848937988e-1 at index of 14650.\n\tMax RelError of 1.0000000000000000e+0 at index of 14650.\n]
|
||||
expected: FAIL
|
||||
|
||||
[X Stitched sine-wave buffers at sample rate 43800 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.0038986,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[14650\]\t2.5623218861657151e-39\t8.6956524848937988e-1\t8.6956524848937988e-1\t1.0000000000000000e+0\t3.8985999999999999e-3\n\t[14651\]\t3.0547976493835449e-1\t8.9879405498504639e-1\t5.9331429004669189e-1\t6.6012262403823208e-1\t3.8985999999999999e-3\n\tMax AbsError of 8.6956524848937988e-1 at index of 14650.\n\tMax RelError of 1.0000000000000000e+0 at index of 14650.\n]
|
||||
expected: FAIL
|
||||
|
||||
[X Stitched sine-wave buffers at sample rate 43800 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.0038986,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[14650\]\t6.8471753038465977e-3\t8.6956524848937988e-1\t8.6271807318553329e-1\t9.9212574868218162e-1\t3.8985999999999999e-3\n\t[14651\]\t3.0547976493835449e-1\t8.9879405498504639e-1\t5.9331429004669189e-1\t6.6012262403823208e-1\t3.8985999999999999e-3\n\tMax AbsError of 8.6271807318553329e-1 at index of 14650.\n\tMax RelError of 9.9212574868218162e-1 at index of 14650.\n]
|
||||
expected: FAIL
|
||||
|
||||
[X SNR (43.01174226188182 dB) is not greater than or equal to 65.737. Got 43.01174226188182.]
|
||||
expected: FAIL
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
[audioparam-setValueCurveAtTime.html]
|
||||
expected: ERROR
|
||||
[X Discontinuity at index is not equal to 1323. Got 1325.]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -121,3 +122,6 @@
|
|||
|
||||
[# AUDIT TASK RUNNER FINISHED: 1 out of 1 tasks were failed.]
|
||||
expected: FAIL
|
||||
|
||||
[AudioParam.setValueCurveAtTime() reproduces the expected waveform]
|
||||
expected: TIMEOUT
|
||||
|
|
|
@ -10,3 +10,9 @@
|
|||
|
||||
[# AUDIT TASK RUNNER FINISHED: 1 out of 10 tasks were failed.]
|
||||
expected: FAIL
|
||||
|
||||
[DelayNode]
|
||||
expected: FAIL
|
||||
|
||||
[DynamicsCompressorNode]
|
||||
expected: FAIL
|
||||
|
|
4
tests/wpt/meta/webmessaging/with-ports/018.html.ini
vendored
Normal file
4
tests/wpt/meta/webmessaging/with-ports/018.html.ini
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
[018.html]
|
||||
expected: TIMEOUT
|
||||
[origin of the script that invoked the method, javascript:]
|
||||
expected: TIMEOUT
|
|
@ -1,24 +1,12 @@
|
|||
<!doctype html>
|
||||
<meta charset=utf-8>
|
||||
<title>IndexedDB: Detached buffers supplied as binary keys</title>
|
||||
<meta name="help" href="http://w3c.github.io/IndexedDB/#convert-a-value-to-a-key">
|
||||
<meta name="help" href="https://webidl.spec.whatwg.org/#dfn-get-buffer-source-copy">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="resources/support.js"></script>
|
||||
<script>
|
||||
// META: title= IndexedDB: Detached buffers supplied as binary keys
|
||||
// META: global=window,worker
|
||||
// META: script=resources/support.js
|
||||
|
||||
function createDetachedArrayBuffer() {
|
||||
const array = new Uint8Array([1,2,3,4]);
|
||||
const buffer = array.buffer;
|
||||
assert_equals(array.byteLength, 4);
|
||||
// Specs:
|
||||
// http://w3c.github.io/IndexedDB/#convert-a-value-to-a-key
|
||||
// https://webidl.spec.whatwg.org/#dfn-get-buffer-source-copy
|
||||
|
||||
// Detach the ArrayBuffer by transferring it to a worker.
|
||||
const worker = new Worker(URL.createObjectURL(new Blob([])));
|
||||
worker.postMessage('', [buffer]);
|
||||
assert_equals(array.byteLength, 0);
|
||||
return array;
|
||||
}
|
||||
"use strict";
|
||||
|
||||
indexeddb_test(
|
||||
(t, db) => { db.createObjectStore('store'); },
|
||||
|
@ -48,5 +36,3 @@ indexeddb_test(
|
|||
},
|
||||
'Detached TypedArrays must throw DataError when used as a key'
|
||||
);
|
||||
|
||||
</script>
|
|
@ -5,23 +5,36 @@
|
|||
'use strict';
|
||||
|
||||
async_test(t => {
|
||||
const open_rq = createdb(t, undefined, 9);
|
||||
const delete_rq = indexedDB.deleteDatabase('db-that-doesnt-exist');
|
||||
delete_rq.onerror = fail(t, 'delete_rq.error');
|
||||
delete_rq.onsuccess = t.step_func(e => {
|
||||
assert_equals(e.oldVersion, 0, 'event.oldVersion');
|
||||
assert_equals(e.target.source, null, 'event.target.source');
|
||||
});
|
||||
|
||||
const open_rq = createdb(t, undefined, 9);
|
||||
open_rq.onupgradeneeded = t.step_func(e => {});
|
||||
open_rq.onsuccess = t.step_func(e => {
|
||||
const db = e.target.result;
|
||||
db.close();
|
||||
|
||||
const delete_rq = indexedDB.deleteDatabase(db.name);
|
||||
delete_rq.onerror = t.step_func(e => {
|
||||
assert_unreached('Unexpected delete_rq.error event');
|
||||
});
|
||||
delete_rq.onsuccess = t.step_func(e => {
|
||||
const delete_rq1 = indexedDB.deleteDatabase(db.name);
|
||||
delete_rq1.onerror = fail(t, 'delete_rq1.error');
|
||||
delete_rq1.onsuccess = t.step_func(e => {
|
||||
assert_equals(e.oldVersion, 9, 'event.oldVersion');
|
||||
assert_equals(e.target.source, null, 'event.target.source');
|
||||
});
|
||||
|
||||
const delete_rq2 = indexedDB.deleteDatabase(db.name);
|
||||
delete_rq2.onerror = fail(t, 'delete_rq2.error');
|
||||
|
||||
delete_rq2.onsuccess = t.step_func_done(e => {
|
||||
assert_equals(e.oldVersion, 0, 'event.oldVersion');
|
||||
assert_equals(e.target.source, null, 'event.target.source');
|
||||
t.done();
|
||||
});
|
||||
});
|
||||
}, 'deleteDatabase() request should have no source');
|
||||
}, 'deleteDatabase() request should have no source, and deleting a non-existent\
|
||||
database should succeed with oldVersion of 0.');
|
||||
|
||||
async_test(t => {
|
||||
const open_rq = createdb(t, undefined, 9);
|
||||
|
|
|
@ -46,6 +46,15 @@ async function run_test(testCase, transactionMode, direction) {
|
|||
IDBKeyRange.bound(-11, 11), direction);
|
||||
let results = await iterateAndReturnAllCursorResult(testCase, cursor);
|
||||
assert_equals(results.length, 3);
|
||||
// Verify count().
|
||||
await new Promise((resolve, reject) => {
|
||||
const countRequest = txn.objectStore('objectStore').index('index').count();
|
||||
countRequest.onsuccess = testCase.step_func(event => {
|
||||
assert_equals(event.target.result, 3);
|
||||
resolve();
|
||||
});
|
||||
countRequest.onerror = reject;
|
||||
});
|
||||
db.close();
|
||||
}
|
||||
|
||||
|
|
12
tests/wpt/tests/IndexedDB/resources/support.js
vendored
12
tests/wpt/tests/IndexedDB/resources/support.js
vendored
|
@ -238,3 +238,15 @@ async function waitUntilIndexedDBOpenForTesting(rc, dbName, version) {
|
|||
});
|
||||
}, [dbName, version]);
|
||||
}
|
||||
|
||||
// Returns a detached ArrayBuffer by transferring it to a message port.
|
||||
function createDetachedArrayBuffer() {
|
||||
const array = new Uint8Array([1, 2, 3, 4]);
|
||||
const buffer = array.buffer;
|
||||
assert_equals(array.byteLength, 4);
|
||||
|
||||
const channel = new MessageChannel();
|
||||
channel.port1.postMessage('', [buffer]);
|
||||
assert_equals(array.byteLength, 0);
|
||||
return array;
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@ runBfCacheClearTest(
|
|||
{
|
||||
getUrlParams: {
|
||||
clear: "cache",
|
||||
secondOrigin: true,
|
||||
crossSite: true,
|
||||
},
|
||||
targetOrigin: crossSiteOrigin,
|
||||
mode: "iframe",
|
||||
|
|
|
@ -40,7 +40,7 @@ runBfCacheClearTest(
|
|||
{
|
||||
targetOrigin: crossSiteOrigin,
|
||||
getUrlParams: {
|
||||
secondOrigin: true,
|
||||
crossSite: true,
|
||||
clear: "cache",
|
||||
},
|
||||
mode: "iframe",
|
||||
|
|
|
@ -25,7 +25,7 @@ promise_test(test => {
|
|||
const TEST_SITE = {
|
||||
iframe: {
|
||||
cache: true,
|
||||
secondOrigin: true,
|
||||
crossSite: true,
|
||||
}
|
||||
}
|
||||
return testCacheClear(test, [TEST_SITE, CLEAR_ORIGIN_CACHE, TEST_SITE], assert_equals);
|
||||
|
@ -38,7 +38,7 @@ promise_test(test => {
|
|||
const CLEAR_ORIGIN_CACHE = {
|
||||
iframe: {
|
||||
clear: "cache",
|
||||
secondOrigin: true,
|
||||
crossSite: true,
|
||||
}
|
||||
}
|
||||
return testCacheClear(test, [TEST_SITE, CLEAR_ORIGIN_CACHE, TEST_SITE], assert_equals);
|
||||
|
@ -55,13 +55,13 @@ promise_test(test => {
|
|||
promise_test(test => {
|
||||
const TEST_SITE = {
|
||||
iframe: {
|
||||
secondOrigin: true,
|
||||
crossSite: true,
|
||||
cache: true,
|
||||
}
|
||||
}
|
||||
const TEST_SITE_CLEAR_IFRAME = {
|
||||
iframe: {
|
||||
secondOrigin: true,
|
||||
crossSite: true,
|
||||
clear: "all",
|
||||
}
|
||||
}
|
||||
|
@ -73,7 +73,7 @@ promise_test(test => {
|
|||
cache: true
|
||||
};
|
||||
const TEST_SITE_CLEAR_IFRAME = {
|
||||
secondOrigin: true,
|
||||
crossSite: true,
|
||||
iframe: {
|
||||
clear: "cache",
|
||||
}
|
||||
|
@ -83,7 +83,7 @@ promise_test(test => {
|
|||
|
||||
promise_test(test => {
|
||||
const TEST_SITE = {
|
||||
secondOrigin: true,
|
||||
crossSite: true,
|
||||
iframe: {
|
||||
cache: true,
|
||||
}
|
||||
|
@ -98,7 +98,7 @@ promise_test(test => {
|
|||
promise_test(test => {
|
||||
const TEST_SITE = {
|
||||
iframe: {
|
||||
secondOrigin: true,
|
||||
crossSite: true,
|
||||
iframe: {
|
||||
cache: true,
|
||||
}
|
||||
|
@ -114,7 +114,7 @@ promise_test(test => {
|
|||
|
||||
const TEST_CLEAR_IFRAME_IFRAME = {
|
||||
iframe: {
|
||||
secondOrigin: true,
|
||||
crossSite: true,
|
||||
iframe: {
|
||||
clear: "cache",
|
||||
}
|
||||
|
@ -126,7 +126,7 @@ promise_test(test => {
|
|||
promise_test(test => {
|
||||
const TEST_SITE = {
|
||||
iframe: {
|
||||
secondOrigin: true,
|
||||
crossSite: true,
|
||||
iframe: {
|
||||
cache: true,
|
||||
}
|
||||
|
@ -135,7 +135,7 @@ promise_test(test => {
|
|||
|
||||
const TEST_CLEAR_IFRAME_IFRAME = {
|
||||
iframe: {
|
||||
secondOrigin: true,
|
||||
crossSite: true,
|
||||
iframe: {
|
||||
clear: "cache",
|
||||
}
|
||||
|
|
|
@ -111,6 +111,38 @@ promise_test(test => {
|
|||
return testCacheClear(test, [TEST_SITE, TEST_SITE_CLEAR, TEST_SITE], assert_not_equals);
|
||||
}, "clear all: Clear document in intermediate load");
|
||||
|
||||
promise_test(test => {
|
||||
const TEST_SITE = {
|
||||
response: "html_embed_image",
|
||||
};
|
||||
const TEST_SITE_CLEAR = {
|
||||
clear: "cache",
|
||||
};
|
||||
return testCacheClear(test, [TEST_SITE, TEST_SITE_CLEAR, TEST_SITE], assert_not_equals);
|
||||
}, "clear cache: Image-Cache gets cleared");
|
||||
|
||||
promise_test(test => {
|
||||
const TEST_SITE_INITAL = {
|
||||
response: "html_embed_css",
|
||||
};
|
||||
const TEST_SITE_FINAL = {
|
||||
response: "html_embed_css",
|
||||
clear: "cache",
|
||||
};
|
||||
return testCacheClear(test, [TEST_SITE_INITAL, TEST_SITE_FINAL], assert_not_equals);
|
||||
}, "clear cache: CSS-Cache gets cleared");
|
||||
|
||||
promise_test(test => {
|
||||
const TEST_SITE_INITAL = {
|
||||
response: "html_embed_js",
|
||||
};
|
||||
const TEST_SITE_FINAL = {
|
||||
response: "html_embed_js",
|
||||
clear: "cache",
|
||||
};
|
||||
return testCacheClear(test, [TEST_SITE_INITAL, TEST_SITE_FINAL], assert_not_equals);
|
||||
}, "clear cache: JS-Cache gets cleared");
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -9,16 +9,16 @@ const subdomainOrigin =
|
|||
'https://{{hosts[][www2]}}:{{ports[https][0]}}';
|
||||
const crossSiteOrigin =
|
||||
'https://{{hosts[alt][]}}:{{ports[https][0]}}';
|
||||
const subomdainCrossSiteOrigin =
|
||||
const subdomainCrossSiteOrigin =
|
||||
'https://{{hosts[alt][www2]}}:{{ports[https][0]}}';
|
||||
|
||||
/**
|
||||
* Constructs a url for an intermediate "bounce" hop which represents a tracker.
|
||||
* @param {string} cacheHelper - Unique uuid for this test
|
||||
* @param {*} options - URL generation options.
|
||||
* @param {boolean} [options.second_origin = true] - whether domain should be a different origin
|
||||
* @param {boolean} [options.crossSite = false] - whether domain should be a different site
|
||||
* @param {boolean} [options.subdomain = false] - whether the domain should start with
|
||||
* a different subdomain
|
||||
* a different subdomain to make a request cross origin
|
||||
* @param {boolean} [options.cache = false] - whether the resource should be cacheable
|
||||
* @param {(null|'cache'|'all')} [options.clear] - whether to send the
|
||||
* Clear-Site-Data header.
|
||||
|
@ -31,24 +31,23 @@ const subomdainCrossSiteOrigin =
|
|||
*/
|
||||
function getUrl(cacheHelper, {
|
||||
subdomain = false,
|
||||
secondOrigin = false,
|
||||
crossSite = false,
|
||||
cache = false,
|
||||
clear = null,
|
||||
clearFirst = null,
|
||||
response = "single_html",
|
||||
iframe = null,
|
||||
}) {
|
||||
let url = "https://";
|
||||
if (subdomain && secondOrigin) {
|
||||
url += "{{hosts[alt][www2]}}";
|
||||
} else if (subdomain) { // && !second_origin
|
||||
url += "{{hosts[][www2]}}";
|
||||
} else if (secondOrigin) { // && !subdomain
|
||||
url += "{{hosts[alt][]}}";
|
||||
} else { // !second_origin && !subdomain
|
||||
url += "{{hosts[][]}}";
|
||||
let url;
|
||||
if (subdomain && crossSite) {
|
||||
url = subdomainCrossSiteOrigin;
|
||||
} else if (subdomain) { // && !crossSite
|
||||
url = subdomainOrigin;
|
||||
} else if (crossSite) { // && !subdomain
|
||||
url = crossSiteOrigin;
|
||||
} else { // !crossSite && !subdomain
|
||||
url = sameOrigin;
|
||||
}
|
||||
url += ":{{ports[https][0]}}";
|
||||
url += "/clear-site-data/support/clear-site-data-cache.py";
|
||||
url = new URL(url);
|
||||
let params = new URLSearchParams();
|
||||
|
|
|
@ -3,12 +3,50 @@ Loaded in Step 2/4/Optional 6 (/clear-site-data/clear-cache.https.html)
|
|||
Sending Message for Step 3/5/Optional 7 (/clear-site-data/clear-cache.https.html)
|
||||
"""
|
||||
import uuid
|
||||
import random
|
||||
|
||||
def generate_png(width, height, color=(0, 0, 0)):
|
||||
import zlib
|
||||
import struct
|
||||
def chunk(chunk_type, data):
|
||||
return (
|
||||
struct.pack(">I", len(data)) +
|
||||
chunk_type +
|
||||
data +
|
||||
struct.pack(">I", zlib.crc32(chunk_type + data) & 0xffffffff)
|
||||
)
|
||||
|
||||
# PNG signature
|
||||
png = b"\x89PNG\r\n\x1a\n"
|
||||
|
||||
# IHDR chunk
|
||||
ihdr = struct.pack(">IIBBBBB", width, height, 8, 2, 0, 0, 0)
|
||||
png += chunk(b'IHDR', ihdr)
|
||||
|
||||
# IDAT chunk: RGB pixels
|
||||
row = b'\x00' + bytes(color * width)
|
||||
raw = row * height
|
||||
idat = zlib.compress(raw)
|
||||
png += chunk(b'IDAT', idat)
|
||||
|
||||
# IEND chunk
|
||||
png += chunk(b'IEND', b'')
|
||||
return png
|
||||
|
||||
def main(request, response):
|
||||
# type of response:
|
||||
# - "single_html": Main page html file with a different postMessage uuid on each response
|
||||
# - "json": Json that always responds with a different uuid in a single-element array
|
||||
# - "html_embed_json": Main page html that embeds a cachable version of the above json
|
||||
# - General purpose: returns random uuid or forwards uuid from iframe
|
||||
# - "single_html": Main page html file with a different postMessage uuid on each response
|
||||
# - Pages for simple testing normal http cache:
|
||||
# - "json": Json that always responds with a different uuid in a single-element array
|
||||
# - "html_embed_json": Main page html that embeds a cachable version of the above json
|
||||
# - Pages for testing specialized caches
|
||||
# - "image": Image that returns random dimensions up to 1024x1024 each time
|
||||
# - "html_embed_image": Main page html that embeds a cachable version of the above image
|
||||
# - "css": Style sheet with random uuid variable
|
||||
# - "html_embed_css": Main page html that embeds a cachable version of the above css
|
||||
# - "js": Script that returns a different uuid each time
|
||||
# - "html_embed_js": Main page html that embeds a cachable version of the above js file
|
||||
response_type = request.GET.first(b"response")
|
||||
|
||||
cache_helper = request.GET.first(b"cache_helper")
|
||||
|
@ -26,6 +64,12 @@ def main(request, response):
|
|||
headers = []
|
||||
if response_type == b"json":
|
||||
headers += [(b"Content-Type", b"application/json")]
|
||||
elif response_type == b"image":
|
||||
headers += [(b"Content-Type", b"image/png")]
|
||||
elif response_type == b"css":
|
||||
headers += [(b"Content-Type", b"text/css")]
|
||||
elif response_type == b"js":
|
||||
headers += [(b"Content-Type", b"text/javascript")]
|
||||
else:
|
||||
headers += [(b"Content-Type", b"text/html")]
|
||||
|
||||
|
@ -96,6 +140,63 @@ def main(request, response):
|
|||
{request.url}<br>
|
||||
{url}
|
||||
</body>'''
|
||||
|
||||
elif response_type == b"image":
|
||||
# send uniquely sized images, because that info can be retrived from html and definitly using the image cache
|
||||
# helper for below "html_embed_image"
|
||||
content = generate_png(random.randint(1, 1024), random.randint(1, 1024))
|
||||
elif response_type == b"html_embed_image":
|
||||
urls = [request.url_parts.path + "?response=image&cache&cache_helper=" + cache_helper.decode() + "&img=" + str(i) for i in range(2)]
|
||||
content = f'''
|
||||
<!DOCTYPE html>
|
||||
<script>
|
||||
addEventListener("load", () => {{
|
||||
let img1 = document.getElementById("randomess1");
|
||||
let img2 = document.getElementById("randomess2");
|
||||
let id = img1.naturalWidth + "x" + img1.naturalHeight;
|
||||
id += "-" + img2.naturalWidth + "x" + img2.naturalHeight
|
||||
window.opener.postMessage(id, "*");
|
||||
window.close();
|
||||
}})
|
||||
</script>
|
||||
<body>
|
||||
{request.url}<br>
|
||||
<img id="randomess1" src="{urls[0]}"></img><br>
|
||||
<img id="randomess2" src="{urls[1]}"></img><br>
|
||||
</body>'''
|
||||
elif response_type == b"css":
|
||||
# send unique UUID. helper for below "html_embed_css"
|
||||
content = f'''
|
||||
:root {{
|
||||
--uuid: "{uuid.uuid4()}"
|
||||
}}'''
|
||||
elif response_type == b"html_embed_css":
|
||||
url = request.url_parts.path + "?response=css&cache&cache_helper=" + cache_helper.decode()
|
||||
content = f'''
|
||||
<!DOCTYPE html>
|
||||
<link rel="stylesheet" href="{url}">
|
||||
<script>
|
||||
let computed = getComputedStyle(document.documentElement);
|
||||
let uuid = computed.getPropertyValue("--uuid").trim().replaceAll('"', '');
|
||||
window.opener.postMessage(uuid, "*");
|
||||
window.close();
|
||||
</script>
|
||||
<body>
|
||||
{request.url}<br>
|
||||
{url}
|
||||
</body>'''
|
||||
elif response_type == b"js":
|
||||
# send unique UUID. helper for below "html_embed_js"
|
||||
content = f'''
|
||||
window.opener.postMessage("{uuid.uuid4()}", "*");
|
||||
window.close();
|
||||
'''
|
||||
elif response_type == b"html_embed_js":
|
||||
url = request.url_parts.path + "?response=js&cache&cache_helper=" + cache_helper.decode()
|
||||
content = f'''
|
||||
<script src="{url}"></script>
|
||||
<body>
|
||||
{request.url}<br>
|
||||
{url}
|
||||
</body>'''
|
||||
|
||||
return 200, headers, content
|
||||
|
|
52
tests/wpt/tests/content-security-policy/parsing/invalid-bytes.html
vendored
Normal file
52
tests/wpt/tests/content-security-policy/parsing/invalid-bytes.html
vendored
Normal file
|
@ -0,0 +1,52 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>Content-Security-Policy Invalid Bytes Parsing Tests</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="./support/helper.sub.js"></script>
|
||||
<body>
|
||||
<script>
|
||||
"use strict";
|
||||
|
||||
// Original source: https://github.com/web-platform-tests/wpt/pull/48855
|
||||
|
||||
// \x01 - \x08, \x0e, \x0f, \x10 - \x1f, \x7f.
|
||||
// In a source expression, non-whitespace characters outside ASCII 0x21-0x7E must be Punycode-encoded, as described in RFC 3492 (https://tools.ietf.org/html/rfc3492), if part of the hostname and percent-encoded, as described in RFC 3986, section 2.1 (http://tools.ietf.org/html/rfc3986#section-2.1), if part of the path.
|
||||
|
||||
var EXPECT_BLOCK = true;
|
||||
var EXPECT_LOAD = false;
|
||||
|
||||
function csp_parsing_test(policy, expectBlock, message) {
|
||||
promise_test(async t => {
|
||||
let iframe = document.createElement("iframe");
|
||||
iframe.src = "/content-security-policy/parsing/support/csp.py?policy=" + encodeURIComponent(policy);
|
||||
document.body.appendChild(iframe);
|
||||
|
||||
let {data} = await new Promise(resolve => window.addEventListener("message", resolve, {once: true}));
|
||||
assert_equals(data, expectBlock ? "error" : "load", "img state is correct");
|
||||
}, message);
|
||||
}
|
||||
|
||||
// \x01
|
||||
csp_parsing_test("img-src 'none'\x01", EXPECT_LOAD, `CSP: "img-src 'none'\\x01" should allow rendering (Invalid directive ignored).`);
|
||||
csp_parsing_test("img-src 'none' http\x01", EXPECT_LOAD, `CSP: "img-src 'none' http:\\x01" should allow rendering (Invalid directive ignored).`);
|
||||
csp_parsing_test("img-src 'self'\x01", EXPECT_LOAD, `CSP: "img-src 'self'\\x01" should allow rendering (Invalid directive ignored).`);
|
||||
csp_parsing_test("img-src 'none'; media-src 'self'\x01", EXPECT_BLOCK, `CSP: "img-src 'none'; media-src 'self'\\x01" should block rendering.`);
|
||||
csp_parsing_test("img-src 'self'; media-src 'self'\x01", EXPECT_LOAD, `CSP: "img-src 'self'; media-src 'self'\\x01" should allow rendering.`);
|
||||
csp_parsing_test("img-src 'self', img-src 'self'\x01", EXPECT_LOAD, `CSP: "img-src 'self', img-src 'self'\\x01" should allow rendering.`);
|
||||
csp_parsing_test("img-src 'none', img-src 'self'\x01", EXPECT_BLOCK, `CSP: "img-src 'none', img-src 'self'\\x01" should block rendering.`);
|
||||
csp_parsing_test("img-src 'self', img-src\x01", EXPECT_LOAD, `CSP: "img-src 'self', img-src\\x01" should allow rendering.`);
|
||||
csp_parsing_test("img-src 'none', img-src\x01", EXPECT_BLOCK, `CSP: "img-src 'none', img-src\\x01" should block rendering.`);
|
||||
|
||||
// \x7f
|
||||
csp_parsing_test("img-src 'none'\x7f", EXPECT_LOAD, `CSP: "img-src 'none'\\x7f" should allow rendering (Invalid directive ignored).`);
|
||||
csp_parsing_test("img-src 'none' http\x7f", EXPECT_LOAD, `CSP: "img-src 'none' http:\\x7f" should allow rendering (Invalid directive ignored).`);
|
||||
csp_parsing_test("img-src 'self'\x7f", EXPECT_LOAD, `CSP: "img-src 'self'\\x7f" should allow rendering (Invalid directive ignored).`);
|
||||
csp_parsing_test("img-src 'none'; media-src 'self'\x7f", EXPECT_BLOCK, `CSP: "img-src 'none'; media-src 'self'\\x7f" should block rendering.`);
|
||||
csp_parsing_test("img-src 'self'; media-src 'self'\x7f", EXPECT_LOAD, `CSP: "img-src 'self'; media-src 'self'\\x7f" should allow rendering.`);
|
||||
csp_parsing_test("img-src 'self', img-src 'self'\x7f", EXPECT_LOAD, `CSP: "img-src 'self', img-src 'self'\\x7f" should allow rendering.`);
|
||||
csp_parsing_test("img-src 'none', img-src 'self'\x7f", EXPECT_BLOCK, `CSP: "img-src 'none', img-src 'self'\\x7f" should block rendering.`);
|
||||
csp_parsing_test("img-src 'self', img-src\x7f", EXPECT_LOAD, `CSP: "img-src 'self', img-src\\x7f" should allow rendering.`);
|
||||
csp_parsing_test("img-src 'none', img-src\x7f", EXPECT_BLOCK, `CSP: "img-src 'none', img-src\\x7f" should block rendering.`);
|
||||
</script>
|
||||
</body>
|
25
tests/wpt/tests/content-security-policy/parsing/support/csp.py
vendored
Normal file
25
tests/wpt/tests/content-security-policy/parsing/support/csp.py
vendored
Normal file
|
@ -0,0 +1,25 @@
|
|||
def main(request, response):
|
||||
csp = request.GET.first(b"policy")
|
||||
headers = [
|
||||
(b"Content-Type", b"text/html"),
|
||||
(b"Content-Security-Policy", csp)
|
||||
]
|
||||
|
||||
body = f"""<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>CSP</title>
|
||||
</head>
|
||||
<body>
|
||||
<p>{csp}</p>
|
||||
<img src="/content-security-policy/support/pass.png" />
|
||||
<script>
|
||||
let img = document.querySelector("img");
|
||||
img.onload = img.onerror = (event) => {{
|
||||
window.parent.postMessage(event.type, '*');
|
||||
}};
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
"""
|
||||
return (headers, body)
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue